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転送が機能しない理由の一部になっているのではないかと思っていました。
これはファイアウォールの問題です。 TCP(ポート6000)は常にブロックされていました。xhost、XAuthorityなどで何をしたとしても、転送は行われませんでした。
Firewall Configuration
メニューにあるユーティリティSystem > Administration
を使用して、ファイアウォール設定を調整しました。
リモートサーバーでも同じ問題が発生します。以下を試してください:
以下をsshd_config
に追加します。
AddressFamily inet
SSHを再起動します
(参照: http://www.linuxquestions.org/questions/ubuntu-63/cant-open-display-882197/ )
Ssh Xフォワーディング経由ではなく、xhost +
メソッドを試した後も、ここでうまくいきました。
/etc/gdm/custom.confに追加します
[security]
DisallowTCP=false
これにより、GDMはUbuntuで-nolisten tcpフラグなしでXserverを起動します。
次に、Sudo service gdm restart
11.10(Oneiric)以降、GDMではなくLightDMを使用しています。 /etc/lightdm/lightdm.confを変更する必要があります
[SeatDefaults]で、次を追加します。
xserver-allow-tcp=true
その後、再起動(推奨)またはSudo service lightdm restart
を実行すると、作業中のデスクトップセッションが失われる可能性があります。