Vraag Hoe een GUI-software te starten op een externe Linux-pc via SSH


Soms moet ik de XMBC-mediaspeler of andere GUI-software op een van mijn pc starten (kleine Xubuntu-pc als mediacenter).

Meestal doe ik dit via een X11vnc-server op de externe pc via SSH en dan via een Xvnc-client met de Xfce-desktop.

Is er een manier om een ​​GUI-software te starten op een externe Linux-pc via SSH?

Bedankt!


92
2018-06-08 13:55


oorsprong


Kan bevestigen dat de aanpak in het gekozen antwoord ook werkt als de externe client een Mac is. Met succes werken met macOS Sierra. - Benjamin R


antwoorden:


Ja. Je moet gewoon rennen export DISPLAY=:0 (of hoe het externe display ook is genummerd) in uw ssh-sessie en de programma-run wordt uitgevoerd op het externe display. Een snel voorbeeld:

oli@bert:~$ ssh tim
oli@tim:~$ export DISPLAY=:0
oli@tim:~$ firefox

Firefox draait nu timhet display.

Wanneer u echter uw SSH-sessie sluit, wordt de toepassing op afstand meestal gesloten. Als je de verbinding met ssh wilt verbreken maar de applicatie wilt laten draaien, moet je deze op een speciale manier starten met iets als scherm (houdt de SSsh-sessie op de achtergrond actief) of nohupof een andere methode. Voor meer informatie hierover er was recent nog een vraag over.

U kunt dit alles inkorten tot één commando dat u verbindt, het scherm in-line exporteert en de toepassing start op een manier die het niet sluit nadat de ssh-sessie is gestorven:

ssh tim "DISPLAY=:0 nohup firefox"

115
2018-06-08 15:42



Het zei No DISPLAY: this may not be what you want. toen ik het probeerde (ik probeerde het trouwens van abiword.) ` - PyRulez
@PyRulez Let op de "of hoe de externe weergave als" genummerd is op de eerste regel. Als dit niet de eerste grafische server is, is deze mogelijk: 1 of hoger. Rennen w om te zien wie er is ingelogd en waar. Dat zal u ook het DISPLAY-nummer vertellen. - Oli♦
Ik heb een display 0, en het is het enige display en het is fysiek aan en werkt. - PyRulez
unset DISPLAY - Oli♦
soms wilt u het tegenovergestelde doen en de X-app lokaal uitvoeren door gewoon verbinding te maken met -Y en vervolgens uw app uitvoeren ssh -Y <remoteip> - Postadelmaga