X11vnc

出自 Arch Linux 中文维基

本文內容或本節內容已經過期。

原因: 請提供模板的第一個位置參數以概括原因。 (在Talk:X11vnc討論)

這篇文章或章節的翻譯不反映原文。

原因:Still out of sync after the update of 2021-05-26(在 Talk:X11vnc# 中討論)

x11vnc是一個VNC伺服器,它允許人們使用任何VNC viewer遠程查看並控制真實的X顯示器(即與物理顯示器、鍵盤和鼠標相對應的顯示器)。雖然它已不再由原作者Karl Runge開發,但LibVNC和GitHub社區已經接管了開發工作。

x11vnc不會為遠程控制創建一個額外的顯示(或X桌面)。相反,它實時顯示現有的X11顯示器,與Xvnc不同,它是TigerVNC的一部分,是官方軟件倉庫中的替代VNC伺服器。

還要注意的是,x11vnc並沒有附帶一個客戶端。所有VNC viewer都可以完成這項工作,而不必使用其所有功能。TigerVNC的vncviewer是推薦的客戶端。

設置 x11vnc[編輯 | 編輯原始碼]

安裝[編輯 | 編輯原始碼]

安裝位於官方軟件倉庫x11vnc 軟件包。

運行[編輯 | 編輯原始碼]

首先,通過startxDisplay manager (簡體中文)來啟動X 伺服器。你可能需要將X設置為無頭運行。

然後,運行以下命令,所有可用的選項在x11vnc(1)中都有解釋。

$ x11vnc -display :0

另一個選項是將x11vnc命令放在一個腳本中,在登錄時調用,例如:

x11vnc -wait 50 -noxdamage -passwd PASSWORD -display :0 -forever -o /var/log/x11vnc.log -bg

設置 X authority[編輯 | 編輯原始碼]

您可以為VNC伺服器設置X authority。 這可以通過-auth參數和相應的文件來實現,這取決於你的X 伺服器是如何啟動的。一般來說,分配X authority需要以root身份運行"'x11vnc'"。

啟動 X[編輯 | 編輯原始碼]

$ x11vnc -display :0 -auth ~/.Xauthority

如果失敗,則你可能需要作為root來運行:

# x11vnc -display :0 -autho /home/USER/.Xauthority

其中 USER 是運行X 伺服器的用戶的用戶名。

GDM[編輯 | 編輯原始碼]

作為root,運行

# x11vnc -display :0 -auth /var/lib/gdm/:0.Xauth

設置密碼[編輯 | 編輯原始碼]

運行:

$ x11vnc -usepw

將會使用在~/.vnc/passwd找到的密碼,或是在~/.vnc/passwdfile第一行找到的密碼,如果這些文件都找不到,它會提示用戶輸入密碼,密碼將會保存在~/.vnc/passwd中。

VNC viewer應該在連接時提示輸入密碼。

訪問[編輯 | 編輯原始碼]

在其他機器運行VNC客戶端,然後輸入運行了x11vnc伺服器的IP位址。點擊連接,然後你需要設置。

SSH端口轉發[編輯 | 編輯原始碼]

為了安全地使用x11vnc,您首先需要安裝並且配置好SSH

在啟動x11vnc的時候,指定命令行選項「-localhost」,這將導致VNC服務只能綁定到本地網絡界面。此時從外界直接連入的連接將被拒絕。

當您需要從另一台電腦上訪問這個VNC服務的時候,首先用SSH登錄到運行VNC的主機,將VNC服務監聽的端口轉發到您的本地主機。以下的例子中假設運行VNC的主機名為"foo",VNC監聽5900端口上:

ssh foo -L 5900:localhost:5900

SSH連接建立以後,打開VNC客戶端程序,但是不要讓它連接到foo的5900端口,而是連接到本機(localhost)的5900端口。

這樣,您就可以通過加密渠道安全地訪問遠程X服務了。

參見[編輯 | 編輯原始碼]