我不懂 Linux 和系统管理的东西,但我最近按照说明安装了 xscreensaver Ubuntu 18.04.4 LTS这里我已经遵循了所有步骤。如果我使用 Cntrl+Alt+L 锁定屏幕,则 xscreensaver 会启动。但是如果我等待屏幕超时,它就会像 gnome-screensaver 一样变成空白黑色,尽管我安装了 gnome-screensaver。奇怪的是,当我输入时,locate screensaver.desktop
我得到:
/etc/xdg/autostart/gnome-screensaver.desktop
/home/nestor/.config/autostart/xscreensaver.desktop
我害怕删除该gnome-screensaver.desktop
文件,所以我删除了其中的所有内容。但问题仍然存在。
如果重新启动后我输入,xscreensaver -nosplash
我会得到:
xscreensaver: 18:39:29: already running on display :0 (window 0x1a000de)
我想,这很好,并且排除了屏幕保护程序在启动时不会自动启动的可能性。
然后我按照说明这里我做到了:
sudo apt-get remove --auto-remove gnome-screensaver
sudo apt-get purge --auto-remove gnome-screensaver
systemctl --user enable xscreensaver.service
systemctl --user start xscreensaver.service
执行完最后一条命令后我收到消息:
Failed to start xscreensaver.service: Unit xscreensaver.service is not loaded properly: Exec format error.
See user logs and 'systemctl --user status xscreensaver.service' for details.
引用的日志说:
● xscreensaver.service - XScreenSaver
Loaded: error (Reason: Exec format error)
Active: inactive (dead)
апр 03 18:07:22 nestor-Eve-V systemd[1492]: /usr/lib/systemd/user/xscreensaver.service:5: Executable path is not absolute: xscreensaver
апр 03 18:07:22 nestor-Eve-V systemd[1492]: xscreensaver.service: Cannot add dependency job, ignoring: Unit xscreensaver.service is not loaded properly: Exec format error.
这表明问题是“可执行路径不是绝对的”,所以我打开了该文件/usr/lib/systemd/user/xscreensaver.service
,其中包含:
[Unit]
Description=XScreenSaver
[Service]
ExecStart=xscreensaver
[Install]
WantedBy=default.target
我必须输入绝对路径吗?有什么想法可以让我启用屏幕保护程序以使其正常工作吗?谢谢
答案1
感谢您的提问,@NeStack。
这个错误信息看起来很清楚:
systemd[1492]: /usr/lib/systemd/user/xscreensaver.service:5: Executable path is not absolute: xscreensaver
于是我打开了该文件sudo vim /usr/lib/systemd/user/xscreensaver.service
并看到了以下内容:
[Service]
ExecStart=xscreensaver
我用 替换了它ExecStart=/usr/bin/xscreensaver
,之后systemctl --user start xscreensaver.service
就不再出现错误了。`