Gibt es eine Liste der verfügbaren DBus-Dienste?
Ich bin auf einige gestoßen (wie die von NetworkManager, Rhythmbox, Skype, HAL).
Ich frage mich, ob ich eine ziemlich vollständige Liste der angebotenen Dienste / Schnittstellen finden kann.
65
dbus-send
oder alle objektpfade unter einem service aufgdbus
?qdbusviewer
ist dein bester Freund; Sie können damit auch D-Bus-Nachrichten senden:quelle
qdbusviewer: could not exec '/usr/lib/i386-linux-gnu/qt4/bin/qdbusviewer': No such file or directory
d-feet
funktioniert ab heute.d-feet
Antwort hinzufügen , um es sichtbarer zu machenDer Python-Weg ist der schöne Weg.
Systemdienste:
Sitzungsdienste:
quelle
pip install dbus-python
. Das Paket python-dbus ist ebenfalls verfügbar (in den 2 Minuten, die ich versucht habe, konnte ich nicht arbeiten).gdbus
ist Teil von glib2 und unterstützt Bash-Vervollständigungen. So verwenden Sie es (unter Fedora):Daraufhin werden alle möglichen Ziele angezeigt. Um eine Liste der verfügbaren Schnittstellen zu erhalten, exportiert DBus die
org.freedesktop.DBus.ListNames
Methode. Sie können es aufrufen, indem Sie Folgendes ausführen:Dies führt leider zu einer unlesbaren Ausgabe. Glücklicherweise ist die Ausgabe eine gültige Python-Ausgabe. Dies ist also möglich:
Normalerweise mache ich das nicht, aber es ist ein guter Trick, den Ärmel festzuhalten. Ich benutze es,
gdbus
um Konzepte zu überprüfen und zu beweisen, bevor ich zum Code übergehe. Die Bash-Vervollständigung spart viel Tipparbeit und vermeidet Tippfehler. Wäre schöngdbus
eine schönere Ausgabe zu haben.quelle