Detectar se o protetor de tela está ativo

6

Eu quero detectar se o protetor de tela está ativo. No Ubuntu 14.04 e no Fedora 21, eu tentei o seguinte comando:

$ 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

Provavelmente estou interpretando mal o dbus-send , pois o d-feet me mostra que o método GetActive está disponível.

Comopossodetectaraatividadedoprotetordetela,depreferênciademaneiraindependentedaáreadetrabalho?Existeuma pergunta relacionada , que no entanto não foi resolvido.

    
por Thomas W. 18.04.2015 / 11:13

1 resposta

2

Dependendo do seu ambiente:

$ 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

O correto deve dar uma declaração verdadeira ou falsa. O incorreto dará um erro.

$ 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.

(estou executando o Gnome)

    
por 06.07.2015 / 02:31