0%

CentOS7配置VNC Server

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/