VNC 服务一直运行良好,直到最近一次停电。
当我尝试跑步时
systemctl start vncserver@:1.service
它给出了一条信息
Job for vncserver@:1.service failed because a configured resource limit was exceeded. See "systemctl status vncserver@:1.service" and "journalctl -xe" for details.
当我跑步时
systemctl status vncserver@:1.service
它给出以下输出
● vncserver@:1.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2018-08-06 11:48:03 +03; 50s ago
Process: 1238 ExecStart=/usr/sbin/runuser -l abdullah -c /usr/bin/vncserver %i -geometry 1920x1080 (code=exited, status=255)
Process: 1224 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Aug 06 11:47:56 RESysLab-Server_Machine systemd[1]: Starting Remote desktop s...
Aug 06 11:48:03 RESysLab-Server_Machine systemd[1]: vncserver@:1.service: con...
Aug 06 11:48:03 RESysLab-Server_Machine systemd[1]: Failed to start Remote de...
Aug 06 11:48:03 RESysLab-Server_Machine systemd[1]: Unit vncserver@:1.service...
Aug 06 11:48:03 RESysLab-Server_Machine systemd[1]: vncserver@:1.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
日记-xe
包括以下消息:
Aug 06 11:58:32 RESysLab-Server_Machine runuser[4805]: pam_unix(runuser-l:session): session opened for user abdullah by (uid=0)
Aug 06 11:58:32 RESysLab-Server_Machine runuser[4805]: Warning: RESysLab-Server_Machine:1 is taken because of /tmp/.X11-unix/X1
Aug 06 11:58:32 RESysLab-Server_Machine runuser[4805]: Remove this file if there is no X server RESysLab-Server_Machine:1
Aug 06 11:58:32 RESysLab-Server_Machine runuser[4805]: A VNC server is already running as :1
Aug 06 11:58:32 RESysLab-Server_Machine runuser[4805]: Warning: RESysLab-Server_Machine:1 is taken because of /tmp/.X11-unix/X1
Aug 06 11:58:32 RESysLab-Server_Machine runuser[4805]: Remove this file if there is no X server RESysLab-Server_Machine:1
Aug 06 11:58:32 RESysLab-Server_Machine runuser[4805]: Warning: RESysLab-Server_Machine:2 is taken because of /tmp/.X11-unix/X2
Aug 06 11:58:32 RESysLab-Server_Machine runuser[4805]: Remove this file if there is no X server RESysLab-Server_Machine:2
Aug 06 11:58:32 RESysLab-Server_Machine runuser[4805]: Warning: RESysLab-Server_Machine:3 is taken because of /tmp/.X11-unix/X3
Aug 06 11:58:32 RESysLab-Server_Machine runuser[4805]: Remove this file if there is no X server RESysLab-Server_Machine:3
Aug 06 11:58:35 RESysLab-Server_Machine runuser[4805]: New 'RESysLab-Server_Machine:6 (abdullah)' desktop is RESysLab-Server_Machine:6
Aug 06 11:58:35 RESysLab-Server_Machine runuser[4805]: Starting applications specified in /home/abdullah/.vnc/xstartup
Aug 06 11:58:35 RESysLab-Server_Machine runuser[4805]: Log file is /home/abdullah/.vnc/RESysLab-Server_Machine:6.log
Aug 06 11:58:35 RESysLab-Server_Machine runuser[4805]: pam_unix(runuser-l:session): session closed for user abdullah
Aug 06 11:58:35 RESysLab-Server_Machine systemd[1]: PID file /home/abdullah/.vnc/RESysLab-Server_Machine:1.pid not readable (yet?) after start.
Aug 06 11:58:35 RESysLab-Server_Machine systemd[1]: Failed to start Remote desktop service (VNC).
我应该怎么做才能解决这个问题?
为了自动删除剩余的套接字文件,如接受的答案中所述,我最终得到了这个
/etc/systemd/system/[email protected]
文件:与原始配置的主要区别:
systemd
将说明符的值保存%i
为环境变量display_temp
,因为我们需要在下一步中去掉冒号 (:1
->1
)vncserver -kill
我们删除目录下的套接字/tmp/.X11-unix/
并将文件锁定在/tmp/
. 为了使用环境变量替换,我们需要像这样转义美元符号:($$
有关更多详细信息,请参阅该答案:https ://unix.stackexchange.com/a/216786 )我找到了解决方案:通过删除文件X1
rm -f /tmp/.X11-unix/X1
并重新启动 VNC 服务器有效。