Блокировка экрана

ckunep

New member
Сообщения
5
#1
Здравствуйте, есть ли в системе "AstraLinux 1.6 SE" возможность отслеживания блокировки экрана? Мне нужно, чтобы после включения блокировки экрана (из-за продолжительного бездействия пользователя) выполнялся определённый скрипт. Кто-нибудь может подсказать в какую сторону копать? Спасибо.
 

ckunep

New member
Сообщения
5
#2
В Интернете нашёл следующее решение (может кому-нибудь пригодится):

1) Создать скрипт (например, lock-screen.sh), перехватывающий события блокировки/разблокировки экрана с помощью программы dbus-monitor.
Код:
#!/bin/sh
dbus-monitor --session "type='signal',interface='org.freedesktop.ScreenSaver',path='/org/freedesktop/ScreenSaver'" |
while read x; do
  case "$x" in
    *"boolean true"*)
      [команды_для_исполнения_при_включении_блокировки_экрана]
      ;;
    *"boolean false"*)
      [команды_для_исполнения_при_снятии_блокировки_экрана]
      ;;
  esac
done
2) Сделать скрипт исполняемым.
Код:
chmod ug+x /[путь_к_файлу]/lock-screen.sh
chgrp [основная_группа_пользователя] /[путь_к_файлу]/lock-screen.sh
3) Добавить созданный скрипт в автозагрузку пользователя (Пуск -> Панель управления -> Система -> Автозапуск).
Код:
/bin/sh /[путь_к_файлу]/lock-screen.sh &
Примечание. С целью отладки Вы можете запустить программу dbus-monitor в терминале от имени обычного пользователя для просмотра всех сигналов, идущих через dbus.