Centos 7安裝VNC服務

水墨風光發表於2016-08-17


VNC允許Linux系統可以類似實現像Windows中的遠端桌面訪問那樣訪問Linux桌面。

本文配置機器是興寧市網路資訊中心的一臺Centos 7 HP伺服器環境下執行。


準備: 確保桌面環境已經安裝.

         yum groupinstall “GNOME Desktop"


第一步,安裝tigervnc-server
[root@wic ~]# yum install tigervnc-server


第二步,

[root@wic ~]# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
然後開啟這個配置檔案/etc/systemd/system/vncserver@.service替換掉預設使用者名稱
找到這一行
ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid
這裡我直接用root 使用者登入,所以我替換成
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
如果是其他使用者的話比如linoxide替換如下
ExecStart=/sbin/runuser -l linoxide -c "/usr/bin/vncserver %i"
PIDFile=/home/linoxide/.vnc/%H%i.pid


第三步,重載入 systemd

[root@wic ~]# systemctl daemon-reload


第四步,為VNC設密碼

[root@wic ~]# vncpasswd


第五步,由於我這邊的Centos 7 是用iptable防火牆的所以

vim /etc/sysconfig/iptables
在合適位置加上
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5900:5903 -j ACCEPT
重啟iptable
service iptables restart
如果是用Centos 7 預設防火牆的可能需要
[root@wic ~]# firewall-cmd --permanent --add-service vnc-server
[root@wic ~]# systemctl restart firewalld.service
如果還是有問題可以試試關閉防火牆
1. 停止並禁用防火牆;
2. systemctl stop firewalld.service
3. systemctl disable firewalld.service


第六步,設預設啟動並開啟VNC

[root@wic ~]# systemctl enable vncserver@:1.service
[root@wic ~]# systemctl start vncserver@:1.service
如果出現如下錯誤
Job for vncserver@:1.service failed. See ‘systemctl status vncserver@:1.service’ and ‘journ
alctl -xn’ for details.
把 /etc/systemd/system/vncserver@.service 中的 Type 引數設定為 simple
再執行 systemctl daemon-reload和啟動開啟VNC


這樣基本上Centos 服務端就設好了。


下面說說客戶端:

Windows 端要去下一個VNC Viewer 的軟體。

linux端可以安裝tigervnc。yum install tigervnc -y。

根據埠規則,可以使用vncviewer連線IP:5901或者IP:1即可連線。


下面說說加密:

如果想加密vnc連線,可以設定SSH隧道,比如Xshell裡面可以設定localhost 5901轉發到localhost 5901。

這樣用vncviewer連線localhost:1即可登入系統。

相關文章