1. 程式人生 > 實用技巧 >Ubuntu 20.04 安裝多使用者VNC(基於gnome)

Ubuntu 20.04 安裝多使用者VNC(基於gnome)

排坑:

  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,使其桌面能被其他區域網內的電腦連線訪問。

Setup

1. 安裝伺服器所需但桌面版缺少的組建和支援庫

宗上所述,我們要再安裝一個桌面管理器環境,能夠在VNC上正常執行。

  1. xface4: 輕量級桌面環境,適合遠端桌面(中文輸入、介面體驗等方面的考慮,實驗室其他平臺正常使用(14.04~18.04),沒有使用);
  2. gnome-session-flashback: Gnome經典桌面環境(基於Ubuntu預設自帶的Gonme 3.36.4,20.04上成功配置並使用。以下將以此為例,);
  3. ubuntu-gnome-desktop: 當前最新版本的Ubuntu Gnome桌面環境(系統安裝時預設自帶,17年時候,Ubuntu棄Unity,預設搭載Gnome,20.04安裝上配置失敗,即便多次嘗試,無法連線、灰屏、僅有檔案瀏覽器等各種問題,每次相同安裝配置還出現過問題不同的情況,遂放棄
    )。

安裝gnome-session-flashback:

server:~$sudo apt-get install gnome-session-flashback

注:我的系統本來就是有桌面的。若安裝的時server版本,可能還要安裝:gnome-terminalnnautilusgnome-settings-daemon等。另外,根據提示,可能還需要安裝gdm

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 #每次終端輸入該指令都會重置密碼(不需要驗證舊密碼),忘記直接重置即可
  Passwork: #密碼 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:~$ sudo 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 +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. 測試