Ubuntu 22.04 VNC安裝

Javier Zhang
4 min readAug 6, 2020

--

先進行更新(可選)

sudo apt-get update
sudo apt-get upgrade

Ubuntu 22.04 默認使用 gdm3,導致 VNC 工作異常(這邊案例就是設定檔設定完成沒有效果),需切換到lightdm

Ubuntu 16.04 默認使用 lightdm 因此一般不需要調整

sudo apt install lightdm  ## ubuntu 22.04 需用到
sudo dpkg-reconfigure lightdm ## 將配置切換到 lightdm

安裝 x11VNC:

sudo apt-get install x11vnc -y

若未更新直接執行上面指令可能會出現error,解決方法:

sudo apt-get update

設定連接的VNC密碼

sudo x11vnc -storepasswd /etc/x11vnc.pass

需手工設置一下權限,默認設置的權限可能會導致其他用戶無法正常讀取

sudo chmod 755 /etc/x11vnc.pass

rfbport 參數指定監聽端口,-forever 參數指定客戶端斷開後不要停止服務而是繼續等待下一次的連接請求

sudo x11vnc -auth guess -rfbauth /etc/x11vnc.pass -rfbport 5900 -forever -display :0

設置開機自動啟動 VNC 功能

sudo gedit /etc/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 /etc/x11vnc.pass -rfbport 5900 -shared
[Install]
WantedBy=multi-user.target

配置完 systemd 後啟動服務

sudo systemctl daemon-reload

sudo systemctl enable x11vnc

sudo systemctl start x11vnc

Step 2. 設定虛擬解析度

注意:需先裝上 Nvidia driver 再執行下列步驟,如果設定完重啟後導致無法開機,請進入命令行模式刪除該文件

Server 如果沒有外接螢幕顯示器,x-session 不能從外部獲取解析度,需要在 xorg.conf 中設置虛擬解析度。

ubuntu 默認已經沒有 /etc/X11/xorg.conf,也沒有必要用 Xorg -configure創建,直接手動創建就行,並添加如下代碼(用戶端螢幕解析度是 1920x1080,可以根據實際情況修改 Virtual 參數)

turn to /etc/X11

cd /etc/X11sudo gedit xorg.conf## VNC-virsual montior
Section "Device"
Identifier "Configured Video Device"
EndSection
Section "Monitor"
Identifier "Configured Monitor"
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
SubSection "Display"
Depth 24
Virtual 1920 1080
EndSubSection
EndSection

Restart System

sudo reboot

--

--