[英]How to reliably capture Windows logon, logoff, lock and unlock events from a service?
[英]Linux Lock/Unlock events handling
目前,我正在嘗試在Mono c#下的linux上記錄系統鎖定/解鎖事件。 我希望在dbus
的幫助下,在不同的桌面環境上使用不同的組件來實現這一目標。 而且我可以使用Ndesk.DBus
api在帶有Unity的Ubuntu上執行此操作,但是似乎Xfce桌面上沒有此類信號。 我已經在那兒檢查了dbus-monitor "type=signal"
,它在鎖定/解鎖方面完全沒有用。 因此,是否有任何跨桌面的方式來記錄系統事件(我也需要登錄/注銷和活動的窗口更改)?
答案有點復雜,但是從理論上講,有一種跨桌面的方式可以處理用戶會話事件,它是logind
守護程序中的org.freedesktop.login1
對象。 它通過系統總線發送所有需要的信號,至少應該根據文檔進行。 但實際上並非如此。 在不同的桌面上,不會發送一些不同的信號。 大多數丟失的信號可能會從其他對象中捕獲,例如,各種ScreenSaver守護程序會發送鎖定信號。 順便說一句,在Xfce上,登錄發送的是此類信號,而不是sreensaver。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.