SSH を使用して Ubuntu 11.04 ボックスにログインしており、プログラムを起動する必要がありますが、これは WINE で実行される Windows GUI プログラムです。
SSH ターミナルからプログラムを起動してデスクトップで開き、SSH からログアウトした後も開いたままにするにはどうすればよいでしょうか。
答え1
リモート マシンからグラフィカル プログラムを起動する一般的な方法:
ターゲット マシンで を実行します
xhost +
。(ターミナルまたはログイン スクリプトからこれを実行する必要があります。)リモート クライアントから、ターゲット マシンに SSH で接続して実行します。
nohup program &
ここで、「program」は、ターゲット マシンで実行する場合に使用するプログラムです。
答え2
プログラムをディスプレイに転送したい場合は、 に接続しますssh -X
。
しかし、リモートディスプレイでプログラムを起動したいのでしょうか?
screen
プログラムを開いたままにするために使用します。DISPLAY
実行中の X-Session の適切なユーザーと変数を使用してプログラムを起動します。
例えば:
xterm -display :1000.0
または:
DISPLAY=:1000.0 xterm
これは Wine でも動作するはずです。
答え3
sshd
X11 転送が許可されるように設定されて いることを確認してください。
その後、通常どおり 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