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

12

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

GSI-откровенное
источник
1
За разблокированное время я сделал: cat screen /var/log/auth.log | grep unlock- Судо не нужно.
Андрей

Ответы:

11

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

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файле.

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

Ссылки:

Раду Рэдяну
источник
2
похоже, не работает на Ubuntu 17.04. Ouput из 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", то ничего , если я заблокировать или разблокировать
maxbellec
2

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; Член = Unlocked

Йерун ван Инген
источник
0

Это то, что я использую в 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 .

jjmontes
источник