Je veux ssh vers des serveurs distants, tous deux fonctionnant CentOS
avec X11Forwarding
activé.
Cependant, l'application X ne peut pas fonctionner correctement sur l'un d'eux - sur l'hôte B, cela fonctionne bien. Mais sur l'IA hôte, l'erreur "Impossible de se connecter à l'affichage" s'affiche à chaque fois que je lance l'application X.
Après avoir vérifié la DISPLAY
variable d'environnement sur l'hôte A qui, je pense, est liée à la fenêtre X, j'ai trouvé sa valeur localhost:10.0
. En suivant les conseils ici , je change DISPLAY=0:10.0
et ça marche. Cependant, DISPLAY
sur l'hôte B est toujours localhost:10.0
et fonctionne bien.
Ma question est, que DISPLAY
représente la valeur en ? Quelle est la difference entre localhost:10.0
et 0:10.0
?
On dit qu'il localhost
identifie un nom d'hôte. Ensuite, quel hôte identifie-t-il, le serveur (hôte A / B) sur lequel mon application X s'exécute ou mon client local où je veux que la fenêtre X s'affiche?
Tous les conseils ou pointeurs vers la documentation seraient appréciés.
localhost
est lié192.168.1.200
(une adresse IP spécifique comme celle-ci. Je ne veux pas exposer ma configuration réelle.) Sur l'hôte A. Cela fonctionne également lors de l'exportationDISPLAY=127.0.0.1:10.0
. Le transfert X fonctionne-t-il uniquement sur l'interface de bouclage?localhost
est un nom spécial qui se lie à une interface de bouclage (lo0) sous Linux, il ne doit jamais être lié à une véritable adresse IP. Vous pouvez réellement vérifier la liaison en exécutantsudo netstat -apn | grep 6010
votre SSH devrait écouter sur ce port la connexion d'affichage. Pour autant que je sache, c'est127.0.0.1
seulement.