怎樣在 CentOS 7.0 上安裝和配置 VNC 伺服器
一些 VNC 伺服器的優點:
- 遠程的圖形管理方式讓工作變得簡單方便。
- 剪貼板可以在 CentOS 伺服器主機和 VNC 客戶端機器之間共享。
- CentOS 伺服器上也可以安裝圖形工具,讓管理能力變得更強大。
- 只要安裝了 VNC 客戶端,通過任何操作系統都可以管理 CentOS 伺服器了。
- 比 ssh 圖形轉發和 RDP 連接更可靠。
那麼,讓我們開始安裝 VNC 伺服器之旅吧。我們需要按照下面的步驟一步一步來搭建一個可用的 VNC。
首先,我們需要一個可用的桌面環境(X-Window),如果沒有的話要先安裝一個。
注意:以下命令必須以 root 許可權運行。要切換到 root ,請在終端下運行「sudo -s」,當然不包括雙引號(「」)
1. 安裝 X-Window
首先我們需要安裝 X-Window,在終端中運行下面的命令,安裝會花費一點時間。
# yum check-update
# yum groupinstall "X Window System"
#yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts
### 設置默認啟動圖形界面
# unlink /etc/systemd/system/default.target
# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
# reboot
在伺服器重啟之後,我們就有了一個工作著的 CentOS 7 桌面環境了。
現在,我們要在伺服器上安裝 VNC 伺服器了。
2. 安裝 VNC 伺服器
現在要在我們的 CentOS 7 上安裝 VNC 伺服器了。我們需要執行下面的命令。
# yum install tigervnc-server -y
3. 配置 VNC
然後,我們需要在 /etc/systemd/system/
目錄里創建一個配置文件。我們可以將 /lib/systemd/sytem/vncserver@.service
拷貝一份配置文件範例過來。
# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
接著我們用自己最喜歡的編輯器(這兒我們用的 nano )打開 /etc/systemd/system/vncserver@:1.service
,找到下面這幾行,用自己的用戶名替換掉 。舉例來說,我的用戶名是 linoxide 所以我用 linoxide 來替換掉 :
ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid
替換成
ExecStart=/sbin/runuser -l linoxide -c "/usr/bin/vncserver %i"
PIDFile=/home/linoxide/.vnc/%H%i.pid
如果是 root 用戶則
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
好了,下面重啟 systemd 。
# systemctl daemon-reload
最後還要設置一下用戶的 VNC 密碼。要設置某個用戶的密碼,必須要有能通過 sudo 切換到用戶的許可權,這裡我用 linoxide 的許可權,執行「su linoxide
」就可以了。
# su linoxide
$ sudo vncpasswd
確保你輸入的密碼多於6個字元
4. 開啟服務
用下面的命令(永久地)開啟服務:
$ sudo systemctl enable vncserver@:1.service
啟動服務。
$ sudo systemctl start vncserver@:1.service
5. 防火牆設置
我們需要配置防火牆來讓 VNC 服務正常工作。
$ sudo firewall-cmd --permanent --add-service vnc-server
$ sudo systemctl restart firewalld.service
現在就可以用 IP 和埠號(LCTT 譯註:例如 192.168.1.1:1 ,這裡的埠不是伺服器的埠,而是視 VNC 連接數的多少從1開始排序)來連接 VNC 伺服器了。
6. 用 VNC 客戶端連接伺服器
好了,現在已經完成了 VNC 伺服器的安裝了。要使用 VNC 連接伺服器,我們還需要一個在本地計算機上安裝的僅供連接遠程計算機使用的 VNC 客戶端。
你可以用像 Tightvnc viewer 和 Realvnc viewer 的客戶端來連接到伺服器。
要用更多的用戶連接,需要創建配置文件和埠,請回到第3步,添加一個新的用戶和埠。你需要創建 vncserver@:2.service
並替換配置文件里的用戶名和之後步驟里相應的文件名、埠號。請確保你登錄 VNC 伺服器用的是你之前配置 VNC 密碼的時候使用的那個用戶名。
VNC 服務本身使用的是5900埠。鑒於有不同的用戶使用 VNC ,每個人的連接都會獲得不同的埠。配置文件名裡面的數字告訴 VNC 伺服器把服務運行在5900的子埠上。在我們這個例子里,第一個 VNC 服務會運行在5901(5900 + 1)埠上,之後的依次增加,運行在5900 + x 號埠上。其中 x 是指之後用戶的配置文件名 vncserver@:x.service
裡面的 x 。
在建立連接之前,我們需要知道伺服器的 IP 地址和埠。IP 地址是一台計算機在網路中的獨特的識別號碼。我的伺服器的 IP 地址是96.126.120.92,VNC 用戶埠是1。
執行下面的命令可以獲得伺服器的公網 IP 地址(LCTT 譯註:如果你的伺服器放在內網或使用動態地址的話,可以這樣獲得其公網 IP 地址)。
# curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'
總結
好了,現在我們已經在運行 CentOS 7 / RHEL 7 的伺服器上安裝配置好了 VNC 伺服器。VNC 是自由開源軟體中最簡單的一種能實現遠程控制伺服器的工具,也是一款優秀的 Teamviewer Remote Access 替代品。VNC 允許一個安裝了 VNC 客戶端的用戶遠程控制一台安裝了 VNC 服務的伺服器。下面還有一些經常使用的相關命令。好好玩!
其他命令:
- 關閉 VNC 服務。
# systemctl stop vncserver@:1.service
- 禁止 VNC 服務開機啟動。
# systemctl disable vncserver@:1.service
- 關閉防火牆。
# systemctl stop firewalld.service
via: http://linoxide.com/linux-how-to/install-configure-vnc-server-centos-7-0/
作者:Arun Pyasi 譯者:boredivan 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive