如何将 Xscreensaver 设置为自动启动?

bal*_*ing 10 autostart xscreensaver

我刚刚在 gnome-session-fallback(Gnome Classic)模式下在 Ubuntu 12.04 中安装了 xscreensaver 而不是 gnome-screensaver。它工作正常,但我有一个问题:我将“xscreensaver -no-splash”命令放到启动应用程序列表中。

但它不会自动启动,我必须手动运行此命令。我认为问题是它在我登录之前尝试启动。 那么如何在登录后自动启动它?

2021 年 1 月更新

我很久以前搬到了另一个 DE,所以这个问题不再影响我。新的答案仍在出现,但是我无法将其中任何一个标记为已接受,因为我无法再测试它们。

小智 13

在 Ubuntu 13.04 中测试和使用

由于尚未将答案标记为正确;这可能是在启动时运行 xscreensaver 的问题

正如@peterx14在这里所说,许多设置 xscreensaver 的教程提供了不正确的信息。

他们告诉您使用以下命令设置 screenaver.desktop 文件:

sudo gedit /etc/xdg/autostart/screensaver.desktop
Run Code Online (Sandbox Code Playgroud)

然后将以下信息放入其中:

[Desktop Entry]
Name=Screensaver
Type=Applicaton
Exec=xscreensaver -nosplash
Run Code Online (Sandbox Code Playgroud)

但是,出于某种原因,在许多这些教程中,上述命令是不正确的。“应用程序”被错误拼写为“应用程序”。这会导致启动命令不起作用。

因此,如果您已经输入了命令

"xscreensaver -no-splash" 
Run Code Online (Sandbox Code Playgroud)

进入您的启动列表,它不会工作,因为 xscreensaver 没有设置类型应用程序。

要确定这是否是问题:首先运行locate screensaver.desktop. 这应该在列表中的某个地方告诉您screensaver.desktop 在哪里。在我的电脑上,它在/etc/xdg/autostart/screensaver.desktop,然后在编辑器中打开它(终端“nano”可能是最好的,因为你需要 sudo 命令才能打开它)并将“应用程序”更改为“应用程序”。

此外,不同的教程(例如liberiangeekRadu's response)建议使用:

"xscreensaver -nosplash"
Run Code Online (Sandbox Code Playgroud)

作为上述修复使用。这取决于其价值,你有内就screensaver.desktop文件line 4: Exec=xscreensaver -nosplash


fos*_*dom 6

一种可能的方法是在运行命令之前引入(例如)10 秒的短暂延迟。这应该允许所有登录进程在运行 xscreensaver 命令之前完成。

使用以下启动应用程序命令行:

sh -c "sleep 10 && xscreensaver -no-splash &"
Run Code Online (Sandbox Code Playgroud)