Есть ли такая вещь, как список доступных сервисов DBus?
Я наткнулся на несколько (например, предоставленные NetworkManager, Rhythmbox, Skype, HAL).
Интересно, смогу ли я найти довольно полный список предоставляемых сервисов / интерфейсов.
65
dbus-send
илиgdbus
?qdbusviewer
твой лучший друг; он также позволяет отправлять сообщения по шине D-Bus:источник
qdbusviewer: could not exec '/usr/lib/i386-linux-gnu/qt4/bin/qdbusviewer': No such file or directory
d-feet
работает с сегодняшнего дня.d-feet
в качестве ответа, чтобы сделать его более заметнымПуть питона - прекрасный путь.
Системные сервисы:
Сессионные услуги:
источник
pip install dbus-python
. Пакет python-dbus также доступен (я не смог начать работать за 2 минуты, которые я попробовал).gdbus
является частью glib2 и поддерживает дополнения Bash. Вот как это использовать (на Fedora):Это покажет все возможные направления. Чтобы получить список доступных интерфейсов, DBus экспортирует
org.freedesktop.DBus.ListNames
метод. Вы можете вызвать это, запустив:К сожалению, это приводит к нечитаемому выводу. К счастью, на выходе допустим Python, так что это возможно:
Я обычно не делаю этого, но это хороший трюк, чтобы держать на рукаве. Я использую
gdbus
для анализа и проверки концепции, прежде чем перейти к коду. Завершение bash экономит много времени на печатание и позволяет избежать опечаток. Было бы неплохо иметьgdbus
более хороший вывод.источник