Bonjour,
Depuis quelque temps je rencontre un problème concernant le déport d'affichage depuis ma Debian Strech :
Habituellement je me connecte comme ça :ssh -X monserveur
Ou avec ce paramètre dans .ssh/config :Host *
ForwardX11 yes
Et ça me permet de regarder l'heure en mode graphique :monserveur# xclock
Maintenant, j'obtiens cette erreur :connect /tmp/.X11-unix/X0: No such file or directory
J'ai essayé de forcer avec côté client :xhost +monserveur
et côté serveur :export DISPLAY monclient:0.0
Mais que tchi, ça veut plus.
Quelqu'un a une idée de ce qui m'arrive (à part que je bosse en Stretch et que je ne devrais pas) ?
# DISPLAY et ForwardX11 SSH
Posté par JJD . Évalué à 2.
Bonjour,
Lorsque tu fais tu ForwardX11 SSH, sur ton serveur SSH, le DISPLAY n'est pas positionné à monclient:0.0 mais à localhost:10 (ou 11 ou 12…). En fait les clients X sur le serveur (applications graphiques) contactent un serveur X "local" mais ce flux est transporté dans un tunnel SSH vers le serveur X du client SSH. Faire un
export DISPLAY=monclient:0
sur le serveur SSH ne sert donc pas à grand chose (sinon à faire que ça ne marche pas).Pour essayer de comprendre ce qui ne marche pas, il faudrait avoir plus d'infos. Que donnent, sur monclient, les commandes
echo $DISPLAY
etxclock
(ouxlogo
ou n'importe quelle autre commande qui doit afficher une fenêtre) ?Sur monclient, est-ce que le fichier /tmp/.X11-unix/X0 existe ? Que donne
ls -l /tmp/.X11-unix/
?À+
JJD
[^] # Re: DISPLAY et ForwardX11 SSH
Posté par Adminrezo (site web personnel) . Évalué à 1.
Bonjour JJD,
Merci de ton aide.
Sur monclient :
echo $DISPLAY
:0
xclock fonctionne.
Le fichier /tmp/.X11-unix/X0 n'existe pas.
Un ls -l sur /tmp/.X11-unix donne ça :
srwxr-xr-x 1 Debian-gdm Debian-gdm 0 mars 8 16:59 X1024
[^] # Re: DISPLAY et ForwardX11 SSH
Posté par JJD . Évalué à 1.
C'est bizarre…
Sur ma Debian (SID mais stretch devrait en être assez proche), le display :0 est utilisé par GDM et, lorsque l'on ouvre une session graphique, on a le display :1. Dans /tmp/.X11-unix on a alors deux sockets, X0 et X1.
Je pense que si tu crées le fichier manquant, ça pourrait fonctionner (mkfifo /tmp/.X11-unix/X0). Ça devrait fonctionner aussi si, avant de te connecter en SSH, tu fait un
export DISPLAY=localhost:0
(la connexion au serveur X doit alors passer alors par une socket TCP plutôt que par une socket Unix).Mais cela ne nous dit pas pourquoi ton fichier /tmp/.X11-unix/X0 n'existe pas. Est-ce que ta session est ancienne (et le fichier aurait pu être supprimé) ? As-tu essayé en te déconnectant/reconnectant localement sur ta machine cliente ?
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.