web-dev-qa-db-ja.com

SSH経由でリモートLinux PCでGUIソフトウェアを起動する方法

XMBCメディアプレーヤーまたは他のGUIソフトウェアを自分のPC(メディアセンターとして使用される小さなXubuntu PC)で起動する必要がある場合があります。

通常、リモートPCでX11vncサーバーをSSH経由で起動し、Xvncクライアントを使用してXfceデスクトップに接続します。

SSH経由でリモートLinux PCでGUIソフトウェアを起動する方法はありますか?

ありがとう!

102
Raben

はい。 sshセッションでexport DISPLAY=:0(またはリモートディスプレイに番号が付けられているもの)を実行するだけで、実行されるプログラムはリモートディスプレイで実行されます。簡単な例:

oli@bert:~$ ssh tim
oli@tim:~$ export DISPLAY=:0
oli@tim:~$ firefox

Firefoxはtimのディスプレイで実行されています。

ただし、sshセッションを閉じると、ほとんどの場合、リモートアプリケーションが閉じます。 sshから切断し、アプリケーションを実行したままにする場合は、画面(バックグラウンドで実行されているsshセッションを保持)またはNohupなどの特別な方法で起動する必要があります。この詳細については 最近、別の質問がありました です。

このすべてを1つのコマンドに短縮して、接続し、インラインでディスプレイをエクスポートし、sshセッションが終了した後も閉じないようにアプリケーションを起動できます。

ssh tim "DISPLAY=:0 Nohup firefox"
128
Oli