スクリーンセーバーが有効になっているかどうかを検出

スクリーンセーバーが有効になっているかどうかを検出

スクリーンセーバーが有効になっていることを確認したいと思います。 Ubuntu 14.04とFedora 21で次のコマンドを試しました。

$ dbus-send --print-reply=literal --dest=org.freedesktop.ScreenSaver /org/freedesktop/ScreenSaver org.freedesktop.ScreenSaver.Lock
Error org.freedesktop.DBus.Error.NotSupported: This method is not implemented

dbus-sendd-feetでその方法が可能であることを伝えるので、私が誤解している可能性がありますGetActive

dフィートのスクリーンショット

どのようにできる可能な限りデスクトップ独立した方法でスクリーンセーバーの活動を検出しますか?一つある関連質問しかし、これは問題を解決しませんでした。

ベストアンサー1

環境に応じて:

$ qdbus org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.GetActive

$ qdbus org.kde.screensaver /ScreenSaver org.freedesktop.ScreenSaver.GetActive

$ qdbus org.gnome.ScreenSaver /ScreenSaver org.gnome.ScreenSaver.GetActive

正しい人は真実または偽の声明をするべきです。正しくない場合はエラーが報告されます。

$ qdbus org.gnome.ScreenSaver /ScreenSaver org.gnome.ScreenSaver.GetActive
false

$ qdbus org.kde.screensaver /ScreenSaver org.freedesktop.ScreenSaver.GetActive
Service 'org.kde.screensaver' does not exist.

(私はGnomeを実行しています)

おすすめ記事