Como detectar que a tela está bloqueada ou não quando a proteção de tela está ativa no Redhat 6.6?

2

Existem duas opções de proteção de tela no menu Red Hat 6.6 "System- > Preference- > Screensaver":
(1) A opção "Proteção de tela ativa quando o computador está ocioso". Marque esta opção para ativar a proteção de tela quando o tempo ocioso atingir o limite.
(2) A opção "Bloquear tela quando a proteção de tela está ativa". Marque esta opção para que a tela seja bloqueada quando a proteção de tela estiver ativa; caso contrário, a tela não será bloqueada quando a proteção de tela estiver ativa.

Minha pergunta é como monitorar o bloqueio / desbloqueio da tela se a opção (1) estiver marcada? Eu tentei usar o comando dbus:
dbus-monitor --session "interface = 'org.gnome.ScreenSaver'"

Infelizmente, o resultado não está correto, pois só pega a mensagem "ActiveChanged", até eu marquei a opção (2) e a tela está bloqueada na verdade.
remetente do sinal =: 1,37 - > dest = (destino nulo) serial = 25 caminho = / org / gnome / ScreenSaver; interface = org.gnome.ScreenSaver; member = ActiveChanged    boolean true

Se eu executar o comando "gnome-screensaver-command -l" manualmente, o dbus-monitor pode capturar a seguinte mensagem:
método call sender =: 1.99 - > dest = org.gnome.ScreenSaver serial = 3 path = / org / gnome / ScreenSaver; interface = org.gnome.ScreenSaver; membro = Bloquear
remetente do sinal =: 1,37 - > dest = (destino nulo) serial = 23 path = / org / gnome / ScreenSaver; interface = org.gnome.ScreenSaver; member = ActiveChanged    boolean true

Eu me referi ao documento do org.gnome.ScreenSaver: link
Parece que a chamada do método "Bloquear" significa "Solicitar que a tela seja bloqueada". O sinal "ActiveChanged" significa apenas que a proteção de tela está ativa ou não.

Então eu suspeito que isso seja um bug do Redhat 6.6:
A mensagem "Bloquear" é perdida quando a proteção de tela está ativa e a tela é bloqueada pelas duas opções acima.
Isso porque eu não consigo detectar a tela bloqueada ou não neste cenário.

Existe alguma solução alternativa para esse problema? É possível que eu possa ler o arquivo de configuração que armazena as duas opções acima?

Obrigado.

    
por yw5643 07.08.2015 / 12:57

1 resposta

1

A execução de gconftool-2 --get /apps/gnome-screensaver/lock_enabled retornará um booleano informando se o bloqueio de tela está ativado para o usuário atual. Se for true , você saberá que quando o sinal "ActiveChanged" for verdadeiro, a tela também será bloqueada.

Já que você perguntou sobre o arquivo de configuração para ambas as opções, você também pode verificar se o protetor de tela está configurado para se ativar com gconftool-2 --get /apps/gnome-screensaver/idle_activation_enabled .

    
por 11.08.2015 / 19:22