web-dev-qa-db-ja.com

xhostでアクセスした後でも「ディスプレイを開けません」

Sshを使用せずに、グラフィカルプログラムをリモートで実行しようとしています。サーバー上の表示変数を設定して(たとえば、server.com、Linux、ubuntuではなく、su権限なし)、ワークステーションを指すように設定しました(workstation.com 、ubuntu 10.04)

setenv DISPLAY workstation.com:0

次に、私のワークステーションで両方を試しました

xhost +server.com

そして

xhost +

次に、サーバーにsshします(テストのため)。

ssh [email protected]

xclockを実行しようとすると、次のエラーが表示されます。

Error: Can't open display: workstation.com:0

ワークステーションで/etc/ssh/ssh_configを確認しましたが、正しく転送されるはずです:X11Forwarding yes

これをトラブルシューティングするにはどうすればよいですか?

ワークステーション上のどのログがこれらの失敗した試行を記録しますか?

私がこれをしている理由を説明するには:サーバーでバッチジョブを実行して、MPIベースの並列プログラムをデバッグします。システム管理者から提供された指示に従って、バッチジョブ実行可能ファイルとしてxtermを実行します。

このセットアップを使用して動作します。ワークステーションに再インストールした後、The authenticity of Host 'hostname (XXX.XXX.XXX.XX)' can't be established.の行に沿って1回限りのメッセージが頻繁に表示されます

上記を修正する試みは、~/.ssh/known_hostsファイルをサーバーとホストの両方のバックアップに移動してから、-o StrictHostKeyChecking=noフラグを付けてsshに移動することでした。メッセージはもう表示されませんが、これがX11転送が機能しない理由の一部になっているのではないかと思っていました。

6
Yann

これはファイアウォールの問題です。 TCP(ポート6000)は常にブロックされていました。xhost、XAuthorityなどで何をしたとしても、転送は行われませんでした。

Firewall ConfigurationメニューにあるユーティリティSystem > Administrationを使用して、ファイアウォール設定を調整しました。

1
Yann

リモートサーバーでも同じ問題が発生します。以下を試してください:

  1. 以下をsshd_configに追加します。

    AddressFamily inet
    
  2. SSHを再起動します

(参照: http://www.linuxquestions.org/questions/ubuntu-63/cant-open-display-882197/

4
ganon

Ssh Xフォワーディング経由ではなく、xhost +メソッドを試した後も、ここでうまくいきました。

/etc/gdm/custom.confに追加します

[security]
DisallowTCP=false

これにより、GDMはUbuntuで-nolisten tcpフラグなしでXserverを起動します。

次に、Sudo service gdm restart

1
Marcos

11.10(Oneiric)以降、GDMではなくLightDMを使用しています。 /etc/lightdm/lightdm.confを変更する必要があります

[SeatDefaults]で、次を追加します。

xserver-allow-tcp=true

その後、再起動(推奨)またはSudo service lightdm restartを実行すると、作業中のデスクトップセッションが失われる可能性があります。

1
Tomofumi