20180326 ---------- real vnc: account: honda@gptt.com.tw/******** VNC password for ths computer(NT T470): ********** 測試機NB CentOS 7.0: root跟user1密碼都是: hondavnc ---------- 20180326, CentOS 7 安裝與設定 VNC 伺服器 照這兩份設定才OK, 設定檔案放在後面: CentOS 7 安裝 VNC Server https://www.phpini.com/linux/centos-7-install-vnc-server https://www.tecmint.com/install-and-configure-vnc-server-in-centos-7/ 安裝後只能看到GNome的介面, 不實用! 設定檔案參考 ExampleFile\vnc-setup-sample.txt ToDo: vnc有KDE視窗介面的vnc嗎? ---------- 20180326 CentOS 7 安裝與設定 VNC 伺服器 ref: https://smalljacky.com/linux/centos/centos7-vnc-install-setup/ 本篇文章將解說如何在 CentOS 7 安裝與設定 VNC Server,以及使用 UltraVNC 這套 VNC Client 軟體,來連結 VNC Server 的步驟。 1、簡介 VNC(Virtual Network Computing)可藉由網路傳送即時的螢幕畫面,與鍵盤、滑鼠的動作,來遠端控制 Windows 或 Linux 系統。 2、圖形使用者介面 由於 VNC 必須透過 GUI(Graphical User Interface,圖形使用者介面)來遠端控制,所以請確認已安裝 GUI,才能順利進行以下步驟。 3、安裝 VNC Server 使用以下指令來安裝 VNC Server。 1 [root@localhost ~]# yum install tigervnc-server 4、設定 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 編輯新的設定檔,將檔案內原先的 修改為允許 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 || :' sample vncserver@:1.service: 以下[my_user]需改為對應使用者代號, 若為root則須注意位置不同 [Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' ExecStart=/sbin/runuser -l [my_user] -c "/usr/bin/vncserver %i -geometry 1280x1024" PIDFile=/home/[my_user]/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' [Install] WantedBy=multi-user.target 切換至要設定的帳號,並建立 VNC Server 密碼。 與系統密碼不同, 這是連接 VNC Server 使用的 [root@localhost ~]# su - jacky [jacky@localhost ~]$ vncpasswd 測試機NB CentOS 7.0: root跟user1密碼都是: hondavnc 切回 root 帳號,更新 systemctl 以使其生效。 [jacky@localhost ~]$ su - [root@localhost ~]# systemctl daemon-reload 啟用虛擬桌面 :1 的 VNC Server 並設定開機自動啟用。 [root@localhost ~]# systemctl start vncserver@:1.service [root@localhost ~]# systemctl enable 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. Verify that /usr/bin/vncserver exists and is executable. see if you can start VNC Server manually. https://serverfault.com/questions/818667/tigervnc-server-fails-with-home-variable-not-set 指令 vncserver -list 可列出目前啟用 VNC Server 的虛擬桌面,如下虛擬桌面 :1 已啟用。 [root@localhost ~]# vncserver -list TigerVNC server sessions: X DISPLAY # PROCESS ID :1 4721 4-1、啟用 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 start vncserver@:1.service 5、防火牆 設定 firewall 允許 vnc-server 的服務,並重新載入 firewall 設定(才能立即生效) 1 2 [root@localhost ~]# firewall-cmd --permanent --add-service="vnc-server" --zone="public" [root@localhost ~]# firewall-cmd --reload 6、連結 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 來連結。 輸入密碼。 連結成功。 7、參考