我已经下载了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>
参数调用屏幕保护程序。