VNC允许Linux系统可以类似实现像Windows中的远程桌面访问那样访问Linux桌面。
本文配置机器是兴宁市网络信息中心的一台Centos 7 HP服务器环境下运行。
准备: 确保桌面环境已经安装.
yum groupinstall “GNOME Desktop"
[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即可登入系统。