Como posso saber quando minha tela foi bloqueada pela última vez?

12

Existe um log em que eu possa procurar essas informações? Quero saber nos últimos dias quando meu PC bloqueou a tela automaticamente porque estava ocioso.

gsi-frank
fonte
1
Por tempo desbloqueado, fiz: cat screen /var/log/auth.log | grep unlock- não é necessário sudo.
Andrew

Respostas:

11

Você pode encontrar os eventos da tela de desbloqueio usando o seguinte comando:

grep screen /var/log/auth.log*

Mas não é tão simples encontrar os eventos da tela de bloqueio porque, por padrão, não existe nenhum log para esses eventos (tanto quanto eu sei).

De qualquer forma, você pode executar o seguinte comando para registrar os eventos da tela de bloqueio:

dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" | ( while true; do read X; if echo "$X" | grep "boolean true" &> /dev/null; then  echo "Screen locked on $(date)" > $HOME/lock_screen.log; fi; done )

no ~/lock_screen.logarquivo.

Se você gosta do comando acima, use-o em um script e faça com que o script seja executado automaticamente na inicialização.

Referências:

Radu Rădeanu
fonte
2
parece não funcionar no ubuntu 17.04. O ouput de dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6'"é signal time=1497336035.520628 sender=org.freedesktop.DBus -> destination=:1.140 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired string ":1.140" signal time=1497336035.520706 sender=org.freedesktop.DBus -> destination=:1.140 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost string ":1.140", então nada quando eu bloquear ou desbloquear
maxbellec
2

FWIW: o que funciona para mim no Ubuntu 16.04.4 LTS com Unity, está monitorando o DBUS com o seguinte comando:

dbus-monitor --session "type='signal',interface='com.canonical.Unity.Session'"

... e depois monitorando os eventos "Bloqueados" e "Desbloqueados". Exemplo de saída:

tempo de sinal = 1525269138.855107 remetente =: 1,51 -> destino = (destino nulo) serial = 86735 caminho = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; member = LockRequested

tempo de sinal = 1525269139.409261 remetente =: 1,51 -> destino = (destino nulo) serial = 86892 caminho = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; member = Bloqueado

tempo de sinal = 1525269151.238899 remetente =: 1,51 -> destino = (destino nulo) serial = 86937 caminho = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; member = UnlockRequested

tempo de sinal = 1525269151.791874 remetente =: 1,51 -> destino = (destino nulo) serial = 86938 caminho = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; member = Desbloqueado

Jeroen van Ingen
fonte
0

É isso que eu uso no Ubuntu 16.04. Ele faz logon no syslog do sistema.

Adicione à sua pasta pessoal, marque como executável e use-o gnome-session-propertiespara configurá-lo para executar na inicialização da sessão.

#!/bin/bash

exit_report(){
logger "$(date) Lockscreen Monitoring Terminated."
}
trap "exit_report; exit;" 0

lockmon() {
adddate() {
    while IFS= read -r line; do
      echo $line | grep string | grep '"start"' -q
      if [ $? -eq 0 ] ; then
        logger "$(date) Screen locked"
      fi
      echo $line | grep string | grep '"stop"' -q
      if [ $? -eq 0 ] ; then
        logger "$(date) Screen unlocked"
      fi
    done
}
logger "$(date) Lockscreen Monitoring Started."
dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6.Instance'" | adddate
}

lockmon

Baseado em uma resposta semelhante para os sistemas Fedora .

jjmontes
fonte