我如何才能识别最后播放的 xscreensaver 的名称?

我如何才能识别最后播放的 xscreensaver 的名称?

有没有办法识别 xscreensaver 会话中最后播放的屏幕保护程序的名称?在 xscreensaver、脚本文件或系统某处是否有日志或最后播放的屏幕保护程序?例如,如果您将其设置为循环或随机?

答案1

确实,有一种方法可以通过日志显示此信息,通常用于调试目的。您的用户会话(无论是 Gnome 还是 Xfce)通常会xscreensaver使用选项自动加载xscreensaver -no-splash &,就像在 Xfce 中一样,例如使用文件/etc/xdg/xfce4/xinitrc

临时设置

因此,如果您只想xscreensaver为该会话加载不同的选项(直到您注销),您可以使用以下命令终止所有正在运行的实例

killall xscreensaver 

然后使用适当的新参数启动它:

xscreensaver -verbose -no-splash -log /home/$USER/xscreen2.log &

此命令xscreensaver使用详细选项启动守护进程,以便它准确报告其执行的操作,然后将其保存在指定的日志中。

对于此实验,请运行xscreensaver-demo以将屏幕保护程序选项设置为随机,并在设置中选择非常低的“之后空白”和“之后循环”值。现在,当达到您指定的超时时,xscreensaver将启动并写入日志。(更改的设置xscreensaver-demo保存在中~/.xscreensaver。)

更加“永久”的设定(示例针对 Xfce)

如果您想要xscreensaver始终将其数据保存到日志中(用于解锁屏幕的密码不会复制到日志中),首先将 xfce4 的系统范围复制xinitrc到您的主文件夹:

cp /etc/xdg/xfce4/xinitrc $HOME/.config/xfce4/xinitrc

现在改变两次出现的

xscreensaver -no-splash &

在我的版本中,大约在第 199 行和第 208 行

xscreensaver -verbose -no-splash -log /home/$USER/xscreen1.log &

如果您想恢复默认设置,只需在文件中改回命令或删除,$HOME/.config/xfce4/xinitrc以便xinitrc在登录时不应用任何自定义 xfce4 设置。

(您必须注销并重新登录才能使此设置生效)

创建的日志样本包含只是您正在寻找的内容:一种识别在随机会话中播放哪些屏幕保护程序的方法(我缩短了日志,因为它非常冗长)

xscreensaver 5.15, copyright (c) 1991-2008 by Jamie Zawinski <[email protected]>.
xscreensaver: 00:55:14: 0: spawning "glschool -root" in pid 8392.
xscreensaver: 00:56:14: 0: killing pid 8392 (glschool)
xscreensaver: 00:56:14: 0: visual 0x21 (TrueColor,   depth: 24, cmap: 256)
xscreensaver: 00:56:14: 0: saver window is 0x2e0000c.
xscreensaver: 00:56:14: 0: destroyed old saver window 0x2e00009.
xscreensaver: 00:56:14: 0: spawning "glmatrix -root" in pid 8393.
xscreensaver: 00:56:14: 0: child pid 8392 (glschool) terminated with signal 15.
xscreensaver: 00:57:14: 0: killing pid 8393 (glmatrix)
xscreensaver: 00:57:14: 0: visual 0x21 (TrueColor,   depth: 24, cmap: 256)
xscreensaver: 00:57:14: 0: saver window is 0x2e0000f.
xscreensaver: 00:57:14: 0: destroyed old saver window 0x2e0000c.
xscreensaver: 00:57:14: 0: child pid 8393 (glmatrix) terminated with signal 15.
xscreensaver: 00:57:14: 0: spawning "fiberlamp -root" in pid 8395.
xscreensaver: 00:58:14: 0: killing pid 8395 (fiberlamp)
xscreensaver: 00:58:14: 0: child pid 8395 (fiberlamp) terminated with signal 15.
xscreensaver: 00:58:14: 0: visual 0x21 (TrueColor,   depth: 24, cmap: 256)
xscreensaver: 00:58:14: 0: saver window is 0x2e00012.
xscreensaver: 00:58:14: 0: destroyed old saver window 0x2e0000f.
xscreensaver: 00:58:14: 0: spawning "fuzzyflakes -root" in pid 8396.

有关详细信息,请参阅man xscreensaverman xscreensaver-demoUbuntu 在线手册页

相关内容