
Мне нужно запускать свое приложение на экране, когда определенные пользователи выходят из системы, и закрывать экран, когда кто-то из моего списка пользователей входит в систему. Поэтому я думаю о скрипте bash, который будет периодически вызываться из cron и:
- Проверяет, вошли ли в систему определенные пользователи.
- Если никто не вошел в систему - создайте экран и сохраните pid в файл или ничего не делайте, если pid-файл уже существует.
- Если кто-то вошел в систему - прочитать pid из файла и закрыть экран
Я ищу более сложные альтернативы, которые позволят исключить периодический запуск скрипта из cron.
решение1
Несколько очевидных вариантов:
- изменить
/etc/profile
, чтобы добавить хук выхода из системы (или, если в вашей системе уже есть файл хука выхода из системы, изменить его) - изменить конфигурацию системы PAM, чтобы добавить дополнительный контроллер сеанса (библиотека pam_script специально решает эту проблему)
- измените оболочку входа рассматриваемых пользователей на что-то, что завершит работу другой программы при запуске, создаст настоящую оболочку входа, а затем запустит программу экрана, когда настоящая оболочка входа завершит работу
- (если вас интересуют только входы в консоль) замените getty