Como detectar o estado do screensaver no Ubuntu 16

3

Eu tenho um script que precisa detectar se a tela está ou não bloqueada e se a proteção está ativa.

No Ubuntu 12, eu costumava chamar gnome-screensaver-command -q . Este comando ainda está disponível em 16.04, mas sempre informa que o protetor de tela está inativo.

Eu testei executando este script:

#!/bin/bash
while true; do
    echo "Checking..."
    gnome-screensaver-command -q;
    sleep 1;
done

e, em seguida, bloqueei minha tela por vários segundos. Ele informa "O protetor de tela está inativo" o tempo todo.

O que mudou no Ubuntu 16.04 para quebrar isso, e como obter um relatório preciso sobre se a tela está bloqueada ou não?

Editar: estou usando o Gnome.

    
por Cerin 04.10.2016 / 00:22

1 resposta

1

Se você estiver usando o Unity como ambiente de área de trabalho

qdbus org.gnome.ScreenSaver /com/canonical/Unity/Session com.canonical.Unity.Session.IsLocked

imprimirá true se a tela estiver bloqueada e false caso contrário

    
por Florian Diesch 04.10.2016 / 01:09