xvfb-runを使用してVNCを介してXアプリケーションに接続する方法は?

xvfb-runを使用してVNCを介してXアプリケーションに接続する方法は?

Xvfbサーバーを直接実行すると、x11vnc以下のようにモニターに接続できます。ウィキペディアページ

しかしxvfb-run

私の試みは次のとおりです(wine explorer例として実行)。

$ xvfb-run -l --server-args="-screen 0 1024x768x24" wine explorer
$ ps x | grep Xvfb
19536 pts/2    Sl     0:00 Xvfb :99 -screen 0 1024x768x24 -auth /tmp/xvfb-run.nJKLnF/Xauthority

ただし、次を実行しようとするとx11vnc失敗します。

$ x11vnc -display :99.0 -usepw -forever -autoport 5900
24/11/2016 22:51:29 XOpenDisplay(":99.0") failed.
24/11/2016 22:51:29 Trying again with XAUTHLOCALHOSTNAME=localhost ...
No protocol specified

24/11/2016 22:51:29 ***************************************
24/11/2016 22:51:29 *** XOpenDisplay failed (:99.0)

*** x11vnc was unable to open the X DISPLAY: ":99.0", it cannot continue.
*** There may be "Xlib:" error messages above with details about the failure.

私も提案されたコマンドを試しましたx11vncトラブルシューティングページしかし、幸運はありません。

xvfb-runそのディスプレイにアクセスできるようにXコマンドをどのように実行しますかx11vnc

答え1

出力が示すように、psサーバーXvfbはパラメーター-authと一時ファイル名を使用して実行されます。したがって、このサーバーに接続するには、このファイルに保存されているMIT-MAGIC-COOKIEのコピーを提供する必要があります。通常、これはコマンド環境でXAUTHORITY変数を設定することによって行われます。

XAUTHORITY=/tmp/xvfb-run.nJKLnF/Xauthority x11vnc ...

簡単にするために、xvfb-runスクリプトはオプション-fとCookieを保存するファイル名を受け入れることができます。

関連情報