Боровский А. D-Bus: шины для вашего Linux [Текст] / Андрей Боровский // Linux Format. — 2007. — № 12 (99), дек.. — С. 86-89. — (D-Bus. Учебник). — Прил.: "Рис. 1. Схема взаимодействия двух приложений с помощью D-Bus". — С. 87 ; "D-Bus интерфейс клиента Skype" : [Клиент Skype демонстрирует все основные возможности D-Bus]". — С. 88.
Аннотация
Что такое D-Bus? Самый простой ответ – еще одна система межпроцессного взаимодействия (Interprocess Communication или IPC). Ключевые слова здесь "еще одна". Высокоуровневых систем IPC для Unix/Linux существует много. Помимо систем высокого уровня Unix обладает развитыми средствами IPC низкого уровня (сокеты, каналы), каковые успешно используются многими приложениями напрямую.
Зачем тогда нам может понадобиться D-Bus? Эта система замышлялась группой FreeDesktop.org как средство IPC, не зависящее от типа рабочего стола. В процессе разработки D-Bus обрела несколько уникальных и полезных особенностей. Важными отличительными чертами D-Bus являются система сигналов и асинхронных вызовов методов, а также система управления выполнением приложений. Таким образом, ответ на вопрос, зачем может понадобиться программирование D-Bus, состоит из двух частей. Во-первых, многие важные приложения и системные компоненты (например, Linux HAL и NetworkManager) используют D-Bus как средство общения с внешним миром. Во вторых, D-Bus – это платформенно-независимая система IPC, которая присутствует практически в каждом дистрибутиве Linux и устанавливается по умолчанию во многих из них. Поэтому, если вы пишете приложение, которое должно предоставлять сервисы IPC, не являясь частью какого-либо рабочего стола, вам, безусловно, имеет смысл обратить внимание на D-Bus.
Плюсы и минусы D-Bus.
Архиектура D-Bus и низкоуровневой D-Bus API. Привязки D-Bus API к различным языкам программирования и библиотекам. В настоящее время D-Bus поддерживается в GTK+/GLib (следует отметить, что это – наиболее проработанные привязки), Qt 3/Qt 4, Python, Java, Perl.