BxLUG groupe des utilisateurs de GNU/Linux de Bruxelles

Espace membres

Lancer une application graphique à distance

Introduction

Cet article explique comment lancer une application graphique sur une machine distante [1].

L'application est exécutée sur la machine distante mais l'affichage sera réalisé sur la machine locale. La machine distance doit être équipée d'un démon SSH. SSH  [2] est un moyen sécurisé de communiquer entre deux machines à travers un réseau ouvert [3]. La machine locale doit disposer d'un service X et d'un client SSH.

Cette solution rend obsolète l'utilisation explicite de export DISPLAY=a.b.c.d:0.

Configuration du serveur SSH

Si votre serveur ne dispose par d'un serveur SSH, installez le par (en tant que root et selon votre distribution):
apt-get install ssh
ou
urpmi openssh
Généralement, il vous faudra adapter la configuration de votre serveur SSH pour qu'il permette l'affichage des interfaces graphiques à distance. Pour cela, éditez le fichier /etc/ssh/sshd_config et veillez à ce que la ligne suivante apparaisse et qu'elle ne soit pas en commentaire:
X11Forwarding yes
Sur un Debian/Sarge, par exemple, vous devrez modifier le no en yes.

Relancez ensuite le démon SSH:
/etc/init.d/sshd restart

Connexion au serveur

Au lieu de la traditionnelle commande ssh utilisateur@machine, il faut utiliser le paramètre -X:
ssh -X utilisateur@machine

Lancement de l'application

Après avoir établi la communication avec le serveur SSH, lancez l'application graphique de votre choix, par exemple:
xclock
La fenêtre apparaîtra sur la machine locale, mais le process xclock est bien éxécuté sur la machine distante.

Magique.

[1] La solution a été testée dans une configuration Mandrake (serveur)/Debian Sarge (client)

[2] Secure Shell

[3] non sécurisé; sur lequel on ne peut garantir la confidentialité

Bienvenue dans le monde du libre