Centos7下部署VNC
Posted sixfiv
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7下部署VNC相关的知识,希望对你有一定的参考价值。
#默认已经安装图形桌面服务了!
查看系统运行模式
[root@localhost /]# systemctl get-default
graphical.target
#上面处于桌面服务级别
在centos中安装VNC服务
[root@localhost /]# yum install tigervnc-server
配置VNC
1 #第一个用户vncserver@:1.service,第二个用户vncserver@:2.service,第三个用户....... 2 [root@localhost /]# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service 3 4 [root@localhost system]# vim /etc/systemd/system/vncserver@:1.service 5 #vncserver@:1.service文件内容开始 6 [Unit] 7 Description=Remote desktop service (VNC) 8 After=syslog.target network.target 9 10 [Service] 11 Type=forking 12 13 # Clean any existing files in /tmp/.X11-unix environment 14 ExecStartPre=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :‘ 15 ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
#替换的内容<USER> => root,以root用户登录 16 PIDFile=/root/.vnc/%H%i.pid
#替换内容/home/<USER> => /root,就是家目录下的用户文件夹,可以找下文件夹下的.PID文件,这里是root所以不同一点 17 ExecStop=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :‘ 18 19 [Install] 20 WantedBy=multi-user.target 21 #vncserver@:1.service文件内容结束 22 #注释我这里是已root用户作为登录用户,其他的作为登录用户替换方式相同 23 24 [root@localhost /]# systemctl daemon-reload #重新加载配置文件
修改vnc黑名单限制
1 [root@localhost ~]# vim /etc/sysconfig/vncservers 2 3 # THIS FILE HAS BEEN REPLACED BY /lib/systemd/system/vncserver@.service 4 5 VNCSERVERS="1:root" 6 VNCSERVERARGS[1]="-geometry 1024x768 -BlacklistTimeout 0" 7 8 9 "/etc/sysconfig/vncservers" 7L, 155C
修改防火墙规则,确认VNC用户登录
偷懒方法:直接把防火墙关掉!
1 放行VNC登录用户端口,第一用户5901,第二个用户5902,依次类推 2 [root@localhost ~]# firewall-cmd --zone=public --add-port=5901/tcp --permanent 3 4 放行VNC服务 5 [root@localhost ~]# firewall-cmd --add-service vnc-server 6 7 #重启防火墙 8 firewall-cmd --reload 9 10 11 [root@localhost ~]# netstat -lp | grep -i vnc 12 tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 2489/Xvnc 13 tcp 0 0 0.0.0.0:5902 0.0.0.0:* LISTEN 3897/Xvnc 14 tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 2489/Xvnc 15 tcp 0 0 0.0.0.0:6002 0.0.0.0:* LISTEN 3897/Xvnc 16 tcp6 0 0 [::]:5901 [::]:* LISTEN 2489/Xvnc 17 tcp6 0 0 [::]:5902 [::]:* LISTEN 3897/Xvnc 18 tcp6 0 0 [::]:6001 [::]:* LISTEN 2489/Xvnc 19 tcp6 0 0 [::]:6002 [::]:* LISTEN 3897/Xvnc 20 unix 2 [ ACC ] STREAM LISTENING 39621 2489/Xvnc @/tmp/.X11-unix/X1 21 unix 2 [ ACC ] STREAM LISTENING 53127 3897/Xvnc @/tmp/.X11-unix/X2 22 unix 2 [ ACC ] STREAM LISTENING 39622 2489/Xvnc /tmp/.X11-unix/X1 23 unix 2 [ ACC ] STREAM LISTENING 53128 3897/Xvnc /tmp/.X11-unix/X2
启动,关闭,重启VNC
systemctl start vncserver@:1.service #启动 systemctl stop vncserver@:1.service #关闭 systemctl restart vncserver@:1.service #重启
使用VNC服务连接(包括客户端下载-安装-使用)
VNC软件下载地址:
https://www.realvnc.com/en/connect/download/viewer/
VNC Viewer安装:
1、点击OK,同意协议;
2、GOT IT
3、新建连接
注释:
如果连接虚拟机中的Linux,要打开(如下图):
端口可以使用 netstat -lp | grep -i vnc 查询(5900/5901/5902...基本就是这几个之一)。
可能出现的错误:
1、vnc服务起不来报错,可以根据提示使用 systemctl status vncserver@:1.service 查看到服务的启动过程在哪里出问题了;
2、我遇到的问题:
可能出现的问题有 图形化服务未装配,检查本地图形化服务;
vncserver@:1.service 文件里面替换的内容错误,例如找不到用户家目录下的PID文件,可以使用systemctl status vncserver@:1.service查看到报错信息;
记得使用 systemctl daemon-reload 装载配置文件;
其余我没遇到问题,但是可以根据报错信息及日志判断问题。
以上是关于Centos7下部署VNC的主要内容,如果未能解决你的问题,请参考以下文章
CentOS7 gnome桌面下 VNC Server的搭建和客户端的连接配置