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.