屏幕保护程序如何在Mac OS X和Linux上运行?

在Windows中,屏幕保护程序只是在system32中转储了.scr扩展名的可执行文件,它由三个交换机控制(我认为是/ p,/ c和/ s)。

屏幕保护程序如何在Mac OS X和Linux上运行? 它们在Mac OS X和Linux(Gnome,KDE,Ubuntu,或者差异在哪里)的工作方式类似,还是完全不同?

此外,它们可以用C#/ Mono开发吗?

OSX中的屏幕保护程序系统是屏幕保护程序(通常但不一定)是Objective-C库,扩展基类以实现诸如绘图,首选项窗格,预览模式等方法。

有一个关于在这里写它们的好教程。

虽然Objective-C是预期的语言,但它足以直接将Objective-C API背后的C / C ++实现结合在一起。

有一个API(桥梁)允许其他语言与Objective-C API互操作。 例如, 这用于允许用Python编写的OSX屏幕保护程序。 我想类似的方法对于Mono来说是可行的。

xscreensaver现在主要在OSX上开发,并在那里使用OSX屏幕保护程序API和X11上的其他东西。

对于X11,我很确定你可以定位xscreensaver并让它在GNOME中运行。 KDE不确定。 但xscreensaver长期以来一直是Linux上的主导软件包。

IIRC,xscreensaver的编程模型是你把它写成任何绘制X窗口的旧应用程序。 然后可以使用“ -root ”调用它,它应该在根窗口上绘制。 但这可能不是全部。

xscreensaver常见问题解答似乎表明GNOME和KDE都有自己的屏幕保护程序框架。 但维基百科关于gnome-screensaver的文章称它是xscreensaver的包装器。