Comment savoir quand mon écran a été verrouillé la dernière fois?

12

Exister un journal où je peux rechercher ces informations? Je veux savoir les derniers jours où mon PC a automatiquement verrouillé l'écran parce qu'il était inactif.

gsi-frank
la source
1
Pour le temps débloqué, j'ai fait: cat screen /var/log/auth.log | grep unlock- pas de sudo nécessaire.
Andrew

Réponses:

11

Vous pouvez trouver les événements d'écran de déverrouillage à l'aide de la commande suivante:

grep screen /var/log/auth.log*

Mais il n'est pas si simple de trouver les événements de l'écran de verrouillage car, par défaut, il n'existe aucun journal pour ces événements (pour autant que je sache).

Quoi qu'il en soit, vous pouvez exécuter la commande suivante pour consigner les événements de l'écran de verrouillage:

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 )

dans le ~/lock_screen.logdossier.

Si vous aimez la commande ci-dessus, utilisez-la dans un script et exécutez le script automatiquement au démarrage.

Les références:

Radu Rădeanu
la source
2
ne semble pas fonctionner sur Ubuntu 17.04. La sortie de dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6'"est 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", alors rien quand je verrouille ou déverrouille
maxbellec
2

FWIW: ce qui fonctionne pour moi sur Ubuntu 16.04.4 LTS avec Unity, c'est la surveillance de DBUS avec la commande suivante:

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

... puis surveillance des événements "Verrouillé" et "Déverrouillé". Exemple de sortie:

heure du signal = 1525269138.855107 expéditeur =: 1.51 -> destination = (destination nulle) série = 86735 chemin = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; membre = LockRequested

heure du signal = 1525269139.409261 expéditeur =: 1.51 -> destination = (destination nulle) série = 86892 chemin = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; membre = verrouillé

heure du signal = 1525269151.238899 expéditeur =: 1.51 -> destination = (destination nulle) série = 86937 chemin = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; membre = UnlockRequested

heure du signal = 1525269151.791874 expéditeur =: 1.51 -> destination = (destination nulle) série = 86938 chemin = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; membre = Déverrouillé

Jeroen van Ingen
la source
0

C'est ce que j'utilise dans Ubuntu 16.04. Il se connecte au système syslog.

Ajoutez à votre dossier de départ, marquez comme exécutable, puis utilisez gnome-session-propertiespour le configurer pour qu'il s'exécute au démarrage de la session.

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

Basé sur une réponse similaire pour les systèmes Fedora .

jjmontes
la source