it-swarm.dev

Jak spustit software GUI na vzdáleném počítači se systémem Linux přes SSH

Někdy musím spustit multimediální přehrávač XMBC nebo jiný software GUI na jednom z mých PC (malý Xubuntu PC používaný jako mediální centrum).

Obvykle to dělám spuštěním serveru X11vnc na vzdáleném počítači přes SSH a poté připojením s klientem Xvnc k ploše Xfce.

Existuje způsob, jak spustit software GUI na vzdáleném počítači se systémem Linux přes SSH?

Dík!

114
Raben

Ano. Stačí spustit export DISPLAY=:0 (nebo cokoli, co je vzdálené zobrazení očíslováno jako) ve vaší ssh relaci a spuštěné programy se spustí na vzdáleném displeji. Rychlý příklad:

[email protected]:~$ ssh tim
[email protected]:~$ export DISPLAY=:0
[email protected]:~$ firefox

Firefox nyní běží na displeji tim.

Když však ukončíte relaci ssh, po většinu času se vzdálená aplikace ukončí. Pokud se chcete odpojit od ssh, ale nechat aplikaci spuštěnou, musíte ji spustit speciálním způsobem pomocí něco jako obrazovka (udržuje relaci ssh běžící na pozadí) nebo Nohup, nebo jinou metodou. Pro více informací o tomto tam byla nedávno jiná otázka .

To vše můžete zkrátit na jediný příkaz, který se připojí, exportuje zobrazení do řádku a spouští aplikaci způsobem, který ji nezavře po smrti relace ssh:

ssh tim "DISPLAY=:0 Nohup firefox"
144
Oli

Závisí na tom, kde se má aplikace zobrazit

Zobrazení aplikace na místním počítači

Nejprve ssh do vzdáleného počítače s další -Y a spusťte aplikaci (např. firefox):

ssh -Y ...
firefox

Pokud -Y nefunguje, zkontrolujte, zda jste nakonfigurovali sshd na vzdáleném počítači (viz odpověď Denis Lukinykh). Další podobnou možností je -X. Google pro rozdíly.

Zobrazení aplikace na existující relaci na vzdáleném počítači

Musíte se přihlásit u uživatele A na vzdáleném počítači a nechat relaci otevřenou. Poté můžete ssh se stejným uživatelem A a spustit aplikaci (např. Firefox) takto:

ssh [email protected]
DISPLAY=:0 Nohup firefox

Chcete-li zobrazit aplikaci nikde

Musíte nainstalovat a spustit xvfb. xvfb vytvoří neviditelnou X relaci na DISPLAY 10. Poté spustíte aplikaci, která směruje svůj výstup na tuto DISPLAY:

Sudo apt install xvfb
Sudo Xvfb :10 -ac -screen 0 1024x768x24 &
DISPLAY=:10 firefox
0
ndemou

Proveďte toto nastavení na vzdáleném počítači:

ssh remotehost 'grep -i x11 /etc/ssh/sshd_config'
   X11Forwarding yes
   X11DisplayOffset 10 

Poté můžete spustit aplikaci GUI:

ssh -Y -t remotehost 'Sudo gparted'

nebo

ssh -Y remotehost
Sudo gparted
0
Denis Lukinykh