web-dev-qa-db-ja.com

SSHからリモートコンピューターでGUIアプリを実行する

UbuntuコンピューターでGUIアプリケーションを実行したいのですが、DebianサーバーでSSHを使用したシェルスクリプトで起動する必要があります。

これは可能ですか?

10
Patrick

このようなものが機能するはずです:

#on your desktop 
xhost + #not secure, make sure your X isn't listening on any tcp ports.
echo 'export DISPLAY=:0; x-command-you-want &' > ~/run-command
chmod +x ~/run-command
#on your server
ssh user@desktop '~/run-command'
4
OneOfOne

これは、私がsshを実行すると、私にとってはうまくいきます。

export DISPLAY=:0; Nohup iceweasel &>/dev/null &
2
DanteAlighieri

ご回答ありがとうございます。その間に、私は他のいくつかのことを試しましたが、そのうちの1つは、UbuntuコンピューターへのSSH接続を確立し、そのコンピューターでスクリプトを実行することでした。

そのスクリプトの最初の行の1つで、EXPORT表示を定義しました。プレイヤーは今、どのディスプレイを使うべきかを知っています。

再度、感謝します。

0
Patrick

はい、これは可能です。 SSH接続を介してXトラフィックを転送する必要があります。たとえば、次のように接続します。

debian-computer:$ ssh -X username@ubuntu-computer

次に、SSHプロンプトからアプリケーションを起動するだけです。 GUIウィンドウがDebianボックス(ローカルにログインしている)に表示されます。すべての処理はリモートコンピューター(ubuntuのもの)によって行われます。

これは、ローカルコンピューターでXウィンドウサーバーを実行している場合にのみ機能することに注意してください。デスクトップのlinux/unixがインストールされていて、Mac OSとWindowsにXサーバーをインストールすることもできますが、デフォルトではインストールされていない場合、これは間違いなく当てはまります。

0
pkaeding