web-dev-qa-db-fra.com

Erreurs X11 sur SSH

je reçois des erreurs en essayant d'ouvrir des programmes sur ssh.

$ thunar
Thunar: Cannot open display: 

$ libreoffice 
Failed to open display

$ firefox
Error: GDK_BACKEND does not match available displays

$ keepassx
keepassx: cannot connect to X server 

$ keepass2
Unhandled Exception:
System.TypeInitializationException: The type initializer for 'System.Windows.Forms.XplatUI' threw an exception. ---> System.ArgumentNullException: Could not open display (X-Server required. Check your DISPLAY environment variable)
Parameter name: Display
  at System.Windows.Forms.XplatUIX11.SetDisplay (IntPtr display_handle) <0x41b3c8a0 + 0x00b9b> in <filename unknown>:0 
  at System.Windows.Forms.XplatUIX11..ctor () <0x41b3ab20 + 0x001df> in <filename unknown>:0 
  at System.Windows.Forms.XplatUIX11.GetInstance () <0x41b3a8d0 + 0x0005b> in <filename unknown>:0 
  at System.Windows.Forms.XplatUI..cctor () <0x41b3a160 + 0x00137> in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at System.Windows.Forms.Application.EnableVisualStyles () <0x41b38870 + 0x0001b> in <filename unknown>:0 
  at KeePass.Program.Main (System.String[] args) <0x41b376c0 + 0x0008b> in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'System.Windows.Forms.XplatUI' threw an exception. ---> System.ArgumentNullException: Could not open display (X-Server required. Check your DISPLAY environment variable)
Parameter name: Display
  at System.Windows.Forms.XplatUIX11.SetDisplay (IntPtr display_handle) <0x41b3c8a0 + 0x00b9b> in <filename unknown>:0 
  at System.Windows.Forms.XplatUIX11..ctor () <0x41b3ab20 + 0x001df> in <filename unknown>:0 
  at System.Windows.Forms.XplatUIX11.GetInstance () <0x41b3a8d0 + 0x0005b> in <filename unknown>:0 
  at System.Windows.Forms.XplatUI..cctor () <0x41b3a160 + 0x00137> in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at System.Windows.Forms.Application.EnableVisualStyles () <0x41b38870 + 0x0001b> in <filename unknown>:0 
  at KeePass.Program.Main (System.String[] args) <0x41b376c0 + 0x0008b> in <filename unknown>:0 
:06:22 PM~/Documents$ gimp
Cannot open display: 

$ wireshark
QXcbConnection: Could not connect to display 
Aborted (core dumped)

$ gedit 
Failed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused

(gedit:23724): Gtk-WARNING **: cannot open display: 

j'ai toujours été capable d'ouvrir des applications sur ssh, cela ne fait que commencer hier. en utilisant Ubuntu 16.04 sur les deux machines.

veuillez NE PAS signaler cela comme une question répétée, les solutions suivantes ne vous ont pas aidé:

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

gksu: Gtk-WARNING **: impossible d'ouvrir display::

Gtk-WARNING **: impossible d'ouvrir l'affichage: sur le serveur Ubunt

(nautilus: 13581): Gtk-WARNING **: impossible d'ouvrir display:

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

5
assassin4321

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

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

Avez-vous exécutez

$ 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 édité le fichier de configuration du client ssh sur la machine cliente? Si vous avez changé cela, dites-nous exactement quoi.

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

ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes

Je m'attends à ce que ces modifications n'aient aucun effet jusqu'à ce que vous vous déconnectiez, mais je me trompe peut-être à ce sujet.

  1. Avez-vous activé le transfert X11 sur le serveur?

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

X11Forwarding yes

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

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

5
pauljohn32

Avez-vous désactivé ipv6? Si oui, j'ai trouvé la solution! Ajoutez un inet AddressFamily à sshd_config.

Modifier:

Effectuez les étapes suivantes:

  1. Sur le serveur, modifiez le fichier/etc/ssh/sshd_config.
  2. "AddressFamily inet" doit être commenté dans le fichier par défaut. Décommentez-le et remplacez la valeur par défaut "any" par "inet".
  3. Puis redémarrez le service: service Sudo sshd redémarrez.
1
Alroger Jr