D-Bus (Русский)
D-Bus — это система межпроцессного взаимодействия, реализующая шину сообщений. Она состоит из демона, который может работать как на уровне всей системы, так и для каждого пользовательского сеанса в отдельности, и набора библиотек, позволяющих приложениям использовать D-Bus.
Пакет dbus устанавливается автоматически как зависимость systemd. Шины для пользовательских сеансов запускаются автоматически.
Реализации
Arch предоставляет две реализации брокера D-Bus. Изначально при установке пакета systemd пользователю предлагается выбрать реализацию (пакет, который предоставляет dbus-units).
dbus-broker
dbus-broker — реализация, используемая по умолчанию в Arch. [1] [2] Это прозрачная замена для эталонной реализации, цель которой «обеспечить высокую производительность и надёжность при сохранении совместимости с эталонной реализацией D-Bus».
Для её установки выберите dbus-broker-units в момент выбора пакета, предоставляющего dbus-units, или установите этот пакет напрямую.
Эталонная реализация
Эталонная реализация тоже официально поддерживается в Arch.
Для её установки выберите dbus-daemon-units в момент выбора пакета, предоставляющего dbus-units, или установите этот пакет напрямую.
Советы и рекомендации
Переопределение службы dbus
Вы можете переопределить службы dbus в каталоге $XDG_DATA_HOME/dbus-1/services
.
Если служба уже запущена, переопределение не сработает; необходимо убить существующий процесс службы.
Переопределение позволяет всегда использовать определённую службу, если у вас установлено несколько служб с одним и тем же именем шины (well-known bus name).
В качестве примера смотрите KDE Wallet#Automatic D-Bus activation.
Отладка
- D-Spy — Простой в использовании графический инструмент отладки D-Bus. Можно использовать для проверки интерфейсов D-Bus запущенных программ и вызова методов на этих интерфейсах.
- QDbusViewer — Графический отладчик D-Bus. Можно использовать для проверки служб D-Bus и вызова их методов.
Таже можно использовать команду busctl(1), которую предоставляет systemd.