X11vnc
x11vnc是一個VNC伺服器,它允許人們使用任何VNC viewer遠程查看並控制真實的X顯示器(即與物理顯示器、鍵盤和滑鼠相對應的顯示器)。雖然它已不再由原作者Karl Runge開發,但LibVNC和GitHub社區已經接管了開發工作。
x11vnc不會為遠程控制創建一個額外的顯示(或X桌面)。相反,它實時顯示現有的X11顯示器,與Xvnc不同,它是TigerVNC的一部分,是官方軟體倉庫中的替代VNC伺服器。
還要注意的是,x11vnc並沒有附帶一個客戶端。所有VNC viewer都可以完成這項工作,而不必使用其所有功能。TigerVNC的vncviewer是推薦的客戶端。
設置 x11vnc[編輯 | 編輯原始碼]
安裝[編輯 | 編輯原始碼]
運行[編輯 | 編輯原始碼]
首先,通過startx或Display 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服務了。