首页 > 代码库 > CentOS7下VNC服务器-tigervnc配置
CentOS7下VNC服务器-tigervnc配置
昨天在我的CentOS7测试机上安装配置了VNC服务器,参考了网上很多资料,但都有一定的缺陷,特别是在配置root账户远程VNC连接的配置文件时,几乎没有什么参考文档提醒PIDFile的配置要去掉/home,导致我配置的时候一直报错,折腾了一天,最后在一篇参考文档的报错解析中得到启发,最后完成了配置,先将我的实际操作整理成文档供大家参考,也供自己以后查阅。正文如下:
1、如果第一次安装tigervnc,可以跳过第2步;
2、如果以前安装过,需要通过以下几步删除tigervnc:
卸载原安装的服务器软件:yum remove tigervnc-server
删除/etc/systemd/system文件夹下的配置文件:vncserver@:1.service等
删除可远程VNC连接的账户home目录下的.vnc文件夹:remove -rf ~\.vnc
查看/tmp/.X11-unix目录,将X[1-9]的文件删掉,注意X0不能删除;
最后重启OS
3、安装tigervnc:yum install tigervnc-server
--------------------------以上为root用户操作事项-------------------------------------------
--------------------------以下分别以root账户和其它账户进行配置-----------------------------
【root账户:操作均在root账户下执行】
4、在/etc/systemd/system文件下创建配置文件
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
这里需要注意的是上面这个1代表服务端口号,可取其它值,此处的1代表开放的服务5901端口,以此类推
5、编辑配置文件:vim /etc/systemd/system/vncserver@:1.service,更改如下两行(红色行),将<USER>改为root, 将PIDFile=后面的/home去掉
[...]
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :‘
# ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
# PIDFile=/home/<USER>/.vnc/%H%i.pid
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :‘
6、设置vnc远程连接密码:vncpasswd
7、添加防火墙规则
firewall-cmd --permanent --zone=public --add-service vnc-server
firewall-cmd --reload
如果提示firewalld没启动,请运行firewalld启动防火墙,再运行上面两条命令;
8、设置启动
systemctl daemon-reload 重启daemon使上述配置生效
systemctl enable vncserver@:1.service 使服务自动启动
systemctl start vncserver@:1.service 启动服务
【其它账户:以账户名为cs1为例】
4、在/etc/systemd/system文件下创建配置文件[root账号下操作]
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service
这里需要注意的是上面这个2代表服务端口号,可取其它值,此处的2代表开放的服务5902端口,以此类推
5、编辑配置文件[root账号下操作]:vim /etc/systemd/system/vncserver@:1.service,更改如下两行(红色行),将<USER>改为cs1
[...]
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :‘
# ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
# PIDFile=/home/<USER>/.vnc/%H%i.pid
ExecStart=/sbin/runuser -l cs1 -c "/usr/bin/vncserver %i"
PIDFile=/home/cs1/.vnc/%H%i.pid
ExecStop=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :‘
6、设置vnc远程连接密码[cs1账号下操作]:vncpasswd
7、添加防火墙规则[root账号下操作](如果以前已添加,此步骤可省略)
firewall-cmd --permanent --zone=public --add-service vnc-server
firewall-cmd --reload
如果提示firewalld没启动,请运行firewalld启动防火墙,再运行上面两条命令;
8、设置启动[root账号下操作]
systemctl daemon-reload 重启daemon使上述配置生效
systemctl enable vncserver@:2.service 使服务自动启动
systemctl start vncserver@:2.service 启动服务
参考:http://www.centoscn.com/image-text/install/2016/0407/7008.html
http://www.cnblogs.com/h2zZhou/p/5209948.html
本文出自 “韩伟” 博客,请务必保留此出处http://davidhan.blog.51cto.com/511334/1886761
CentOS7下VNC服务器-tigervnc配置