Как я могу извлечь время разблокировки экрана в GNOME?

Вопрос или проблема

Команда last только retrieves время входа. Меня интересует время, когда экран был разблокирован. Также приветствуются любые косвенные способы получения этой информации.

Вы проверяли системные журналы? Вы должны увидеть сообщение об аутентификации в /var/log/secure, когда кто-то пытается разблокировать экран.

Например, при использовании KDE, если кто-то вводит неверный пароль:

Mar  7 14:19:05 saurok kcheckpass[16479]: pam_sss(kscreensaver:auth): ошибка аутентификации; logname=username uid=248800001 euid=248800001 tty=:0 ruser= rhost= user=username

А вот при успешной разблокировке:

Mar  7 14:19:09 saurok kcheckpass[16483]: pam_sss(kscreensaver:auth): успешная аутентификация; logname=username uid=248800001 euid=248800001 tty=:0 ruser= rhost= user=username

Ваши данные могут немного отличаться (эта машина находится в домене), но такая информация должна присутствовать.

Получить историю времени начала/конца Screensaver

Нажмите здесь

Ответ или решение

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

  1. Проверка системных журналов:
    В GNOME вы можете проверить файл журнала /var/log/secure или journalctl для получения информации о событиях разблокировки. Используйте следующую команду для просмотра журналов:

    sudo journalctl _COMM=gdm-session-worker --since "YYYY-MM-DD" --until "YYYY-MM-DD"

    Замените YYYY-MM-DD на интересующий вас диапазон дат. Это позволит вам увидеть все записи, связанные с управлением сессиями Gnome.

  2. Анализ логов:
    Ищите сообщения, связанные с разблокировкой экрана. Обычно они содержат фразы, указывающие на успех или неудачу аутентификации, подобные следующим:

    …: pam_unix(gdm:auth): authentication success; logname=username

    или

    …: pam_unix(gdm:auth): authentication failure; logname=username

    Успешное сообщение будет означать, что экран был успешно разблокирован.

  3. Использование gnome-screensaver:
    Если у вас установлен gnome-screensaver, вы можете также использовать его журналы. Проверьте наличие файла ~/.xsession-errors или используйте следующую команду для получения информации о событиях:

    tail -f ~/.xsession-errors
  4. Создание скрипта для мониторинга событий:
    Вы можете создать скрипт для автоматического мониторинга и записи времени разблокировки экрана. Например:

    #!/bin/bash
    while true; do
       if loginctl; then
           echo "$(date): Screen unlocked" >> ~/screen_unlock_log.txt
       fi
       sleep 5
    done

    Сохраните скрипт и сделайте его исполняемым с помощью chmod +x script.sh. Запустите его в фоновом режиме.

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

Оцените материал
Добавить комментарий

Капча загружается...