Linux
如何通過 xvfb-run 的 VNC 連接到 X 應用程序?
當我
Xvfb
直接執行伺服器時,x11vnc
可以按照Wikipedia page很好地附加到顯示器。但是我想通過使用
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 故障排除頁面建議的命令,但沒有運氣。
如何執行 X 命令,
xvfb-run
以便可以通過 訪問它的顯示x11vnc
?
正如您在
ps
輸出中看到的,Xvfb
伺服器使用參數執行,-auth
後跟臨時文件的名稱。因此,要連接到此伺服器,您需要提供保存在此文件中的 MIT-MAGIC-COOKIE 的副本。通常這是通過在命令環境中簡單地設置 XAUTHORITY 變數來完成的,例如XAUTHORITY=/tmp/xvfb-run.nJKLnF/Xauthority x11vnc ...
為簡化起見,您的
xvfb-run
腳本可能會接受一個選項-f
,後跟您選擇的用於保存 cookie 的文件的名稱。