Googleでこのトピックを検索しようとしましたが、重要な結果はありませんでした。
ターミナルからGUIアプリを起動する必要がありますが、このアプリが私に何を見せているかは気にしません。さらに、異なるセッションでこのアプリケーションのいくつかのインスタンスを起動する必要があります。それはいくつかのGUI自動テストに関連しているので、私は自分が何を望んでいるかを知っており、答えを探しています:)。
適切な手順は次のとおりだと思います:
しかし、私は最初のステップで立ち往生しています。ここの誰かが同様の問題を抱えていましたか?
---編集:1)GUI出力を気にしません-私のアプリからstdoutとstderrだけが必要です。 -それがこの質問が重複していない理由です-グーグルをよく知っています:)。出力を自分のGUIにリダイレクトしたくありません。
アプリケーションが何をしているのか気にしない場合は、xvfbを備えた「仮想」xサーバーを提供できます。
Xvfbは、ディスプレイハードウェアや物理入力デバイスのないマシンで実行できるXサーバーを提供します。仮想メモリを使用してダムフレームバッファをエミュレートします。このサーバーの主な用途はサーバーのテストでしたが、異常な深さや画面構成に対するクライアントのテスト、バックグラウンドレンダリングエンジンとしてのXvfbによるバッチ処理、負荷テストなど、その他の斬新な用途が見つかりましたXサーバーを新しいプラットフォームに移植し、Xサーバーを実際に必要とせず、いずれにせよXサーバーを必要とするアプリケーションを実行する控えめな方法を提供します。
インストール後、次の方法で起動できます。
Sudo Xvfb :10 -ac -screen 0 1024x768x24 &
バックグラウンドで実行され、次にクライアントを起動します:
DISPLAY=:10 your-client
短いコマンド:
ssh -X <username>@<Host> gedit &
man ssh
から
-X Enables X11 forwarding.
This can also be specified on a per-Host basis in a configuration file.
X11 forwarding should be enabled with caution. Users with the
ability to bypass file permissions on the remote Host (for the
user's X authorization database) can access the local X11
display through the forwarded connection. An attacker may then
be able to perform activities such as keystroke monitoring.
サーバー側で/etc/ssh/sshd_config
を確認します。
Sudo nano /etc/ssh/sshd_config
以下の行の場合:
X11Forwarding yes
X11UseLocalhost no
変更を加えた場合は、ssh sreverを再起動します。
Sudo service ssh restart
クライアント側で/etc/ssh/ssh_config
を確認します。
Sudo nano /etc/ssh/ssh_config
以下の行について
ForwardX11 yes
ForwardX11Trusted yes
Sshセッションでexport DISPLAY =:id#を実行するだけで、実行されるプログラムはリモートディスプレイで実行されます。簡単な例:
maythux@maythuxPC:~$ ssh testSSH@myServer
maythux@maythuxPC:~$ export DISPLAY=:0
maythux@maythuxPC:~$ gedit
これで、gedit
はtestSSH displayという名前のユーザーで実行されます
これをすべて1つのコマンドに短縮できます。
ssh testSSH@myServer "DISPLAY=:0 Nohup gedit"