5 votes

Erreurs X11 sur SSH

Je reçois les erreurs suivantes lorsque j'essaie d'ouvrir des programmes via ssh.

$ thunar
Thunar : Impossible d'ouvrir l'affichage : 

$ libreoffice 
Échec à l'ouverture de l'affichage

$ firefox
Erreur : GDK_BACKEND ne correspond pas aux affichages disponibles

$ keepassx
keepassx : impossible de se connecter au serveur X 

$ keepass2
Exception non gérée :
System.TypeInitializationException: L'initialiseur de type pour 'System.Windows.Forms.XplatUI' a levé une exception. ---> System.ArgumentNullException: Impossible d'ouvrir l'affichage (X-Server requis. Vérifiez votre variable d'environnement DISPLAY)
Nom du paramètre : Display
  à System.Windows.Forms.XplatUIX11.SetDisplay (IntPtr display_handle) <0x41b3c8a0 + 0x00b9b> dans  :0 
  à System.Windows.Forms.XplatUIX11..ctor () <0x41b3ab20 + 0x001df> dans  :0 
  à System.Windows.Forms.XplatUIX11.GetInstance () <0x41b3a8d0 + 0x0005b> dans  :0 
  à System.Windows.Forms.XplatUI..cctor () <0x41b3a160 + 0x00137> dans  :0 
  --- Fin de la trace de la pile de l'exception interne ---
  à System.Windows.Forms.Application.EnableVisualStyles () <0x41b38870 + 0x0001b> dans  :0 
  à KeePass.Program.Main (System.String[] args) <0x41b376c0 + 0x0008b> dans  :0 
[ERREUR] EXCEPTION NON GÉRÉE FATALE : System.TypeInitializationException: L'initialiseur de type pour 'System.Windows.Forms.XplatUI' a levé une exception. ---> System.ArgumentNullException: Impossible d'ouvrir l'affichage (X-Server requis. Vérifiez votre variable d'environnement DISPLAY)
Nom du paramètre : Display
  à System.Windows.Forms.XplatUIX11.SetDisplay (IntPtr display_handle) <0x41b3c8a0 + 0x00b9b> dans  :0 
  à System.Windows.Forms.XplatUIX11..ctor () <0x41b3ab20 + 0x001df> dans  :0 
  à System.Windows.Forms.XplatUIX11.GetInstance () <0x41b3a8d0 + 0x0005b> dans  :0 
  à System.Windows.Forms.XplatUI..cctor () <0x41b3a160 + 0x00137> dans  :0 
  --- Fin de la trace de la pile de l'exception interne ---
  à System.Windows.Forms.Application.EnableVisualStyles () <0x41b38870 + 0x0001b> dans  :0 
  à KeePass.Program.Main (System.String[] args) <0x41b376c0 + 0x0008b> dans  :0 
:06:22 PM~/Documents$ gimp
Impossible d'ouvrir l'affichage : 

$ wireshark
QXcbConnection : Impossible de se connecter à l'affichage 
Abandon (noyau vidé)

$ gedit 
Échec de la connexion à Mir : Échec de la connexion au socket du serveur : Aucun fichier ou répertoire de ce type
Impossible d'initialiser le serveur : Impossible de se connecter : Connexion refusée

(gedit:23724): Gtk-WARNING **: impossible d'ouvrir l'affichage : 

J'ai toujours pu ouvrir des applications via ssh, cela vient de commencer hier. J'utilise Ubuntu 16.04 sur les deux machines.

S'il vous plaît, NE signalez PAS cette question comme étant en doublon, les solutions suivantes n'ont pas fonctionné :

https://superuser.com/questions/310197/how-do-i-fix-a-cannot-open-display-error-when-opening-an-x-program-after-sshi

gksu: Gtk-WARNING **: cannot open display: :0

Gtk-WARNING **: cannot open display: on Ubuntu Server

(nautilus:13581): Gtk-WARNING **: cannot open display:

Si des informations spécifiques sont nécessaires, veuillez demander, je ferai de mon mieux pour répondre.

5voto

pauljohn32 Points 3457

Il est nécessaire que vous nous disiez 3 choses.

  1. Quelle commande avez-vous utilisée pour lancer votre session ssh.

Avez-vous exécuté

$ ssh -Y whatever.com

ou

$ ssh -X whatever.com

Si vous n'avez ni -X ni -Y, le transfert X11 ne fonctionnera pas

  1. Avez-vous modifié le fichier de configuration client ssh sur la machine cliente ? Si vous avez apporté des modifications, indiquez-nous exactement lesquelles.

Si vous ne souhaitez pas taper -X à chaque fois que vous avez besoin du transfert X11, vous pouvez le définir par défaut en modifiant /etc/ssh/ssh_config. Ce n'est pas la configuration serveur de la machine, c'est la configuration par défaut pour tous les clients. En bas du mien, j'ai

ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes

Je m'attends à ce que ces changements n'aient aucun effet tant que vous ne vous déconnectez pas, mais je pourrais me tromper à ce sujet.

  1. Sur la machine serveur, avez-vous activé le transfert X11?

Sur le serveur, dans le fichier /etc/X11/sshd_config, il sera nécessaire d'activer le transfert X11 avec une ligne comme

X11Forwarding yes

Veuillez noter que ce changement n'aura pas d'effet tant que le serveur ne sera pas redémarré, ou du moins que son serveur ssh ne sera pas redémarré.

Dites-nous si cela fonctionne. Si cela échoue, signalez les fichiers de configuration et ce que vous avez exécuté.

1voto

Alroger Jr Points 11

Avez-vous désactivé ipv6? Si c'est le cas, j'ai trouvé la solution! Ajoutez AddressFamily inet à sshd_config.

Modifier:

Effectuez les étapes suivantes:

  1. Sur le serveur, modifiez le fichier /etc/ssh/sshd_config .
  2. Le fichier par défaut devrait avoir "AddressFamily inet" en commentaire. Décommentez-le et changez la valeur par défaut de "any" à "inet".
  3. Ensuite, redémarrez le service: sudo service sshd restart .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X