15/04/2010

Lancer une application graphique par SSH

Chose assez inhabituelle pour moi, j'ai deux machines qui tournent bien à disposition. Donc je peux m'amuser un peu avec... Question du jour : comment lancer une application graphique au travers de SSH, sans VNC ou autre outils de ce genre... Le but étant... euh... bon, y a pas vraiment de but. Mais je suis sur que ça peut servir.

Première chose : je pars du principe que vous savez activer sshd correctement sur la machine serveur, et ce avec ouverture du pare-feu. Pour les utilisateurs d'openSUSE, c'est assez simple : dans YaST, Pare-Feu, Services autorisés, ajouter SSH dans la zone externe. Et configurer votre interface réseau pour qu'elle soit dans la zone externe (ce qui est bien plus sûr, en passant... ;-) )

Une fois la chose faite, sshd et X11 démarrés sur le serveur, placez vous sur la machine cliente, ouvrez un terminal, et lancez la connection ssh :
ssh -X user@machine

Je pars du principe que user a les sur X11... Notez le "-X" dans la commande qui va permettre d'importer les variables relatives à l'environnement graphique.

Jusque là, ça va... Nous allons maintenant devoir autoriser les directives allant vers le serveur X à être prises en copte depuis notre machine. Supposons que notre machine s'appelle patate . À travers la connexion SSH, nous autorisons patate à lancer des commandes faisant intervenir X11 :
xhost +patate
Nous supposons ici que le serveur connaît le nom de notre machine. Si ce n'est pas le cas, utilisez une adresse IP, par exemple :
xhost +192.168.0.10
Ce n'est pas fini, cependant... les variables X11 actuelles sont relatives à la machine cliente... il va donc falloir changer un peu les choses  en corrigeant la variable DISPLAY :
export DISPLAY=:0.0
Et normalement, c'est bon... :-) pour tester, lancez xterm depuis la machine cliente :
xterm
Mieux, xdg -open marche tout à fait convenablement de cette façon :-)

Amusez vous !

Aucun commentaire: