¿Cómo puedo saber cuándo mi pantalla se bloqueó la última vez?

12

¿Existe un registro donde puedo buscar esa información? Quiero saber los últimos días cuando mi PC bloqueó automáticamente la pantalla porque estaba inactiva.

gsi-frank
fuente
1
Por tiempo desbloqueado hice: cat screen /var/log/auth.log | grep unlock- no es necesario sudo.
Andrew

Respuestas:

11

Puede encontrar los eventos de desbloqueo de pantalla con el siguiente comando:

grep screen /var/log/auth.log*

Pero no es tan sencillo encontrar los eventos de la pantalla de bloqueo porque, por lo que sé, no existe ningún registro para estos eventos.

De todos modos, puede ejecutar el siguiente comando para registrar los eventos de la pantalla de bloqueo:

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 )

en el ~/lock_screen.logarchivo

Si le gusta el comando anterior, úselo en un script y haga que el script se ejecute automáticamente al inicio.

Referencias

Radu Rădeanu
fuente
2
no parece funcionar en ubuntu 17.04. La salida de dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6'"es 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", entonces nada cuando bloqueo o desbloqueo
maxbellec
2

FWIW: lo que funciona para mí en Ubuntu 16.04.4 LTS con Unity es monitorear DBUS con el siguiente comando:

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

... y luego monitoreando los eventos "bloqueados" y "desbloqueados". Salida de ejemplo:

tiempo de señal = 1525269138.855107 remitente =: 1.51 -> destino = (destino nulo) serial = 86735 ruta = / com / canonical / Unity / Session; interfaz = com.canonical.Unity.Session; miembro = LockRequested

tiempo de señal = 1525269139.409261 remitente =: 1.51 -> destino = (destino nulo) serial = 86892 ruta = / com / canonical / Unity / Session; interfaz = com.canonical.Unity.Session; miembro = bloqueado

tiempo de señal = 1525269151.238899 remitente =: 1.51 -> destino = (destino nulo) serial = 86937 ruta = / com / canonical / Unity / Session; interfaz = com.canonical.Unity.Session; miembro = UnlockRequested

tiempo de señal = 1525269151.791874 remitente =: 1.51 -> destino = (destino nulo) serial = 86938 ruta = / com / canonical / Unity / Session; interfaz = com.canonical.Unity.Session; miembro = desbloqueado

Jeroen van Ingen
fuente
0

Esto es lo que uso en Ubuntu 16.04. Se registra en el syslog del sistema.

Agregue a su carpeta de inicio, marque como ejecutable y luego use gnome-session-propertiespara configurarlo para que se ejecute al iniciar la sesión.

#!/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

Basado en una respuesta similar para los sistemas Fedora .

jjmontes
fuente