Dbus, Networkmanager, Cups verheiraten in python

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Dbus, Networkmanager, Cups verheiraten in python

Beitrag von scientific » 15.02.2018 09:24:28

Ich versuche mich grad an den im Subject genannten Dingen.
Einerseits möchte ich gerne dbus besser verstehen, andererseits auch praktisch etwas dazulernen.

Ich hab jetzt prinzipiell für mein Backupskript eine schöne Desktopnotification hingekriegt, wo ich sogar mittels Actionbutton sogar Den Dateimanager im gewünschten Verzeichnis öffnen kann.
Und jetzt komm ich drauf, ich hab auf ein deprecatet gekennzeichnetes Python-Paket gesetzt, da die langsam und fehlerhaft ist, weil es aug libdbus aufsetzt...

Eine wirklich ausführliche Beschreibung, die auch ich verstehe, hab ich bei Poettering auf pideins.org gefunden.

Mir gefällt python, und ich kann es ausreichend um kleinere Projekte zu verwirklichen, also brauch ich gute Bindings, die auch in Debian verfügbar sind.

Aber der Zoo ist unübersichtlich groß...
Gobject, pydbus, python-dbus, gio, gi, nmpy, python-networkmanager, python-cups, pyipp...

Was nimmt man da jetzt?

Ich hätt gern einen Systemdienst, der am Systembus am NM lauscht, und dann je nach Netzwerkverbindung den passenden Defaultprinter einstellt. Und ein vom User vom Desktop zu bedienendes Frontend, um diese Zuordnung Netzwerid<->Defaultprinter zu verändern.

Oder ein besseres graphisches Frontend für mein Backupskript, das an einem dbusobjekt lauscht, um den Status des Backupskriptes zu ermitteln un darzustellen, damit nicht alle Sekunde von der Gnomeshell-Extension systemd und gio aktiv abgefragt werden muss...

Wo orientiere ich mich da am besten?

Kennt jemand ein gutes Python-forum?
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Dbus, Networkmanager, Cups verheiraten in python

Beitrag von eggy » 15.02.2018 10:08:20

Warum machst Du den "je-nach-Netz-Drucker-aussuchen"-Teil nicht über die ifup/ifdown Scripte der Network-Interfaces?
Forum deutschsprachig? Dann evtl das da https://www.python-forum.de/

inne
Beiträge: 3273
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Dbus, Networkmanager, Cups verheiraten in python

Beitrag von inne » 15.02.2018 10:08:50

Hallo,

ich habe dieser Tage erst gelesen das gdbus das API Heute ist.

Die Quelle dazu habe ich nun auch gefunden: https://dbus.freedesktop.org/doc/dbus-tutorial.html (12. Februar 2018, 13:01:18)
The recommended GLib API for D-Bus is GDBus, which has been distributed with GLib since version 2.26. An older API, dbus-glib, also exists. It is deprecated and should not be used in new code.

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: Dbus, Networkmanager, Cups verheiraten in python

Beitrag von scientific » 15.02.2018 22:44:00

Die ifup/ifdown-Skripte wären nicht der richtige Ort. Das wären Dispatcher-Skripte.
Dort hab ich jetzt eh schon eine Lösung eingebaut. Jedoch war die ein erster Versuch, und müsste gänzlich um gebaut werden, da sie nicht ganz so tut, wie ich will.

Und wenn ich schon in Python bin, warum nicht gleich direkt am dbus lauschen...
Außerdem sollts da relativ einfach sein, eine graphische Bedienung gleich mit dazu zu bauen.

Ich will ja etwas lernen, und da ich sowieso grad an dbus dran bin, liegt es nahe.

Danke für die Tipps!
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: Dbus, Networkmanager, Cups verheiraten in python

Beitrag von scientific » 16.02.2018 09:28:24

Bin mal weiter eingestiegen in das Thema.

Es hängt ab, auf welchem System ich bin. gdbus ist eine neuere Implementation des Protokolls von dbus. Libdbus ist ãlter.

Bin ich auf einem Gnome oder verwandten System, hab ich gdbus.
Bin ich auf einem KDE, hab ich mit qtdbus Bindings für libdbus. Ich hoffe, so stimmts.
Bindings sind offenbar Wrapper einer Programmiersprache, um auf Funktionen einer anderen Lib zugreifen zu können.

Für GDBus gibts dann wieder verschiedene Bindings in Python. Hier ist die moderne, und heute zu verwendende gi.

Z. B. Ist statt import pygtk heute import gi mit seinen anderen Submodulen zu verwenden.
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: Dbus, Networkmanager, Cups verheiraten in python

Beitrag von scientific » 17.02.2018 23:26:13

Hab jetzt eine richtig gute Anleitung für python mit DBus gefunden:

https://larry-price.com/blog/2017/04/04 ... th-python/
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

Antworten