SystemdDoctor
BusName= [Service]

BusName= и Type=dbus

Задаёт имя на системной шине, которое служба должна занять. При Type=dbus занятие этого имени означает, что запуск завершён.

Что делает

Такой тип подходит службам, построенным вокруг шины: они регистрируют имя и через него принимают обращения. Для обычных сетевых служб он не нужен.

Если имя не совпадает или служба не работает с шиной, запуск закончится нарушением договора: состояние результата будет protocol.

Где ставится. В секции [Service], обязателен при Type=dbus.

Значения

ЗначениеЧто происходит
org.example.MyAppимя на системной шине.

Пример

Служба, работающая через системную шину.

[Service]
Type=dbus
BusName=org.example.MyApp
ExecStart=/usr/local/bin/myapp --bus

Проверить занятое имя можно командой busctl list | grep MyApp — она покажет, кто его держит.

Типичные ошибки

Опечатка в имени приводит к ожиданию и нарушению договора вместо понятной ошибки.

Тип dbus без работы с шиной бессмысленен: берите simple или exec.

Связанные ошибки

  • Failed with result 'protocol'Состояние protocol: служба нарушила договор со systemd. Обычно Type=notify без уведомления или Type=dbus без имени на шине.
  • Failed with result 'timeout'Состояние timeout: служба не уложилась в отведённое время при запуске, остановке или перезагрузке настроек.

Рядом стоящие параметры

Источники

  • systemd.service(5) официальная документация
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04) собственная проверка
    сверено 15 сентября 2026