inne hat geschrieben: 
13.01.2018 12:14:26
smutbert hat geschrieben: 
12.01.2018 23:46:53
Den ersten Fehler wird man los indem man statt »systembus = dbus.SystemBus()|sessionbus = dbus.SessionBus()«
Code: Alles auswählen
systembus = dbus.SystemBus()
sessionbus = dbus.SessionBus()
schreibt.
Der Client-Teil läuft dann fehlerfrei, aber löst leider noch keine Benachrichtigungen aus. Ich weiß noch nicht was ich hier übersehe (sonst würde ich im Wikiartikel mitmischen).
Hab ich da beim Schreiben des Wiki-Artikels einen Formatierungsfehler gemacht? Mir war anfangs die Syntax des Wiki-Markdowns nicht ganz klar...
inne hat geschrieben: 
13.01.2018 12:14:26
Das liegt aber nur noch am letzten Skript aus "Senden der Message an den Systembus aus einem Python3-Programm", denn das " Senden der Message an den Systembus von der Shell" funktioniert dann.der Message an den Systembus von der Shell" funktioniert dann.
Code: Alles auswählen
$ dbus-send --system /my/desktop my.desktop.Notification string:test string:bla
Ich komm jetzt nicht ganz dahinter... Scheinbar hast du deinen Satz zu Tode editiert...
Von der Shell aus kannst du an den Lauschdienst eine Message mit dbus-send schicken, die dann auch vom Notification-Daemon angezeigt wird.
Aus dem Python-Programm heraus aber klappt es nicht?
Ich denke, ich werde den Wiki-Artikel noch vereinfachen. Denn der Teil mit der signatur ist nicht unbedingt notwendig, wenn man ausschließlich Strings schickt.
Dass ich beidemale den selben Dateipfad verwendet habe, liegt daran, dass die Programme bei mir spezifischere Namen haben und an anderer Stelle im Dateisystem liegen, da ich sie per Paket installiere... und dann sind sie mir beim Schreiben des Wikiartikels durcheinander gekommen...

Asche auf mein Haupt!!!
Das Python-Programm. welches die Message an den Systembus losschickt ist ja nur ein Beispielprogramm zum Testen. Dieses Codeschnipsel kann an dann in eigene Python-Programme einbauen (wie ich es bei meinem BTRFS-Backup-Programm gemacht habe).
Für einfache Shell-Skripte die von Cron aufgerufen werden ist natürlich
dbus-send --system.... vollkommen ausreichend. Aber aus anderen Programmiersprachen sind systemcalls immer heikel, daher verwende ich für Python auch die entsprechenden Bindings.
Wäre fein, wenn Kenner anderer Programmiersprachen auch Codeschnipsel mit den entsprechenden dbus-bindings in den Wiki-Artikel schreiben könnten...
Wenn freedesktop.org sowas nicht liefert, könnt ich ja dieses Beispiel soweit ausbauen, dass es für Debian allgemein interessant und aufgenommen wird

Ich denke, sowas fehlt nämlich wirklich essentiell.
lg scientific