Как создать демона, который слушал бы dbus и сценарий огня на сообщении

Если записи в порядке,

  1. Разделите вход на алфавитные записи и числовые записи, с помощью grep:

    • grep "[[:alpha:]]\+" < file > alpha
    • grep "[[:digit:]]\+" < file > digit
  2. Присоединитесь к двум получающимся файлам, alpha и digit, использование paste:

    • paste alpha digit (можно добавить -d " " таким образом, это использует пространство вместо вкладки),
5
13.04.2017, 15:36
2 ответа

На основе https://askubuntu.com/questions/150790/how-do-i-run-a-script-on-a-dbus-signal

#!/bin/bash

interface=org.gnome.ScreenSaver
member=ActiveChanged

dbus-monitor --profile "interface='$interface',member='$member'" |
while read -r line; do
    echo $line | grep ActiveChanged && your_script_goes_here
done

Просто всуньте это/etc/init.d/monitor-for-unlock, сделайте это исполняемым файлом и затем сделайте гибкую ссылку в rc2.d

chmod +x /etc/init.d/monitor-for-unlock
cd /etc/rc2.d
ln -s /etc/init.d/monitor-for-unlock .
6
27.01.2020, 20:38
  • 1
    Для чего точно мы делаем ссылку в /etc/rc2.d? Это - каталог автозагрузки? Не сделал вполне работавший для моей человечности. Но при добавлении /etc/init.d/monitor-for-unlock start Запускать Приложения работало очарованием. Большое время отклика, Спасибо! –  lompy 20.06.2013, 19:04
  • 2
    Вот разговор о rc2.d (System V init процесс) по сравнению с новомодной системой Ubuntu: superuser.com/questions/151330/ubuntu-control-the-init-startup –  Nate from Kalamazoo 20.06.2013, 19:44
  • 3
    какая-либо идея, как заставить его работать с Единицей? это перестало работать: ssudo dbus-monitor --profile "interface='com.canonical.Unity',member='Locked'" где Заблокировано о "com.canonical. Единица. Сессия. Заблокированный", даже если я использую sudo... –  Aquarius Power 02.08.2014, 07:24

Такой демон в системе уже есть -upstart, вам нужно только создать для него сеансовое задание.

description "some job description"
start on desktop-unlock
script
        /path/to/your/executable
end script
0
27.01.2020, 20:38

Теги

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