Xscreensaver 无法正常工作

Xscreensaver 无法正常工作

我不懂 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就不再出现错误了。`

相关内容