Как я могу узнать, когда мой экран был заблокирован в прошлый раз?
Есть журнал, где я могу найти эту информацию? Я хочу знать последние дни, когда мой компьютер автоматически блокировал экран, потому что был бездействующим.
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.