如果轉載, 請註明出處 https://www.cnblogs.com/milton/p/16730512.html Ubuntu22.40下VNC和遠程桌面的區別 使用遠程桌面時, 用戶必須在host上登入桌面環境. 可以是鎖屏或非鎖屏, 但是必須要有一個用戶桌面會話存在. 使用VNC時, hos ...
如果轉載, 請註明出處 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=xfce
的xfce
能用哪些值, 取決於 /usr/share/xsessions 目錄下包含哪些 desktop. 如果想使用自帶的 Ubuntu桌面, 可以改成session=ubuntu
- geometry=1366x768 是開啟時的預設解析度
- 如果要只允許本地連接, 可以加一行
localhost
修改完重啟服務生效
sudo systemctl restart tigervncserver@:2.service
VNC客戶端
TigerVNC
- 項目地址: https://github.com/TigerVNC/tigervnc/
- 下載地址: https://sourceforge.net/projects/tigervnc/files/stable/1.12.0/
如果使用Win10 64bit, 下載其中的vncviewer64-x.xx.x.exe
, 不需要安裝, 直接運行, 地址填host地址加vnc編號, 例如 112.12.12.12:2
, 或者112.12.12.12:5902
也可以
連接安全
上面的配置, 僅適合在內網使用, 因為連接是不加密的. 如果需要加密, 一般將vnc服務啟動為監聽本地, 再使用ssh建立隧道對外提供服務. 具體可以參考下麵的鏈接
參考
- https://www.howtoforge.com/how-to-install-vnc-server-ubuntu-22-04/
- https://www.linuxbuzz.com/install-configure-vnc-ubuntu-server/
- https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-22-04