一.安装
以root用户运行以下命令来安装vncserver;
sudo yum install epel-release
sudo yum groupinstall "X Window system"
sudo yum groupinstall xfce
sudo systemctl isolate graphical.target
sudo yum install tigervnc-server
同样运行以下命令来安装vncviewer;
sudo yum install vnc
停止并禁用防火墙;
systemctl stop firewalld.service
systemctl disable firewalld.service
二.配置
vncviewer基本上不用配置;
vncserver的配置,创建一个新的配置文件,以开启1号窗口为例(也可以同时开启多个窗口,修改数字即可),方法如下:
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
或者再增加一个窗口:
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service
编辑/etc/systemd/system/vncserver@:1.service,设置用户root相关参数,最终内容如下:
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
User=root
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=-/usr/bin/vncserver -kill %i
ExecStart=/usr/bin/vncserver %i
PIDFile=/root/.vnc/%H%i.pid
ExecStop=-/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
潜在问题
1.设置为非root用户报错:
2.Type=forking报错,改为Type=simple
3.vnc viewer客户端连接黑屏
解决方案
改变xstartup的权限
这个问题是很多人容易忽视的问题,也是造成连接成功后黑屏的原因之一。
在CentOS7中,xstartup的文件路径为:/root/.vnc/ (可以通过locate xstartup来查看xstartup的文件路径)
所以需要执行:chmod 777 /root/.vnc/xstartup
#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
#exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
startxfce4 &
三.应用
更新systemctl以使其生效;
systemctl daemon-reload
设置vncserver的密码;
vncpasswd root
按提示输入密码以及确认密码
启动该服务用来启用vnc的1号窗口;
systemctl start vncserver@:1.service 或者 vncserver :1
关闭1号窗口:
systemctl stop vncserver@:1.service 或者 vncserver -kill :1
设置为开机自动启动;
systemctl enable vncserver@:1.service