Ubuntu22.04 安裝設定VNC Server

2022-09-26 18:02:21

如果轉載, 請註明出處 https://www.cnblogs.com/milton/p/16730512.html

Ubuntu22.40下VNC和遠端桌面的區別

  • 使用遠端桌面時, 使用者必須在host上登入桌面環境. 可以是鎖屏或非鎖屏, 但是必須要有一個使用者桌面對談存在.
  • 使用VNC時, host上需要啟動vncserver. 但是vncserver與使用者在host上的桌面對談是無關的, vncserver會給連線後的使用者啟動桌面對談

啟動vncserver失敗的問題

在Ubuntu22.04下, 使用者在啟動vncserver之前必須退出所有桌面對談, 否則會報錯.

安裝步驟

安裝並啟用 SSH 服務

如果host上還沒有ssh服務, 安裝一下, 方便後面的安裝步驟, 遠端通過ssh進行. 如果不安裝, 本機關閉桌面在命令列下也可以, 就是偵錯起來不方便

sudo apt install openssh-server
sudo systemctl status ssh.service 
# 確認是否開機自啟動
sudo systemctl is-enabled ssh.service 

初始安裝

安裝XFCE桌面. 如果想使用自帶的 Ubuntu桌面, 後面可以設定

sudo apt install xfce4 xfce4-goodies

安裝vncserver

sudo apt install tigervnc-standalone-server

上面的安裝完之後, 用普通使用者在ssh連線(或者命令列終端)中啟動一次

vncserver

過程中會讓你設定密碼和唯讀密碼, 會自動分配埠號. 檢視啟動後的範例

$ vncserver -list

TigerVNC server sessions:

X DISPLAY #	RFB PORT #	RFB UNIX PATH	PROCESS ID #	SERVER
2         	5902      	             	11368       	Xtigervnc

如果-list看不到範例, 說明啟動失敗, 需要journalctl -fe看一下具體原因

如果事後想再修改密碼, 可以用vncpasswd命令

上面啟動的服務, 預設是隻監聽本地127.0.0.1, 所以從其它機器是無法連線的, 如果需要連線, 可以用這個命令啟動

vncserver -localhost no

設定為服務

關閉剛才的範例, :2根據自己的範例修改

vncserver -kill :2

開啟 tigervncservice 服務, :2根據自己的範例修改

sudo systemctl start tigervncserver@:2.service
sudo systemctl enable tigervncserver@:2.service

服務組態檔在 /lib/systemd/system/[email protected] , 因為服務使用的是 /usr/libexec/tigervncsession-start 這個指令碼, 指令碼裡面呼叫的是 /usr/sbin/tigervncsession , 參考 https://manpages.ubuntu.com/manpages/impish/man8/tigervncsession.8.html, 需要在 ~/.vnc/ 下建立檔案 config, 輸入內容

session=xfce
geometry=1366x768
securitytypes=vncauth,tlsvnc
  • session=xfcexfce 能用哪些值, 取決於 /usr/share/xsessions 目錄下包含哪些 desktop. 如果想使用自帶的 Ubuntu桌面, 可以改成 session=ubuntu
  • geometry=1366x768 是開啟時的預設解析度
  • 如果要只允許本地連線, 可以加一行 localhost

修改完重啟服務生效

sudo systemctl restart tigervncserver@:2.service

VNC使用者端

TigerVNC

如果使用Win10 64bit, 下載其中的vncviewer64-x.xx.x.exe, 不需要安裝, 直接執行, 地址填host地址加vnc編號, 例如 112.12.12.12:2, 或者112.12.12.12:5902也可以

連線安全

上面的設定, 僅適合在內網使用, 因為連線是不加密的. 如果需要加密, 一般將vnc服務啟動為監聽本地, 再使用ssh建立隧道對外提供服務. 具體可以參考下面的連結

參考