X11有一個屏幕保護程序機制,可以通過xset
命令進行控制。無需調用外部命令來禁用或心跳屏幕保護程序,從我的X11應用程序中,我如何心跳屏幕保護程序機制,以防止它關閉顯示器?如何檢測X11屏幕保護程序?
2
A
回答
3
如果在現代Linux系統上,首選的FreeDesktop方法是根據您的需要ping DBus接口,特別是org.freedesktop.ScreenSaver.SimulateUserActivity()
或另一部分暴露接口。
0
以及@Kitsune建議的D-Bus解決方案。您也可以採取一些媒體播放器的做法,並定期模擬按鍵(例如Alt)。
這段代碼在圖騰:http://git.gnome.org/browse/totem/tree/lib/totem-scrsaver.c被設計爲投進你的代碼庫(這是LGPL 2.1版),並同時使用d-bus接口,還可以使用XTest
合成按Alt鍵每隔30s。
相關問題
- 1. 檢查屏幕保護程序激活
- 2. 當屏幕保護程序不再顯示時檢測
- 3. 檢測正在運行的屏幕保護程序與xlib
- 4. 當屏幕保護程序與Cocoa激活時檢測
- 5. 接收屏幕保護程序通知
- 6. 捕捉屏幕保護程序事件
- 7. 屏幕保護程序隱藏桌面
- 8. 屏幕保護程序的Android代碼
- 9. applicationWillResignActive x屏幕保護程序
- 10. Windows UWP作爲屏幕保護程序?
- 11. iphone屏幕保護程序(帶時鐘)
- 12. Xcode與openGL的屏幕保護程序
- 13. iPhone應用內屏幕保護程序
- 14. Android禁用屏幕保護程序
- 15. 動畫屏幕保護程序
- 16. 如何創建屏幕保護程序,如屏幕的HTML,jQuery的
- 17. Windows C++屏幕保護程序不會回到屏幕上
- 18. 如何以編程方式安裝屏幕保護程序?
- 19. 如何以編程方式更改屏幕保護程序?
- 20. 如何檢測應用程序(如Quicktime)是否阻止屏幕保護程序運行
- 21. Windows XP屏幕保護程序 - 使用屏幕保護程序啓動過程死亡
- 22. 如何從os x終端啓動屏幕保護程序(並鎖定屏幕)?
- 23. 如何檢查Linux控制檯屏幕保護程序是否屏蔽了屏幕
- 24. 複製文件構建階段中的錯誤?屏幕保護程序複製到庫/屏幕保護程序
- 25. 如何在android中自定義屏幕保護程序?
- 26. 如何設置桌面壁紙和屏幕保護程序?
- 27. 如何開發Linux屏幕保護程序
- 28. 如何獲取用戶鎖定/屏幕保護程序延遲?
- 29. 如何修改屏幕保護程序(.saver)?
- 30. 如何在Delphi中進行屏幕保護程序預覽?
還有一個設置DBus(我相信)專門禁止屏保;例如圖騰設置了這一點。 – BRFennPocock 2012-02-20 23:00:02
是的,我相信'org.freedesktop.ScreenSaver.Throttle(string appName,string localizedReason)',返回一個cookie。 'UnThrottle(int cookie)'然後將用於重新啓用屏幕保護程序(如果應用程序退出,它也會恢復)。 – Kitsune 2012-02-20 23:08:16
試圖運行'$ qdbus org.freedesktop.ScreenSaver/ScreenSaver'告訴我「Service'org.freedesktop.ScreenSaver'不存在。」這並不是說我知道我在做什麼,因爲我沒有真正意識到這個DBus的東西,但似乎這個接口在我的系統中不可用。我的系統是新的,Linux Mint 12(基於Ubuntu 11.10)。哪些流程應該提供這些服務? – lvella 2012-02-22 00:49:55