Seite 1 von 1

dbus properties

Verfasst: Donnerstag 15. März 2018, 23:53
von xundeenergie
Hi Leute!

Zuerst einmal möchte ich kurz über mich erzählen, da ich neu in diesem Forum bin :-)

Ich programmiere das im Selbststudium erlernte Python jetzt seit ca 4 Jahren. Ich nutze Linux, konkret Debian, meistens Testing. Meine ersten Programmier-Fingerübungen habe ich am Commodore VC20 kurz nach seinem Erscheinen gemacht und Basic lernte ich am C128D. Bin also schon ein reiferes Semester. Auf Python bin ich dann vor einigen Jahren gestoßen, hab mich aber erst vor 4 Jahren mit eine größeren Projekt herangewagt.

Ich habe mir ein Backupskript für BTRFS (für die Linux-Auskenner, die wissen, was das ist, für die anderen ist es egal) geschrieben, da ich einerseits Python lernen wollte, und andererseits die bestehenden Backuplösungen nicht meinen Vorstellungen entsprachen.

Jetzt bin ich dabei, ein graphisches Frontend aufzubauen, bei dem ich die Kommunikation über dbus laufen lassen möchte. Der Grund ist einfach: Das Backup-Programm läuft als Systemdienst im Hintergrund und wird von systemd gestartet. Und so wie NetworkManager mit seinen verschiedenen Frontends über dbus kommuniziert, damit das unabhängig der verwendeten graphischen Desktopoberfläche klappt, möchte ich das analog realisieren und komfortabel von mehreren eingeloggten Benutzern immer den aktuellen Stand des Backups angezeigt haben können.
UND ich möchte mich mit dem mehrköpfigen Drachen dbus auseinandersetzen, da ich denke, dass der gute Dienste leisten kann, wenn man ihn einmal verstanden hat.

Ich habe jetzt eine Möglichkeit gefunden, wie ich Properties von dbus setzen und abfragen kann:
https://stackoverflow.com/questions/374 ... e-property

Dennoch funktioniert das nicht so, wie ich es von NetworkManager oder anderen Diensten sehe.

d-feet ist ein python-basiertes GUI für dbus. Das zeigt mir z.B. einerseits org.freedesktop.DBus.Properties, und darin die 3 Methoden Get, GetAll und Set, sowie das Signal PropertiesChanged.
Andererseits zeigt es mir bei anderen Interfaces am selben Objekt Methoden, wie auch Properties, die ich mit den vorhergehenden Methoden für diesen Pfad abfragen kann.

Die Lösung im Link stellt mir zwar die Methoden und das Signal für die Properties her, jedoch tauchen in d-feet (also am dbus) keine Properties auf.

Und ich google mich jetzt schon seit Wochen in meiner Freizeit die Finger wund und finde nichts dazu, wie man das richtig macht.

Gibt es hier Spezialisten für dbus und python?

lg scientific

Re: dbus properties

Verfasst: Dienstag 26. Juni 2018, 11:57
von __blackjack__
Kann es sein das die andere Antwort bei SO das Problem beschreibt? https://stackoverflow.com/a/13629355