リモートシステムにXプログラムを表示する

リモートシステムにXプログラムを表示する

テスト環境としてUbuntu 14.04とFedora 20があります。 SSHセッションを介してFedoraからUbuntuにXプログラムを送信しようとしています。私の設定は次のとおりです。

Ubuntuで実行:

Xhost +IP Address of Fedora

これにより、次のものが返されます。

10.10.24.153 being added to access control list

その後、Fedoraシステムで実行します。

DISPLAY=10.10.25.168:0.0

この手順では、Fedora ディスプレイを Ubuntu システムにリダイレクトします。

次に、UbuntuからFedoraにSSHを接続します。この時点で、sshプロンプトでプログラム(geditなど)を起動しようとすると、次のメッセージが表示されます。 (そしてgeditウィンドウは表示されません)

Unable to init server: Could not connect: Connection refused (gedit:7358): Gtk-WARNING **: cannot open display:

しかし、Fedoraで直接geditを起動すると、Fedora側にエラーがありますが、Ubuntuシステムに表示されます。

** (gedit:7372): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-77RFAr0MHI: Connection refused

SSHセッションでXベースのプログラムを起動できる必要があり、それが画面に表示されます。私が間違っていることを知っている人はいますか?

答え1

sshセッションでXアプリケーションを実行するには、sshトラフィックをホストするように指示するだけです。実行xhostまたは上書きしないでくださいDISPLAY

ssh -Yf remote-host some-x-application

この-Yフラグは環境変数を生成し、暗号化されsshた接続を介して結果のトラフィックを送信するように指示します。このフラグは、セッションがすぐに終了したように見えるように、これらすべての操作をバックグラウンドで実行するように指示します。DISPLAYremote-host-fssh

接続の終わりに明らかに対話型シェルを実行するには、ssh次のこともできます。

ssh -Y remote-host
...log in as necessary...

some-x-application &
another-x-application &
...etc...

wait; exit

関連情報