Linux中國

怎樣在 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"

installing x windows

#yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts

install gnome classic session

### 設置默認啟動圖形界面
# unlink /etc/systemd/system/default.target
# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

configuring graphics

# reboot

在伺服器重啟之後,我們就有了一個工作著的 CentOS 7 桌面環境了。

現在,我們要在伺服器上安裝 VNC 伺服器了。

2. 安裝 VNC 伺服器

現在要在我們的 CentOS 7 上安裝 VNC 伺服器了。我們需要執行下面的命令。

# yum install tigervnc-server -y

vnc server

3. 配置 VNC

然後,我們需要在 /etc/systemd/system/ 目錄里創建一個配置文件。我們可以將 /lib/systemd/sytem/vncserver@.service 拷貝一份配置文件範例過來。

# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

copying vnc server configuration

接著我們用自己最喜歡的編輯器(這兒我們用的 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

configuring user

好了,下面重啟 systemd 。

# systemctl daemon-reload

最後還要設置一下用戶的 VNC 密碼。要設置某個用戶的密碼,必須要有能通過 sudo 切換到用戶的許可權,這裡我用 linoxide 的許可權,執行「su linoxide」就可以了。

# su linoxide
$ sudo vncpasswd

setting vnc password

確保你輸入的密碼多於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

allowing firewalld

現在就可以用 IP 和埠號(LCTT 譯註:例如 192.168.1.1:1 ,這裡的埠不是伺服器的埠,而是視 VNC 連接數的多少從1開始排序)來連接 VNC 伺服器了。

6. 用 VNC 客戶端連接伺服器

好了,現在已經完成了 VNC 伺服器的安裝了。要使用 VNC 連接伺服器,我們還需要一個在本地計算機上安裝的僅供連接遠程計算機使用的 VNC 客戶端。

remote access vncserver from vncviewer

你可以用像 Tightvnc viewerRealvnc 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 &apos;s/.*Current IP Address: //&apos; -e &apos;s/<.*$//&apos;

總結

好了,現在我們已經在運行 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

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國