问题描述:
配置VNC环境时 执行systemctl配置端口发现有些端口被占用
systemctl status vncserver-user@:2.service
\u25cf vncserver-dgq@:2.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver-dgq@.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2021-04-14 14:12:02 CST; 25s ago
Main PID: 55080 (code=exited, status=2)
Apr 14 14:12:02 SEU.IC1 systemd[1]: Starting Remote desktop service (VNC)...
Apr 14 14:12:02 SEU.IC1 systemd[1]: Started Remote desktop service (VNC).
Apr 14 14:12:02 SEU.IC1 vncserver_wrapper[55080]: A VNC server is already running as :2
Apr 14 14:12:02 SEU.IC1 vncserver_wrapper[55080]: FATAL: 'runuser -l dgq' failed!
Apr 14 14:12:02 SEU.IC1 systemd[1]: vncserver-dgq@:2.service: main process exited, code=exited, status=2/INVALIDARGUMENT
Apr 14 14:12:02 SEU.IC1 systemd[1]: Unit vncserver-dgq@:2.service entered failed state.
Apr 14 14:12:02 SEU.IC1 systemd[1]: vncserver-dgq@:2.service failed.
发现VNC server 2端口已经被占用,因此执行
root@SEU ~]# /usr/sbin/lsof -i tcp:5902
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Xvnc 48138 dgq 9u IPv4 3035358 0t0 TCP *:5902 (LISTEN)
Xvnc 48138 dgq 10u IPv6 3035359 0t0 TCP *:5902 (LISTEN)
或者
[root@testdb ~]# ps -ef | grep -i vnc | grep -v grep
查看该端口
解决方案:
直接vncserver -kill :端口号
[root@SEU ~]# vncserver -kill :2
Can't find file /root/.vnc/SEU.IC1:2.pid
You'll have to kill the Xvnc process manually
后面发现占用的用户不是root,因此需要切换相关用户去杀掉。
或者直接干脆一点,用kill语句杀掉。
[root@testdb ~]# kill -9 48138
后面systemctl配置发现还是报错,
[root@SEU ~]# systemctl status vncserver-dgq@:2.service
\u25cf vncserver-dgq@:2.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver-dgq@.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2021-04-14 14:23:39 CST; 19s ago
Main PID: 56579 (code=exited, status=2)
Apr 14 14:23:39 SEU.IC1 systemd[1]: Starting Remote desktop service (VNC)...
Apr 14 14:23:39 SEU.IC1 systemd[1]: Started Remote desktop service (VNC).
Apr 14 14:23:39 SEU.IC1 vncserver_wrapper[56579]: Warning: SEU.IC1:2 is taken because of /tmp/.X2-lock
Apr 14 14:23:39 SEU.IC1 vncserver_wrapper[56579]: Remove this file if there is no X server SEU.IC1:2
Apr 14 14:23:39 SEU.IC1 vncserver_wrapper[56579]: A VNC server is already running as :2
Apr 14 14:23:39 SEU.IC1 vncserver_wrapper[56579]: FATAL: 'runuser -l dgq' failed!
Apr 14 14:23:39 SEU.IC1 systemd[1]: vncserver-dgq@:2.service: main process exited, code=exited, status=2/INVALIDARGUMENT
Apr 14 14:23:39 SEU.IC1 systemd[1]: Unit vncserver-dgq@:2.service entered failed state.
Apr 14 14:23:39 SEU.IC1 systemd[1]: vncserver-dgq@:2.service failed.
从报错信息可以看出是部分缓存文件没有清除,root直接清掉,后面VNC配置就没问题了。