web-dev-qa-db-fra.com

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

Parfois, j'ai besoin de démarrer le lecteur multimédia XMBC ou un autre logiciel d'interface graphique sur l'un de mes PC (petit PC Xubuntu utilisé comme centre multimédia).

En général, je le fais 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 d'interface graphique sur un PC Linux distant via SSH?

Merci!

100
Raben

Oui. Il vous suffit d’exécuter export DISPLAY=:0 (ou quel que soit le numéro de l’affichage distant) dans votre session SSH et les programmes exécutés s’exécutent sur l’affichage distant. Un exemple rapide:

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

Firefox s'exécute maintenant sur l'affichage de timname __.

Cependant, lorsque vous fermez votre session ssh, la plupart du temps, l'application distante se ferme. Si vous souhaitez vous déconnecter de ssh tout en laissant l'application en cours d'exécution, vous devez la lancer de manière spéciale en utilisant quelque chose comme screen (maintient la session ssh en arrière-plan) ou Nohupou une autre méthode. Pour plus d'informations à ce sujet il y avait récemment une autre question à ce sujet .

Vous pouvez abréger tout cela en une seule commande permettant de se connecter, d'exporter l'affichage en ligne et de démarrer l'application de manière à ne pas le fermer après la fin de la session ssh:

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