VNC( Virtual Network Computing)允许Linux系统,实现可以像Windows中的远程桌面访问那样访问Linux桌面。本文配置是在rhel7.3服务器环境下运行。


首先查看服务器是否安装了VNC

[root@test ~]# rpm -qa tigervnc tigervnc-server


没安装的话会直接出现

package tigervnc is not installed

package tigervnc-server is not installed


如果没有安装X-Windows 桌面的话要先安装Xwindows,VNC需要服务器运行在图形界面。

[root@test ~]# yum check-update

[root@test ~]# yum groupinstall "X Window System"

[root@test ~]# yum install gnome-classic-session gnome-terminal nautilus-open-terminal 

control-center liberation-mono-fonts

[root@test ~]# unlink /etc/systemd/system/default.target

[root@test ~]# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

[root@test ~]# reboot


1、安装VNC packages:

[root@test ~]# yum install -y tigervnc-server 


2、修改配置信息,在/etc/systemd/system/下建立文件夹vncserver@:1.service 

把example config 文件从/lib/systemd/system/[email protected]复制过来

[root@test ~]# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service


然后打开这个配置文件/etc/systemd/system/vncserver@:1.service,替换掉默认用户名


将这行里的USER

ExecStart=/sbin/runuser -l -c "/usr/bin/vncserver %i"

PIDFile=/home//.vnc/%H%i.pid

替换成root

ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"

PIDFile=/root/.vnc/%H%i.pid


如果是其他用户的话,将USER替换即可

ExecStart=/sbin/runuser -l -c "/usr/bin/vncserver %i"

PIDFile=/home//.vnc/%H%i.pid


3、重加载 systemd

[root@test ~]# systemctl daemon-reload


4、为VNC设置密码

[root@test ~]# vncpasswd


如果有iptable防火墙的话,可以放行VNC的端口

vim /etc/sysconfig/iptables

在合适位置加上

-A INPUT -m state --state NEW -m tcp -p tcp --dport 5900:5903 -j ACCEPT

然后重启iptable

service iptables restart


如果是用rhel 7.3 默认防火墙,则需要

[root@test~]# firewall-cmd --permanent --add-service vnc-server

[root@test~]# systemctl restart firewalld.service


5、设置默认启动并开启VNC

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

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


这样就配置好了,然后在Windows 客户端下载一个VNC Viewer 的软件,就可以VNC图形远程连接了。