Ubuntu の SSH からデスクトップ上のプログラムを起動する

Ubuntu の SSH からデスクトップ上のプログラムを起動する

SSH を使用して Ubuntu 11.04 ボックスにログインしており、プログラムを起動する必要がありますが、これは WINE で実行される Windows GUI プログラムです。

SSH ターミナルからプログラムを起動してデスクトップで開き、SSH からログアウトした後も開いたままにするにはどうすればよいでしょうか。

答え1

リモート マシンからグラフィカル プログラムを起動する一般的な方法:

  1. ターゲット マシンで を実行しますxhost +。(ターミナルまたはログイン スクリプトからこれを実行する必要があります。)

  2. リモート クライアントから、ターゲット マシンに SSH で接続して実行します。nohup program &ここで、「program」は、ターゲット マシンで実行する場合に使用するプログラムです。

答え2

プログラムをディスプレイに転送したい場合は、 に接続しますssh -X

しかし、リモートディスプレイでプログラムを起動したいのでしょうか?

  1. screenプログラムを開いたままにするために使用します。

  2. DISPLAY実行中の X-Session の適切なユーザーと変数を使用してプログラムを起動します。

例えば:

xterm -display :1000.0

または:

DISPLAY=:1000.0 xterm

これは Wine でも動作するはずです。

答え3

sshdX11 転送が許可されるように設定されて いることを確認してください。

その後、通常どおり GUI を起動します (nohupログアウト後に実行する場合)。すると、マシン上に表示されます。

編集:これをアイコンから実行したい場合(コメントを参照)、アイコンコマンドを次のようにエイリアスすることができます。

ssh [email protected] 'nohup MyProgram &'

または、リモート ホスト上に次の内容を含む小さなシェル スクリプト (~/bin/runme.sh) を作成します。

#!/bin/sh
nohup MyProgram & 2>&1 $HOME/.nohupp.log

そして呼び出す

ssh [email protected] ~/bin/runme.sh

関連情報