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

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

12
задан 16 March 2014 в 22:33

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 .

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

Ссылки:

10
ответ дан 16 November 2019 в 14:31

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

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

... а затем мониторинг «Заблокировано» и «Разблокировано» События. Пример вывода:

signal time = 1525269138.855107 sender =: 1.51 -> destination = (null destination) serial = 86735 path = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; member = LockRequested

время сигнала = 1525269139.409261 отправитель =: 1.51 -> пункт назначения = (нулевой пункт назначения) serial = 86892 путь = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; member = Locked

signal time = 1525269151.238899 sender =: 1.51 -> destination = (null destination) serial = 86937 path = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; member = UnlockRequested

время сигнала = 1525269151.791874 отправитель =: 1.51 -> пункт назначения = (нулевой пункт назначения) serial = 86938 путь = / com / canonical / Unity / Session; interface = com.canonical.Unity.Session; member = Unlocked

2
ответ дан 23 November 2019 в 03:40

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

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

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

0
ответ дан 23 November 2019 в 03:40

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

Похожие вопросы: