如何在根窗口(全屏)中手动启动 XScreenSaver 应用程序?

如何在根窗口(全屏)中手动启动 XScreenSaver 应用程序?

我已经下载了X屏幕保护程序收集,涉足视觉效果等。

我已经从源代码编译了我的,但它们显然也可以从大多数发行版的存储库中获得。

现在,该集合中的每个屏幕保护程序都是一个应用程序,可以在窗口模式下运行,也可以通过使用选项写入根窗口来运行-root

问题是,虽然在窗口模式下启动屏幕保护程序工作正常:

cd /usr/libexec/xscreensaver
./apple2 -text -program 'uname -a'

我现在想全屏运行该应用程序。每个 XScreenSaver 程序都带有一个额外的开关:-root,据说可以全屏运行。

问题是,简单地使用-root开关运行它不会执行任何操作:

./apple2 -text -program 'uname -a' -root

该应用程序似乎在后台运行(我可以使用 确认ps),并且可以使用 停止它Ctrl-C,但是它不会向终端产生任何输出,并且没有打开窗口或其他任何内容。

我怀疑根窗口隐藏在我的桌面、面板和其他窗口后面。

我猜,当 XScreenSaver 守护程序调用应用程序时,它会采取某种诡计将屏幕保护程序置于前面。

那么,无论如何,有什么想法可以让任何 XScreenSaver 应用程序以全屏方式启动(可能通过开关)-root吗?

我在 Fedora 23 上使用 XFCE4。

答案1

您可以尝试我出于相同目的编写的程序: https://github.com/grwlf/xscreensaver-run

只需构建并运行

./xscreensaver-run /usr/libexec/xscreensaver/apple2 -text -program 'uname -a'

它的工作原理是创建一个全屏窗口,然后使用正确的-window-id <arg>参数调用屏幕保护程序。

相关内容