首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xscreensaver不能正常工作

Xscreensaver不能正常工作
EN

Ask Ubuntu用户
提问于 2020-04-03 15:43:06
回答 1查看 4.3K关注 0票数 3

我不明白Linux和sys的内容,但我最近安装了xscreensaver Ubuntu18.04.4LTS,描述了这里,并遵循了所有步骤。如果我用Cntrl+Alt+L锁定屏幕,那么xscreensaver就会启动。但是如果我等待屏幕超时,它就会像gnome屏幕保护程序一样变成黑色,尽管我已经安装了gnome-屏幕保护程序。奇怪的是,当我输入locate screensaver.desktop时,我得到:

代码语言:javascript
复制
/etc/xdg/autostart/gnome-screensaver.desktop
/home/nestor/.config/autostart/xscreensaver.desktop

我害怕删除gnome-screensaver.desktop文件,所以我删除了其中的所有内容。然而,同样的问题依然存在。

如果重新启动后输入xscreensaver -nosplash,则得到:

代码语言:javascript
复制
xscreensaver: 18:39:29: already running on display :0 (window 0x1a000de) 

我想,这很好,并且排除了屏幕保护程序在启动时不会自动启动的可能性。

然后我按照这里的指示做了:

代码语言:javascript
复制
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

在最后一个命令之后,我得到了消息:

代码语言:javascript
复制
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.

所提及的日志上说:

代码语言:javascript
复制
● 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,其中包含:

代码语言:javascript
复制
[Unit]
Description=XScreenSaver
[Service]
ExecStart=xscreensaver
[Install]
WantedBy=default.target

我必须输入绝对路径吗?有什么想法可以让屏幕保护程序正常工作吗?谢谢

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2020-08-23 09:41:21

谢谢你的提问,@NeStack。

这条错误信息似乎很清楚:

代码语言:javascript
复制
systemd[1492]: /usr/lib/systemd/user/xscreensaver.service:5: Executable path is not absolute: xscreensaver

因此,我用sudo vim /usr/lib/systemd/user/xscreensaver.service打开了文件,并看到了以下内容:

代码语言:javascript
复制
[Service]
ExecStart=xscreensaver

我用ExecStart=/usr/bin/xscreensaver替换了它,之后systemctl --user start xscreensaver.service不再给出错误。`

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1223804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档