web-dev-qa-db-ja.com

SSH経由のX11エラー

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 **:ディスプレイを開けません::

Gtk-WARNING **:Ubuntuサーバーでディスプレイを開けません

(nautilus:13581):Gtk-WARNING **:ディスプレイを開けません:

特定の情報が必要な場合は、質問してください、私は答えるために最善を尽くします。

5
assassin4321

あなたが私たちに3つのことを伝える必要があります。

  1. Sshセッションを起動するためにどのコマンドを使用しましたか。

走った?

$ ssh -Y whatever.com

または

$ ssh -X whatever.com

-Xも-Yもなかった場合、X11転送は機能しません。

  1. クライアントマシンでsshクライアント構成ファイルを編集しましたか?それを変更した場合、正確に何を教えてください。

X11転送が必要になるたびに-Xと入力したくない場合は、/ etc/ssh/ssh_configを編集してデフォルトとして設定できます。これはマシンのサーバー構成ではなく、すべてのクライアントのデフォルトです。私の一番下には、

ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes

ログアウトするまでこれらの変更は効果がないと思われますが、間違っている可能性があります。

  1. サーバーマシンで、X11転送を有効にしましたか?

サーバーでは、ファイル/ etc/X11/sshd_configで、次のような行でX11転送をオンにする必要があります。

X11Forwarding yes

サーバーが再起動されるか、少なくともそのsshサーバーが再起動されるまで、変更は効果を持たないことに注意してください。

その仕組みを教えてください。失敗した場合は、構成ファイルと実行内容を報告してください。

5
pauljohn32

Ipv6を無効にしましたか?もしそうなら、私は解決策を見つけました! AddressFamily inetをsshd_configに追加します。

編集:

次の手順を実行します。

  1. サーバーで、ファイル/ etc/ssh/sshd_configを編集します。
  2. デフォルトのファイルには、「AddressFamily inet」がコメント化されている必要があります。コメントを外し、値をデフォルトの「any」から「inet」に変更します。
  3. 次に、サービスを再起動します:Sudo service sshd restart。
1
Alroger Jr