Exporter un display ou forwarder une connexion X11
1 Introduction
Que de noms compliqués pour pas grand chose (même si très pratique).
- Exporter un display permet avec un utilisateur de transférer les GUI vers un autre utilisateur
- Forwarder une connexion X11 permet de transférer les GUI d'un utilisateur à un autre
Bref, vous l'aurez compris, c'est là même chose hein ! Pas exactement en fait.
2 Exporter le display
Je suis connecté avec l'utilisateur deimos et je lance un shell avec l'utilisateur hostin. Je veux récupérer le GUI de hostin. J'autorise donc mon user deimos à avoir des connections depuis n'importe quel user :
$ xhost + access control disabled, clients can connect from any host
Maintenant je veux savoir quel est mon display actuel :
$ echo $DISPLAY :0.0
Ensuite je me connecte avec hostin et j'exporte mon display vers celui de deimos :
$ su - hostin $ export DISPLAY=:0.0
Maintenant, je n'ai plus qu'a tester avec l'utilisateur hostin :
$ xclock
Tadaaaa l'horloge s'affiche dans ma session deimos et c'est hostin qui la lance :-)
On peut aussi le faire avec une machine distante en indiquant l'hôte (voici les lignes à remplacer pour l'hôte deimos.fr) :
deimos : $ xhost + deimos.fr hostin :$ export DISPLAY:deimos.fr:0.0
3 Forwarder le X
On a forwarder par SSH notre petite fenêtre X. Pour celà, sur le serveur SSH (/etc/ssh/sshd_config) :
X11Forwarding yes
Il faut que cette ligne soit à yes.
Ensuite, pour que le client puisse récupérer la fenêtre, il faut se connecter avec l'argument -X :
$ ssh -X deimos@deimos.fr $ xclock
Encore une fois tadaaaaaaaa :-)