CentOS 7 安裝與設定 VNC 伺服器

本篇文章將解說如何在 CentOS 7 安裝與設定 VNC Server,以及使用 UltraVNC 這套 VNC Client 軟體,來連結 VNC Server 的步驟。

centos

簡介

VNC(Virtual Network Computing)可藉由網路傳送即時的螢幕畫面,與鍵盤、滑鼠的動作,來遠端控制 Windows 或 Linux 系統。

圖形使用者介面

由於 VNC 必須透過 GUI(Graphical User Interface,圖形使用者介面)來遠端控制,所以請確認已安裝 GUI,才能順利進行以下步驟。

安裝 VNC Server

使用以下指令來安裝 VNC Server。

[root@localhost ~]# yum install tigervnc-server

設定 VNC Server

CentOS 7 的 VNC Server 設定檔在 /lib/systemd/system/vncserver@.service,複製它來建立新的設定檔。

VNC 預設 port 為 5900,而 :1 代表一個虛擬桌面,所以連結這個虛擬桌面的 port 為 5901(5900 + 1)或 1
[root@localhost ~]# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

編輯新的設定檔,將檔案內原先的 <USER> 修改為允許 VNC Client 連結的帳號,小傑這裡使用的帳號為 jacky。

[root@localhost ~]# vi /etc/systemd/system/vncserver@:1.service
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l jacky -c "/usr/bin/vncserver %i"

# 一般帳號
PIDFile=/home/jacky/.vnc/%H%i.pid

# root 帳號
#PIDFile=/root/.vnc/%H%i.pid

ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

切換至要設定的帳號,並建立 VNC Server 密碼。

與系統密碼不同, 這是連接 VNC Server 使用的
[root@localhost ~]# su - jacky
[jacky@localhost ~]$ vncpasswd

切回 root 帳號,啟用虛擬桌面 :1 的 VNC Server 並設定開機自動啟用。

[root@localhost ~]# systemctl start vncserver@:1.service
[root@localhost ~]# systemctl enable vncserver@:1.service

指令 vncserver -list 可列出目前啟用 VNC Server 的虛擬桌面,如下虛擬桌面 :1 已啟用。

[root@localhost ~]# vncserver -list

TigerVNC server sessions:

X DISPLAY #     PROCESS ID
:1              4721

啟用 VNC Server 錯誤

如啟用 VNC Server 時發生如下錯誤。

[root@localhost ~]# systemctl start vncserver@:1.service
Job for vncserver@:1.service failed because the control process exited with error code. See "systemctl status vncserver@:1.service" and "journalctl -xe" for details.

刪除 /tmp/.X11-unix/ 目錄,在啟用一次即可。

[root@localhost ~]# \rm -R /tmp/.X11-unix/
[root@localhost ~]# systemctl enable vncserver@:1.service

防火牆

設定 firewall 允許 vnc-server 的服務,並重新載入 firewall 設定(才能立即生效)

[root@localhost ~]# firewall-cmd --permanent --add-service="vnc-server" --zone="public"
[root@localhost ~]# firewall-cmd --reload

連結 VNC Server

使用 UltraVNC 這套 VNC Client 軟體連結剛新建的 VNC Server 虛擬桌面 :1,連結方式為 IP:5901 或 IP:1,小傑 VNC Server 的 IP 是 192.168.0.100,所以可使用這二種方式連結:

  • 192.168.0.100:5901
  • 192.168.0.100:1

這裡使用 192.168.0.100:5901 來連結。

centos7-vnc-server-install-setup_01

輸入密碼。

centos7-vnc-server-install-setup_02

連結成功。

centos7-vnc-server-install-setup_03

發表迴響