Exécuter application graphique a distance...

Sun Wukong (ML Ubuntu-fr) sun.wukong at rx3.net
Mar 13 Nov 22:39:08 UTC 2007



Le 12.11.2007 19:00,, le perspicace Michel D'HOOGE s'exprimait en ces
termes:


Le lundi 20 août 2007 12:20:52, romain écrivait :
> > pour information après avoir modifier la variable display. je lance une
> > applications graphique comme gaim puis j'ai le message suivant:
> > Gtk-WARNING **: cannot open display:
> > si çà peut aider à trouver le problème

Depuis un certain temps déjà, les accès à un serveur X11 sont
authentifiés. Il
faut savoir que contrairement à Windows (par exemple et au hasard), un
serveur X11 est vraiment un serveur. Ça veut dire que potentiellement
n'importe qui peut se connecter au serveur pour afficher n'importe quoi.
Ainsi, il y a encore 10 ans (je le sais car ça m'amusait à l'époque...
désolé...), il était possible de lancer une appli sur l'écran du voisin.

Maintenant, avec l'avénement d'internet, cette pratique serait carrément
suicidaire et le rêve de tout phisheur. Donc, entre en scène
l'authentification. Ceci pour dire que si tu n'as pas la clé
cryptographique
attendue par le serveur, impossible d'afficher quoi que ce soit.

Les pages de manuel à lire sont xhost & xauth et tout particulièrement la
variable d'environnement XAUTHORITY.

Petit exemple dans une console graphique (xterm...) :
- sans rien faire, il est possible de lancer une autre appli (par exemple
xeyes).
- maintenant, on fait pointer XAUTHORITY ailleurs que sa place par défaut :
export XAUTHORITY=/
et impossible de lancer xeyes.

Donc pour pouvoir afficher sur un écran, il faut avoir accès au contenu du
fichier ~/.Xauthority. Ou bien autoriser n'importe qui à se connecter,
comme
à la belle époque, avec "xhost +". Et en fait, maintenant que j'y pense, je
crois que cette commande était déjà indispensable à l'époque susmentionnée.

Suite de l'exemple : toujours avec un "export XAUTHORITY=/" actif. Dans une
autre console, faire "xhost +". Il est alors possible de se connecter de
n'importe où... Puis faire "xhost -" et on referme la porte.

Donc, pour répondre à la question, si tu te connectes avec le même
profil que
celui qui possède le serveur, juste un DISPLAY doit suffire. Sinon, le
moins
risqué est de donné un accès en lecture au contenu du fichier ~/.Xauthority
puis de configurer en conséquence la variable XAUTHORITY.

HTH comme on dit
-- Michel




-- 
SunWukong

Linux User #354048
GPG Key available : 0xF4DD0AD2 on keyserver.ubuntu.com




Plus d'informations sur la liste de diffusion ubuntu-fr