我刚刚在 Ubuntu 12.04 中以 gnome-session-fallback (Gnome Classic) 模式安装了 xscreensaver 而不是 gnome-screensaver。它运行正常,但我遇到了一个问题:我将“xscreensaver -no-splash”命令放入了启动应用程序列表。
但是它不会自动启动,我必须手动运行此命令。我认为问题在于它在我登录之前尝试启动。那么我如何在登录后自动启动它?
2021 年 1 月更新
我很久以前就换了另一个 DE,所以这个问题不再影响我。新的答案还在不断涌现,但我无法将任何一个答案标记为已接受,因为我无法再测试它们了。
答案1
在 Ubuntu 13.04 中测试并使用
由于尚未将答案标记为正确;这可能是在启动时运行 xscreensaver 时出现的问题
正如@peterx14所说这里,许多有关设置 xscreensaver 的教程提供了不正确的信息。
他们告诉您使用以下命令设置 screensaver.desktop 文件:
sudo gedit /etc/xdg/autostart/screensaver.desktop
然后在里面输入以下信息:
[Desktop Entry]
Name=Screensaver
Type=Applicaton
Exec=xscreensaver -nosplash
但是,出于某种原因,在许多教程中,上述命令都是错误的。“Application”被错误地拼写为“Applicaton”。这导致启动命令不起作用。
因此,如果您已经输入命令
"xscreensaver -no-splash"
放入您的启动列表中,它将无法工作,因为 xscreensaver 没有设置该类型应用程序。
要查明是否是此问题:首先运行locate screensaver.desktop
。这应该会在列表中的某个位置告诉您 screensaver.desktop 在哪里。在我的计算机上它位于/etc/xdg/autostart/screensaver.desktop
,然后在编辑器中打开它(终端“nano”可能是最好的,因为您需要 sudo 命令才能打开它)并将“Applicaton”更改为“Application”。
此外,还有不同的教程(例如自由主义者和拉杜的回应)建议使用:
"xscreensaver -nosplash"
就像上面的修复程序一样。这取决于哪个值你有之内你的screensaver.desktop 文件line 4: Exec=xscreensaver -nosplash
。
答案2
一个可行的方法是在运行命令之前引入短暂的延迟(例如 10 秒)。这应该允许所有登录过程在运行 xscreensaver 命令之前完成。
使用启动应用程序命令行:
sh -c "sleep 10 && xscreensaver -no-splash &"
答案3
我原本它可以工作,然后我更新到 14.04 之后它就停止工作了。
解决方案是进入 Synaptic 并彻底清除Gnome 屏幕保护程序。Ubuntu 会在“升级”时偷偷重新安装它。
当您重新启动时,它现在应该可以按照原始xscreensaver -nosplash
启动方式运行。
答案4
使用 /usr/share/xscreensaver 中的 xscreensaver-daemon.desktop 来替换 xscreensaver.desktop 。
看https://bugs.launchpad.net/ubuntu/+source/xscreensaver/+bug/406534评论#8
这在 14.04 中对我有用