排坑:
1、啟動VNC: vncserver :1 -localhost no ##:1是用了5901端口,-localhost no是為了讓其他計算機可以訪問,而不僅僅是本地(不設置這個,測試機用wifi連接,一直連接失敗)
2、執行“1、啟動VNC: vncserver :1 -localhost no”,注意一定要退出Conda虛擬環境,使用系統環境,否則會出現無panel、toolbar以及灰屏、黑屏等各種問題 。
3、開機啟動所有用戶VNC,需要編寫腳本開機運行(網上很多將待執行腳本增加執行權限等配置在"/etc/init.d/"目錄下的方式,在>=18.04的系統版本下均已經失效),見:https://www.cnblogs.com/Deskew/p/13798595.html.
Introduction
實現室某台服務器系統過舊、使用過久,經常崩潰,本人接手后開始進行升級。
一開始下載並打算直接安裝Ubuntu 20.04 Server版本,奈何服務器以太端口不能直連外網(需要登錄),代理設置又麻煩,指不定中間有需要聯網安裝的支持庫。最終選擇Ubuntu 20.04 Desktop LTS版本進行安裝。安裝過程省略(選擇不安裝第三方及媒體包等、安裝完成后卸載服務器運行不必要組件和程序即可;另外,后期可按需安裝切換服務器運行內核等)。——已安裝OpenSSH-Server、remote端口已打開。
以下是介紹如何在Ubuntu20.04LTS上安裝配置VNC,使其桌面能被其他局域網內的電腦連接訪問。
btw:以下操作相當於默認系統已經有多用戶,創建多個用戶:https://www.cnblogs.com/Deskew/p/14469031.html
Setup
1. 安裝服務器所需但桌面版缺少的組建和支持庫
綜上所述,我們要再安裝一個桌面管理器環境,能夠配合VNC正常運行,實現用戶UI遠程訪問服務器。
- xface4: 輕量級桌面環境,適合遠程桌面(中文輸入、界面體驗等方面的考慮,實驗室其他平台正常使用(14.04~18.04),這里沒有使用);
- gnome-session-flashback: Gnome經典桌面環境(基於Ubuntu默認自帶的Gonme 3.36.4,20.04上成功配置並使用。以下將以此為例,);
- ubuntu-gnome-desktop: 當前最新版本的Ubuntu Gnome桌面環境(系統安裝時默認自帶,2017年,Ubuntu棄Unity,轉而默認搭載Gnome,20.04安裝上配置失敗,即便多次嘗試,無法連接、灰屏、僅有文件瀏覽器等各種問題,每次相同安裝配置還出現過問題不同的情況,遂放棄)。
安裝gnome-session-flashback:
server:~$ sudo apt-get install gnome-session-flashback
注:我的系統本來就是有桌面的。若安裝的是server版本,可能還要安裝:gnome-terminal、nautilus和gnome-settings-daemon等。另外,根據提示,可能還需要安裝gdm3。
2. 關閉防火牆或者開放端口(20.04不關也行,只要ssh遠程remote端口可訪問即可)
##由於實驗室服務器屬於多人多賬號使用,每個端口都分別設置防火牆端口開放就很麻煩 server:~$ sudo ufw disable #關閉防火牆 server:~$ sudo ufw status #查看防火牆狀態
3. 安裝VNC Server
server:~$ sudo apt-get install tigervnc-standalone-server #安裝tigervnc-server ##若有提示安裝:sudo apt-get install tigervnc-xorg-extension
4. 設置VNC密碼
其他終端用VNC Viewer連接VNC Server時,需要密碼(密碼長度最大為6位)。跟系統用戶密碼無關。
server:~$ vncpasswd #每次終端輸入該指令都會重置密碼(不需要驗證舊密碼),忘記直接重置即可
Password: #密碼
Verify: # 再次輸入密碼
Would you like to enter a view-only password (y/n)? n #這里設置no就行了
server:~$ ls ~/.vnc #目錄在/home/username/.vnc ,有passwd文件則說明設置成功
5. 為VNC設置桌面環境
即配置xstartup文件(每個用戶目錄下都要執行)。
5.1 打開/新建xstartup文件,
server:~$ vim ~/.vnc/xstartup
5.2 修改xstartup文件里的內容
測試使用正常的配置如下:
#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS export XKL_XMODMAP_DISABLE=1 export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME" export XDG_MENU_PREFIX="gnome-flashback-" [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey #設置背景色 vncconfig -iconic & # gnome-terminal & #連接后會直接打開一個terminal窗口 nautilus & #連接后會直接打開一個文件窗口 gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &
增加xstartup文件執行權限:
server:~$ sudo chmod +x ~/.vnc/xstartup
至此,xstartup文件修改完成。
6. 啟動VNC
終端輸入:
server:~$ vncserver :2 -localhost no #2為端口號,no表示非局域網內賬戶也可訪問,每個用戶目錄下都要執行一次(開機運行參見開機腳本設置:https://www.cnblogs.com/Deskew/p/13798595.html,root下直接su username即可切換,無需驗證秘密) server:~$ ps -ef|grep vnc #查看已運行vnc端口號和對應賬號,想要關掉可以查看對應pid號,直接kill即可,或者:vncserver -kill 端口號
7. 測試