Как я могу узнать, когда мой экран был заблокирован в прошлый раз?

Есть журнал, где я могу найти эту информацию? Я хочу знать последние дни, когда мой компьютер автоматически блокировал экран, потому что был бездействующим.

3 ответа

Решение

Вы можете найти события разблокировки экрана, используя следующую команду:

grep screen /var/log/auth.log*

Но не так просто найти события экрана блокировки, потому что по умолчанию не существует никакого журнала для этих событий (насколько я знаю).

В любом случае, вы можете запустить следующую команду для регистрации событий экрана блокировки:

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 )

в ~/lock_screen.log файл.

Если вам нравится вышеуказанная команда, используйте ее в скрипте и заставьте скрипт автоматически запускаться при запуске.

Рекомендации:

FWIW: у меня работает на Ubuntu 16.04.4 LTS с Unity, это мониторинг DBUS с помощью следующей команды:

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

... а затем отслеживание событий "заблокировано" и "разблокировано". Пример вывода:

время сигнала =1525269138,855107 отправитель =:1,51 -> пункт назначения =(нулевой пункт назначения) последовательный =86735 путь = / com / канонический /Unity/Session; Интерфейс =com.canonical.Unity.Session; Член =LockRequested

время сигнала =1525269139.409261 отправитель =:1,51 -> пункт назначения =(нулевой пункт назначения) последовательный = 86892 путь = / com / канонический /Unity/Session; Интерфейс =com.canonical.Unity.Session; член =Locked

время сигнала =1525269151.238899 отправитель =:1,51 -> пункт назначения =(нулевой пункт назначения) последовательный =86937 путь = / com / канонический /Unity/Session; Интерфейс =com.canonical.Unity.Session; Член =UnlockRequested

время сигнала =1525269151.791874 отправитель =:1,51 -> пункт назначения =(нулевой пункт назначения) последовательный =86938 путь = / com / канонический /Unity/Session; Интерфейс =com.canonical.Unity.Session; Член = разблокирована

Это то, что я использую в Ubuntu 16.04. Он входит в системный журнал.

Добавьте в свою домашнюю папку, отметьте как исполняемый файл, а затем используйте gnome-session-properties настроить его на запуск при запуске сеанса.

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

На основании аналогичного ответа для систем Fedora.

Другие вопросы по тегам