linux替换屏幕保护进程,有没有一个体面的方式来阻止linux中的屏幕保护程序?...
我正在尋找一種體面的,不跛腳的方式來禁止xscreensaver,kscreensaver或gnome-screensaver,哪些可能正在運行,最好是以屏幕保護(hù)程序的方式,而且它絕對肯定必須執(zhí)行得很快.
我有一個基于gtk的游戲程序,在混合多個聲道的同時混合30幀/秒,由于它是由操縱桿控制的,有時候“屏幕保護(hù)程序”將會啟動.我將“the”引入引號,因為有最少三個不同的流行屏幕保護(hù)程序,xscreensaver,gnome-screensaver和kscreensaver,每個都有自己獨特和klunky的方法,應(yīng)用程序可能會阻止它們.
有沒有人封裝代碼來禁止所有這些進(jìn)入快速的代碼塊?哦,它必須是GPL兼容的.
目前,我的代碼只是悄悄地關(guān)于不操作的屏幕保護(hù)程序開發(fā)者,如果檢測到任何屏幕保護(hù)程序,并且操縱桿正在使用,并且實際上并沒有嘗試除了建議用戶手動禁用屏幕保護(hù)程序之外的任何其他操作,作為唯一的其他事情想想做的是如此難以置信的丑陋,我只是拒絕這樣做.
只是想知道其他人是否遇到這種情況,他們做了什么,如果他們做了任何事情,如果它像我看來一樣丑陋,那么它將會是如此,或者如果有一些優(yōu)雅的解決方案呢?似乎也許合成X事件不知何故愚弄屏幕保護(hù)程序認(rèn)為有一些活動可能會以通用的方式做的伎倆,但我真的不知道如何做(并希望你不需要根本做到這一點.)
有任何想法嗎?
謝謝,
– 史蒂夫
嗯,不幸的是,至少在Fedora核心8上,這似乎沒有起作用.
xdg-screensaver腳本在那里,似乎是打算工作,它實際上不起作用.
一旦你做了“xdg-screensaver suspend window-id”,那么窗口id就是從程序內(nèi)部得到的
xwindow_id = GDK_WINDOW_XWINDOW (GTK_WIDGET (widget)->window);
或者窗口id是否通過xprop獲得,并且xdg-screensaver手動運行,則會創(chuàng)建兩個進(jìn)程:
[scameron@zuul wordwarvi]$ps -efa | grep xdg
scameron 4218 1 0 20:12 pts/2 00:00:00 /bin/sh /usr/bin/xdg-screensaver suspend 0x3a00004
scameron 4223 1 0 20:12 pts/2 00:00:00 /bin/sh /usr/bin/xdg-screensaver suspend 0x3a00004
scameron 4313 3151 0 20:15 pts/1 00:00:00 grep xdg
[scameron@zuul wordwarvi]$
即使在他們被等待死亡的程序之后,他們也不會死亡,屏幕保護(hù)程序永遠(yuǎn)不會被重新啟用.
[scameron@zuul wordwarvi]$xdg-screensaver status
disabled
[scameron@zuul wordwarvi]$ls -ltr /tmp | grep xdg
-rw------- 1 scameron scameron 15 2009-01-20 20:12 xdg-screensaver-scameron--0.0
[scameron@zuul wordwarvi]$
運行xdg-screensaver resume window-id不會恢復(fù)屏幕保護(hù)程序.
要重新啟用屏幕保護(hù)程序,我必須手動殺死它們,并手動刪除/ tmp中留下的文件:
[scameron@zuul wordwarvi]$kill 4218 4223
[scameron@zuul wordwarvi]$rm /tmp/xdg-screensaver-scameron--0.0
[scameron@zuul wordwarvi]$xdg-screensaver status
enabled
[scameron@zuul wordwarvi]$
所以,良好的意圖,但似乎并沒有真正的工作.
不,當(dāng)然不是期望每一幀運行它,而是不希望它在運行時導(dǎo)致打嗝,是的.隨著我對X事件的綜合思考,我想象的是,通常情況下,屏幕保護(hù)程序會認(rèn)為有活動.
看看xdg-screensaver(這似乎是一個shell腳本,最終只是為我的過程做了一個“等待” – 酷),似乎是做我想做的.我知道我不可能是唯一或第一個面對這個問題.
謝謝!
– 史蒂夫
總結(jié)
以上是生活随笔為你收集整理的linux替换屏幕保护进程,有没有一个体面的方式来阻止linux中的屏幕保护程序?...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新兴实践_新兴文件系统简介
- 下一篇: 互联网晚报 | 11/11 星期五 |