Форум программистов, компьютерный форум, киберфорум
Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390

Autorun программы, обработка события блокировки\разблокировки экрана

12.03.2018, 10:12. Показов 2528. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Заранее хочу сказать, что на Гугл потратил 3 дня, задал вопрос на stackoverflow, но ни кто так и не ответил. Последняя надежда на старый и добрый форум.

Вопрос следующий: Пишу скрипт на Python и Bash, который должен сфотографировать человека, используя вебкамеру, когда тот будет разблокировать компьютер (Login). Скрипт назвал SpyOnSpies и, думаю, смысл программы понятна. Сейчас, если вручную запустить мое приложение через терминал и оставить открытым, оно будет снимать фото человека, который разблокировал компьютер и будет отправить письмо на указаный Email. Перехватом события разблокировки экрана служит Bash скрипт, который и вызывает скрипт на Python, который и делает основную работу. Для перехвата события разблокировки экрана в Bash скрипте используется цикл WHILE. Все работает прекрасно, НО.

Если с помощью cron запустить приложение во время @reboot, то цикл while не работает. Программа запускается однажды (Проверяем кто включил компьютер и отправляем хозяину его фото) и цикл больше не работает. Фактически если программа была запущена через cron, то перехват события не работает и Python не запускается. Сижу либо с UBuntu, либо с Kail.

Вопрос такой, как разрешить программе автозапуск, с возможностью дальнейшего мониторинга статуса блокировки\разблокировки?

PS. Кода сейчас нет, я с другого компьютера, если нужно позже скину код.

PPS. Попробовал автозапуск с помощью xdg и init.d
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.03.2018, 10:12
Ответы с готовыми решениями:

Nexus 5 на Lollipop, ошибка при блокировки/разблокировки экрана
Последнее время смарт мой постоянно выдает ошибку при нажатии кнопки блокировки экрана, с начало происходит краткосрочное вибро, через...

Событие блокировки/разблокировки ОС
Подскажите пож-ста как можно на c# отследить момент(событие) блокировки(типа win+L) и разблокировки рабочего стола windows ? Задача...

Сценарий блокировки\разблокировки компьютера
Доброго дня. Помоги написать скрипт выполняющийся при блокировке/разблокировке компьютера. Точнее скрипт есть @Echo off set...

7
12.03.2018, 10:32  [ТС]

Не по теме:

Кстати, это моя юбилейная 300ая тема в этом форуме, ура! :)

0
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
15.03.2018, 22:56  [ТС]
Кто нибудь?
0
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
17.03.2018, 23:04  [ТС]
Уважаемые?
0
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
19.03.2018, 01:18  [ТС]
Коллеги?
0
 Аватар для blz
151 / 102 / 33
Регистрация: 11.08.2016
Сообщений: 574
23.03.2018, 13:08
в общем случае это совершенно нерабочее решение.
1. потому что это может быть не org.gnome.ScreenSaver
2. у меня например вообще нет скринсейвера. то есть в принципе подход неприменим
3. и при чем тут скринсейвер? Вам надо событие логина отлавливать или я что-то не так понял?

Добавлено через 27 минут
upd: в логах pam у Вас что-нибудь есть при разблокировке? если да, то это более надежное решение
0
 Аватар для Luca Brasi
892 / 204 / 55
Регистрация: 06.11.2015
Сообщений: 2,288
Записей в блоге: 2
23.03.2018, 18:18
в общем случае это совершенно нерабочее решение.
я так понимаю оно рабочее только для одной машины
0
 Аватар для blz
151 / 102 / 33
Регистрация: 11.08.2016
Сообщений: 574
23.03.2018, 19:14
Цитата Сообщение от Luca Brasi Посмотреть сообщение
я так понимаю оно рабочее только для одной машины
оно рабочее для весьма частного случая. и если почитать внимательно тему на stackoverflow (или сиблингах) – откуда был взят код, будет видно, что с каждой новой версией убунты/системы инициализации/DE все это менялось каждый раз.

немного поэкспериментировав, нашел надежный вроде как источник для определения события аутентификации:
pam_warn.so

я вставил в самом начале файла /etc/pam.d/system-auth:
Code
1
auth        required    pam_warn.so
внимание, в какой именно файл файл это вписывать – зависит от дистрибутива. также – что попало не пишите, а то потом не аутентифицируетесь вообще никак.

при вводе пароля при разблокировке экрана (в частности), логируется нечто подобное:
Code
1
Mar 23 22:03:01 mybox mate-screensaver-dialog[30519]: pam_warn(mate-screensaver:setcred): function=[pam_sm_setcred] flags=0x8 service=[mate-screensaver] terminal=[:0] user=[myuser] ruser=[<unknown>] rhost=[<unknown>]
дальше уже дело техники :-)

Добавлено через 4 минуты
при логине не из иксов тоже будет логироваться:
Code
1
Mar 23 22:12:25 mybox login[5990]: pam_warn(login:setcred): function=[pam_sm_setcred] flags=0x2 service=[login] terminal=[/dev/tty1] user=[myuser] ruser=[<unknown>] rhost=[]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.03.2018, 19:14
Помогаю со студенческими работами здесь

Работа программы после блокировки экрана
Программа с помощью tts переодически произносит время , но если поставить телефон на блокировку то tts перестает работать и наступает...

Правила Брандмауэра Windows для блокировки и разблокировки исходящего подключения в браузере
Есть правила для исходящего подключения в браузере, все время включаю / выключаю ручками, написать бы 2 батника в котором можно было...

Ищу софт для автоматической блокировки и разблокировки входа в windows по расписанию
Директор поставил задачу, чтобы в конце рабочего дня вход в windows блокировался, а утром перед его приходом разблокировался. Как...

Как изменить фон экрана рабочего стола либо экрана блокировки?
Как изменить фон экрана рабочего стола либо экрана блокировки? Выбрав фотку из альбома к примеру. Или из папки какой-то.

Изменение картинки аватара и экрана разблокировки
приобрел не давно новый ноут, HP pavilion 15, с OC Win8.1. и собрался настроить его под себя. кароче я не могу изменить картинку аватара, и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru