D-Bus (Русский) - ArchWiki

Jump to content

# D-Bus (Русский)

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

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, или установите этот пакет напрямую.

Примечание dbus-broker не поддерживает AppArmor.

### Эталонная реализация

Эталонная реализация тоже официально поддерживается в 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 запущенных программ и вызова методов на этих интерфейсах.

  https://gitlab.gnome.org/GNOME/d-spy || d-spy

- 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 (Русский)

D-Bus (Русский)
Add topic