Question Comment démarrer un logiciel graphique sur un PC Linux distant via SSH


Parfois, je dois démarrer un lecteur multimédia XMBC ou un autre logiciel GUI de mon PC (petit PC Xubuntu utilisé comme centre multimédia).

Je le fais généralement en démarrant un serveur X11vnc sur le PC distant via SSH et en me connectant avec un client Xvnc au bureau Xfce.

Existe-t-il un moyen de démarrer un logiciel GUI sur un PC Linux distant via SSH?

Merci!


92
2018-06-08 13:55


origine


Peut confirmer que l'approche choisie dans la réponse choisie fonctionne aussi si le client distant est un Mac. Travailler avec succès avec macOS Sierra. - Benjamin R


Réponses:


Oui. Vous avez juste besoin de courir export DISPLAY=:0 (ou quel que soit l’affichage à distance sous lequel on numérote) dans votre session ssh et que les programmes exécutés s’exécutent sur l’écran distant. Un exemple rapide:

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

Firefox fonctionne maintenant timaffichage de

Cependant, lorsque vous fermez votre session ssh, l'application distante se ferme la plupart du temps. Si vous voulez vous déconnecter de ssh mais laissez l'application en cours d'exécution, vous devez la lancer de manière spéciale en utilisant quelque chose comme screen (garde la session ssh en tâche de fond) ou nohup, ou une autre méthode. Pour plus d'informations à ce sujet il y avait récemment une autre question à ce sujet.

Vous pouvez raccourcir tout cela en une seule commande qui se connectera, exportera l'affichage en ligne et démarrera l'application d'une manière qui ne la fermera pas après la mort de la session ssh:

ssh tim "DISPLAY=:0 nohup firefox"

115
2018-06-08 15:42



Ça disait No DISPLAY: this may not be what you want. quand je l'ai essayé (je l'ai essayé d'abiword au fait. ` - PyRulez
@PyRulez Notez le "ou quel que soit l'affichage distant est numéroté comme" dans la première ligne. Si ce n'est pas le premier serveur graphique, il peut être: 1 ou supérieur. Courir w pour voir qui est connecté et où. Cela vous indiquera également le numéro d'affichage. - Oli♦
J'ai un affichage 0, et c'est le seul écran et il est physiquement actif. - PyRulez
unset DISPLAY - Oli♦
parfois, vous voulez faire le contraire et lancez l'application X localement, connectez-vous simplement en utilisant -Y, puis exécutez votre application ssh -Y <remoteip> - Postadelmaga