J'essaie de lancer un programme graphique à distance, sans utiliser ssh. J'ai défini la variable d'affichage sur le serveur (disons server.com, Linux, pas d'ubuntu et aucun droit su) pour qu'il pointe vers mon poste de travail (workstation.com , Ubuntu 10.04)
setenv DISPLAY workstation.com:0
Ensuite, sur mon poste de travail, j'ai essayé les deux
xhost +server.com
et
xhost +
Puis je ssh sur le serveur (pour tester des choses):
ssh [email protected]
et essayez d'exécuter xclock
et obtenez l'erreur suivante:
Error: Can't open display: workstation.com:0
J'ai regardé /etc/ssh/ssh_config
sur le poste de travail et je devrais transférer correctement: X11Forwarding yes
.
Comment puis-je résoudre ce problème?
Quels journaux sur le poste de travail documentent ces tentatives infructueuses?
Pour expliquer pourquoi je procède ainsi: Je souhaite exécuter un travail par lots sur un serveur pour déboguer un programme parallèle basé sur MPI. Je souhaite exécuter xterm en tant qu'exécutable de travail par lots, conformément aux instructions fournies par les administrateurs système.
Cette configuration utilise pour travailler. J'ai réinstallé des objets sur mon poste de travail et depuis lors, je reçois fréquemment un message unique le long des lignes The authenticity of Host 'hostname (XXX.XXX.XXX.XX)' can't be established.
Ma tentative de remédier à ce qui précède a été de déplacer mon fichier ~/.ssh/known_hosts
vers une sauvegarde sur le serveur et l'hôte, puis vers ssh
de l'un à l'autre avec l'indicateur -o StrictHostKeyChecking=no
. Je ne reçois plus ce message, mais je me demandais si cela contribuait à expliquer pourquoi le transfert X11 ne fonctionne pas.
C'est un problème de pare-feu. TCP (port 6000) était toujours bloqué, et quoi que je fasse avec xhost, XAuthority, etc., le transfert ne se produisait pas.
J'ai ajusté les paramètres du pare-feu à l'aide de l'utilitaire Firewall Configuration
, présent dans le menu System > Administration
.
J'ai le même problème sur le serveur distant. Essayez ce qui suit:
Ajoutez ce qui suit à votre sshd_config
:
AddressFamily inet
Redémarrer SSH
(Ref: http://www.linuxquestions.org/questions/ubuntu-63/cant-open-display-882197/ )
Voici ce qui a fonctionné pour moi, également après avoir essayé la méthode xhost +
, PAS via le transfert ssh X:
Ajouter à /etc/gdm/custom.conf
[security]
DisallowTCP=false
ce qui devrait amener GDM à démarrer le serveur X sans l'indicateur -nolisten tcp dans Ubuntu.
Alors, Sudo service gdm restart
Depuis 11.10 (Oneiric), il utilise LightDM au lieu de GDM. Vous devrez modifier /etc/lightdm/lightdm.conf
sous [SeatDefaults], ajoutez:
xserver-allow-tcp=true
puis redémarrez (recommandé) ou Sudo service lightdm restart
, ce qui pourrait vous faire perdre votre session de travail.