X11 ошибки по SSH

Я получаю следующие ошибки при попытке открыть программы через 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: 

Я всегда был в состоянии открыть приложения по SSH, это только началось вчера. используя Ubuntu 16.04 на обеих машинах.

пожалуйста, НЕ отмечайте это как повторный вопрос, следующие решения не помогли:

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

gksu: Gtk-WARNING **: не могу открыть дисплей:: 0

Gtk-WARNING **: невозможно открыть дисплей: на сервере Ubuntu

(nautilus:13581): Gtk-WARNING **: невозможно открыть дисплей:

Если нужна конкретная информация, пожалуйста, спросите, я сделаю все возможное, чтобы ответить.

2 ответа

Вам необходимо рассказать нам 3 вещи.

  1. Какую команду вы использовали для запуска сеанса SSH.

Ты бежал

$ ssh -Y whatever.com

или же

$ ssh -X whatever.com

Если у вас нет ни -X, ни -Y, пересылка X11 не будет работать

  1. Вы редактировали файл конфигурации клиента ssh на клиентском компьютере? Если вы изменили это, скажите нам, что именно.

Если вы не хотите вводить -X каждый раз, когда вам нужна пересылка X11, это можно установить по умолчанию, отредактировав /etc/ssh/ssh_config. Это не конфигурация сервера машины, это по умолчанию для всех клиентов. Внизу у меня есть

ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes

Я ожидаю, что эти изменения не будут иметь никакого эффекта, пока вы не выйдете из системы, но я могу ошибаться по этому поводу.

  1. На сервере вы включили пересылку X11?

На сервере в файле /etc/X11/sshd_config необходимо будет включить пересылку X11 с помощью строки, подобной

X11Forwarding yes

Обратите внимание, что изменения не будут действовать до тех пор, пока сервер не будет перезапущен или, по крайней мере, его ssh-сервер не будет перезапущен.

Дайте нам знать, как это работает. Если это не удается, сообщите файлы конфигурации и то, что вы запустили.

Вы отключили ipv6? Если так, то я нашел решение! Добавьте AddressFamily inet в sshd_config.

Редактировать:

Выполните следующие шаги:

  1. На сервере отредактируйте файл / etc / ssh / sshd_config.
  2. Файл по умолчанию должен иметь закомментированный адрес AddressFamily inet. Раскомментируйте его и измените значение по умолчанию "any" на "inet".
  3. Затем перезапустите службу: sudo service sshd restart.
Другие вопросы по тегам