Als zwanghafter Computerbenutzer bin ich den ganzen Tag davor. Ich verliere manchmal den Überblick über die Zeit, wenn ich an meinem Comp arbeite. Ich benötige einen Benachrichtigungsdienst, um mich über die aktuelle Uhrzeit zu informieren, entweder durch eine Popup-Benachrichtigung oder einen abgespielten Sound oder beides.
Für das Popup habe ich den Free Desktop-Benachrichtigungsstandard gefunden, der eine DBus-API verwendet .
Ich konnte eine Benachrichtigung mit DFeet , einem grafischen DBUS-Explorer, erstellen. Ich habe die folgenden Argumente verwendet:
"wakeup", 1234, "", "The time is", "9PM", [], [], 1
Bisher funktioniert es gut, aber wie kann ich es von hier aus weiter bringen?
- Wie rufe ich dies über die Befehlszeile auf?
- Wie automatisiere ich diesen Befehl? Ist
cron
immer noch die empfohlene Methode zur Automatisierung zeitbasierter Aktionen? - Wie spiele ich Sounds zusammen mit dem Popup? Entweder über die FreeDesktop-API oder über einen Media Player?
Eine vollständige Lösung wäre wünschenswert und vielleicht auch für andere nützlich.
notification
dbus
HRJ
quelle
quelle
dbus-send
könnte die App verwendet werden, und jacron
ist der empfohlene Weg.dbus-send
funktioniert nicht, da einige von dieser API erforderliche Parameter nicht unterstützt werden. Ich untersuchepynotify
.Antworten:
Da ich nicht verwenden konnte,
dbus-send
schrieb ich stattdessen ein Python-Skript. Das Pynotify-Modul verwendet intern diedbus
API. Für zusätzliche Tritte habe ich der Nachricht einen Glückskeks hinzugefügt. Klappt wunderbar:Ich habe das dann mit geplant
cron
. Dercrontab
Eintrag sieht aus wie:Update : Es wurde eine Methode zum Abspielen eines Sounds mit Puls-Audio hinzugefügt
quelle
Sie können ein einfaches Python-Skript wie folgt verwenden:
quelle
Sie können Nachrichten mit dem Befehl dbus-send senden. Siehe man: dbus-send für weitere Details dazu.
quelle
dbus-send
. Leider funktioniert es in diesem Falldbus-send
nicht, da kein Wörterbuch mit Varianten erstellt werden kann, die für die API erforderlich sind