Jump to content
From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи D-Bus. Дата последней синхронизации: 23 декабря 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

D-Bus — это система межпроцессного взаимодействия, реализующая шину сообщений. Она состоит из демона, который может работать как на уровне всей системы, так и для каждого пользовательского сеанса в отдельности, и набора библиотек, позволяющих приложениям использовать D-Bus.

Пакет dbus устанавливается автоматически как зависимость systemd. Шины для пользовательских сеансов запускаются автоматически.

## Альтернативные реализации

### dbus-broker

dbus-broker — прозрачная замена libdbus, цель которой «обеспечить высокую производительность и надежность при сохранении совместимости с эталонной реализацией D-Bus». [1]

Для запуска dbus-broker в качестве системной шины сперва отключите службу `dbus.service`, а затем включите службу `dbus-broker.service`.

Для запуска dbus-broker в качестве пользовательской шины включите пользовательскую службу `dbus-broker.service`.

Чтобы задействовать его для всех пользователей, включите его с опцией `--global`:

    # systemctl --global enable dbus-broker.service

Перезагрузитесь для применения изменений.

## Советы и рекомендации

### Переопределение службы dbus

Вы можете переопределить службы dbus в каталоге `~/.local/share/dbus-1/services`.

Если служба уже запущена, переопределение не сработает; необходимо убить существующий процесс службы.

## Отладка

- D-Feet — Простой в использовании графический инструмент отладки D-Bus. Можно использовать для проверки интерфейсов D-Bus запущенных программ и вызова методов на этих интерфейсах.

  https://wiki.gnome.org/Apps/DFeet || d-feet

- QDbusViewer — Графический отладчик D-Bus. Можно использовать для проверки служб D-Bus и вызова их методов.

  https://doc.qt.io/qt-5/qdbusviewer.html || qt5-tools

Таже можно использовать команду busctl(1), которую предоставляет systemd.

## Смотрите также

- https://freedesktop.org/wiki/Software/dbus/
- https://freedesktop.org/wiki/IntroductionToDBus/

Category:

- System administration (Русский)