1)启动桌面1的服务
[root@testdb ~]# vncserver :1
New 'testdb:1 (root)' desktop is testdb:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/testdb:1.log
2)手工杀掉已经启动的VNC服务进程
[root@testdb ~]# ps -ef | grep -i vnc | grep -v grep
root 1178 1 0 11:07 pts/2 00:00:00 Xvnc :1 -desktop testdb:1 (root) -httpd /usr/share/vnc/classes -auth /root/.Xauthority -geometry 1024x768 -depth 16 -rfbwait 30000 -rfbauth /root/.vnc/passwd -rfbport 5901 -pn
root 1182 1 0 11:07 pts/2 00:00:00 vncconfig -iconic
[root@testdb ~]# kill -9 1178
3)确认进程已经杀掉
[root@testdb ~]# ps -ef | grep -i vnc | grep -v grep
4)再次启动桌面1的VNC服务,这里可以看到报错
[root@testdb ~]# vncserver :1
Warning: testdb:1 is taken because of /tmp/.X1-lock
Remove this file if there is no X server testdb:1
A VNC server is already running as :1
5)按照错误提示的内容,需要删除/tmp/.X1-lock文件
[root@testdb ~]# rm -f /tmp/.X1-lock
启动尝试,仍然报错
[root@testdb ~]# vncserver :1
Warning: testdb:1 is taken because of /tmp/.X11-unix/X1
Remove this file if there is no X server testdb:1
A VNC server is already running as :1
同样,按照提示的错误,进一步删除/tmp/.X11-unix/X1文件
[root@testdb ~]# rm -f /tmp/.X11-unix/X1
再次启动尝试,OK,启动成功!
[root@testdb ~]# vncserver :1
New 'testdb:1 (root)' desktop is testdb:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/testdb:1.log
6)如果服务器异常关机很可能会出现5)的问题,根据提示删除文件,最后运行命令开启VNC服务
systemctl start vncserver@:1.service