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/vncserver@.service复制过来
[root@test ~]# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
然后打开这个配置文件/etc/systemd/system/vncserver@:1.service,替换掉默认用户名
将这行里的USER
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
如果是其他用户的话,将USER替换即可
ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.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图形远程连接了。