x11vnc是一個VNC服務器,它允許用戶遠程查看並用任何VNC查看器與真實的X顯示器(即與物理監視器,鍵盤和鼠標相對應的顯示器)進行交互。雖然它的原作者Karl Runge不再開發,但LibVNC和GitHub社區已經接管了開發。
x11vnc不會為遠程控制的服務器創建額外的虛擬VNC桌面服務(或X桌面)。相反,它實時顯示現有的X11顯示器,不像其他Linux VNC替代品,如TightVNC服務器,是在遠程生成一個虛擬的vnc桌面服務。所以你在遠程的任何操作,只要服務器連接上顯示器就可以看的清清楚楚。這個vnc服務比較適合遠程協助。x11vnc只支持單用戶操作,不允許多用戶同時使用,這還是因為x11vnc不會為遠程控制的服務器創建額外的虛擬VNC桌面服務。
x11vnc和系統的light-locker鎖屏程序有沖突,有bug,自動鎖屏后,VNC會黑屏,無法進入桌面,這個禁用鎖屏,但如果把這個軟件卸載,整個桌面環境可能一起跟着卸載。
1. 安裝x11vnc
root@debian:~# apt-get install x11vnc
2. 設置密碼
laopi@debian:~$ x11vnc -storepasswd
Enter VNC password: #輸入登錄vnc的新密碼
Verify password: #重復密碼
Write password to /home/laopi/.vnc/passwd? [y]/n y #成生密碼文件,y 生成
Password written to: /home/laopi/.vnc/passwd
laopi@debian:~$
3. 讓x11vnc在任何環境中通過systemd自動啟動
root@debian:~# vi /lib/systemd/system/x11vnc.service
=====================================================================================================================================
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/<USERNAME>/.vnc/passwd -rfbport 5900 -shared -capslock -nomodtweak
[Install]
WantedBy=multi-user.target
=====================================================================================================================================
注意:/home/USERNAME/.vnc/passwd 中的USERNAME需要換成你自己的用戶名,之前遇到了用vnc-viewer連接,鍵盤Caps Lock和小鍵盤錯位的問題,加上選項-capslock -nomodtweak就好了。
4.啟動服務
root@debian:~# systemctl daemon-reload #讓系統知道新的單元文件
root@debian:~# systemctl enable x11vnc.service #讓系統開機啟動這個服務器
root@debian:~# systemctl start x11vnc.service #啟動這個服務器
5、重啟服務器
最后,我們可以通過VNCVIEW工具鏈接遠程桌面,且輸入上面設置的密碼就可以看到。
6、更多參數說明,請參考http://www.karlrunge.com/x11vnc/x11vnc_opts.html
未解決的問題:
1、用了一段時間會發現鼠標右鍵很氣人,明明只點了一下右鍵,卻是左鍵后直接回車的效果,換了VNC Viewer也不好用,應該是x11vnc.service哪里設置或軟本身問題,有待研究。
2、連接閃退問題,有時候用着用着自己就斷了,有待研究。
