CentOS7与6有些许变化,感觉有点不太适应。
Step 1:安装tigervnc server 和 X11 fonts:
[root@liux ~]# yum install tigervnc-server xorg-x11-fonts-Type1
Step 2:将VNC server的配置文件复制到/etc/systemd/system/下:
[root@liux ~]# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
备注:VNC server默认监听5900端口,但是我们可以为VNC设置端口偏移量,例如我上面设置的偏移是1,那么,你连接VNC服务器时可以指定ipaddress:sub-port(192.168.0.12:1或192.168.0.12:5901)。
Step 3:编辑刚刚复制过来的文件:
[root@liux ~]# vi /etc/systemd/system/vncserver@:1.service
在文件的最后,我们可以看到如下内容。其中,对应的就是真实用户的用户名,例如root
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[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=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
我们将替换为我们真实存在的用户:liux,同时可以在其中配置屏幕分辨率如-geometry 1440×900,当然分辨率也可以在客户端设置:
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[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=/usr/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 || :'
[Install]
WantedBy=multi-user.target
Step 4:配置防火墙,允许VNC server使用的端口通过:
[root@liux ~]# firewall-cmd --permanent --zone=public --add-port=5901/tcp
[root@liux ~]# firewall-cmd --reload
Step 5:切换到mdrill用户启动VNC server:
[mdrill@liux ~]$ vncserver
设置密码:
vncpasswd
You will require a password to access your desktops.
Password:
Verify:
xauth: file /home/liux/.Xauthority does not exist
Step 6:切换回root,重新加载daemon-reload:
[root@liux ~]# systemctl daemon-reload
启动VNC server:
[root@liux ~]# systemctl start vncserver@:1.service
设置开机自启动:
[root@liux ~]# systemctl enable vncserver@:1.service
清理/重置端口
[root@liux ~]# rm -rf /tmp/.X*
[root@liux ~]# rm -rf ~/.vnc/