Activer l'Export Display sur une distribution récente
Dans les dernières versions de Fedora 16 et d'Ubuntu 11.10, il est devenu impossible de faire de l'Export Display facilement. En effet, pour des raisons de sécurité, le serveur d'affichage Xorg est maintenant lancé avec l'option "-nolisten tcp", qui empêche d'utiliser directement le protocole XDMCP entre deux machines. Voici quelques solutions pour y remédier.
Pour vérifier si vous êtes dans ce cas, vous pouvez utiliser la ligne de commande suivante :
# ps awwux | grep -i xorg
root ... /usr/bin/Xorg :0 -br -verbose -logverbose 7 -auth /var/run/gdm/auth-for-gdm-srJefw/database -nolisten tcp
Encapsuler l'Export Display dans une connexion SSH
Une première solution pour passer outre ce problème est de faire passer l'export display directement dans votre connexion SSH. Il suffit alors d'utiliser les options suivantes :
ssh -X -Y login@monserveur xclock
Le problème, c'est que cette méthode ne fonctionne pas à tous les coups. Elle dépend souvent de la version de SSH disponible sur la machine à laquelle on souhaite se connecter. Si celle-ci est trop obsolète, ou si les bonnes options n'ont pas été positionnées dans le fichier /etc/ssh/sshd_config, cela ne marche pas.
Une autre solution sera donc de relancer son serveur X sans l'option "-nolisten tcp".
Activer l'Export Display sur Ubuntu 11.10 ou supérieur
Pour activer l'Export Display sur les versions d'Ubuntu qui utilisent LightDM, il faut éditer le fichier /etc/lightdm/lightdm.conf et ajouter l'option xserver-allow-tcp comme dans l'exemple ci-dessous :
gtksudo gedit /etc/lightdm/lightdm.conf
[SeatDefaults] greeter-session=unity-greeter user-session=ubuntu xserver-allow-tcp=true
Relancez ensuite votre session graphique et faites un export display classique :
sudo restart lightdm
Activer l'Export Display sur Fedora 16 et supérieur
Pour activer l'Export Display sur Fedora 16 ou supérieur, il faut éditer le fichier /usr/share/gdm/gdm.schemas et modifier la balise DisallowTCP :
su -
gedit /usr/share/gdm/gdm.schemas
<schema> <key>security/DisallowTCP</key> <signature>b</signature> <default>false</default> </schema>
Relancez ensuite votre session graphique et faites un export display classique.
6 Commentaires pour "Activer l'Export Display sur une distribution récente"
Flux des commentaires de cet article Ajouter un commentaireTrès utile, merci
Question bête mais, a quoi sert l'export display?
@sl33k : cet article s'adresse aux gens qui connaissent déjà la notion d'export display, c'est pour cela que je ne suis pas rentré dans les détails.
L'export display, est une technique qui consiste à afficher des fenêtres graphiques d'une machine distante directement sur ton poste. Par exemple, afficher un logiciel graphique de partitionnements de disque d'un serveur, directement sur ton poste, sans avoir à installer Xorg sur le serveur.
C'est plutôt pratique, surtout pour les administrateur systèmes.
Sous Windows, on utilise plutôt VNC ou RDP pour faire la même chose. Sous UNIX / Linux on a en plus l'export display.
Sous debian (et depuis longtemps), tu édites le fichier /etc/X11/xinit/xserverrc, tu fais le changement ci-dessou et tu relances X
#exec /usr/bin/X11/X -nolisten tcp
exec /usr/bin/X11/X
A noter 3 choses importantes avec ssh -X :
* Ca n'utilise pas les mêmes ports
* Il n'y plus besoin de commandes xhost
* Il ne faut surtout pas saisir une commande "export DISPLAY=xxx" une fois qu'on est connecté via ssh -X. C'est d'ailleurs pour ça en général que le transfert X ne fonctionne pas.
Perso avec ssh -X ca fait plusieurs années que je n'ai pas utilisé l'export DISPLAY
Bonne journée
Thomas
@Thomas : Merci pour cette réponse sensée, enfin!