Ich bin kein Linux-Guru, aber es scheint, als wäre es dbus-monitor
das Werkzeug, das ich verwenden kann.
Eine Antwort auf den Beitrag Wie man einen Daemon erstellt, der bei einer Nachricht auf dbus hört und ein Skript auslöst, lautet:
Basierend auf 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
Stecken Sie das einfach in /etc/init.d/monitor-for-unlock ein, machen Sie es ausführbar und machen Sie dann einen Softlink in rc2.d
chmod +x /etc/init.d/monitor-for-unlock cd /etc/rc2.d ln -s /etc/init.d/monitor-for-unlock .
Der Artikel Monitoring D-Bus fügt hinzu:
Die wohl leistungsstärkste Funktion von dbus-monitor ist die Tatsache, dass Sie nicht nur auf einen Ausdruck der Uhr beschränkt sind. Das folgende Beispiel überwacht gleichzeitig alle 3 Tomboy-Signale und analysiert mit awk die Ausgabe von dbus-monitor und zeigt eine aussagekräftige Meldung an.
#!/bin/bash OJECT="'org.gnome.Tomboy'" IFACE="'org.gnome.Tomboy.RemoteControl'" DPATH="'/org/gnome/Tomboy/RemoteControl'" WATCH1="type='signal', sender=$, interface=$, path=$, member='NoteAdded'" WATCH2="type='signal', sender=$, interface=$, path=$, member='NoteSaved'" WATCH3="type='signal', sender=$, interface=$, path=$, member='NoteDeleted'" dbus-monitor "$" "$" "$" | \ awk ' /member=NoteAdded/ { getline; print "Created note " substr($2,7) } /member=NoteSaved/ { getline; print "Added note " substr($2,7) } /member=NoteDeleted/ { getline; print "Deleted note " substr($2,7) } '
Hier ist die Ausgabe, die generiert wurde, wenn ich auf das Tomboy-Symbol geklickt habe, um eine neue Notiz zu erstellen, auf das automatische Speichern gewartet und dann die Löschoption zum Löschen der Notiz ausgewählt habe.
$ ./test Created note //tomboy/3da026dc-f6ee-4637-8a94-bec6e2844824" Added note //tomboy/3da026dc-f6ee-4637-8a94-bec6e2844824" Deleted note //tomboy/3da026dc-f6ee-4637-8a94-bec6e2844824"