Навіщо мені потрібен dbus?


17

Нещодавно я видалив dbus зі своєї системи (разом із consolekit та polkit). Я не помітив жодних змін (я запускав її як системний демон і користувач від .xinitrc). Однак багато хто стверджує, що просто потрібен dbus, більшість програм для Linux використовує його тощо. Моє запитання: навіщо мені це потрібно? Я не думаю, що я розумію, що це робить саме. Я знаю, що це "система шини повідомлень", що процеси спілкуються через неї тощо. І? Я досі не знаю, що я отримую від його використання. Може хтось мені це пояснить, бажано, на прикладах "із реального життя"?


3
Не хвилюйтесь, вам навіть не потрібно буде найближчим часом встановлювати / видаляти dbus. Зараз воно є частиною ядра: kroah.com/log/blog/2014/01/15/kdbus-details
yegorich

Відповіді:


10

Як кінцевий користувач, ви цього не зробите. D-Bus нічого не робить, що не можна було б зробити по-іншому.

Переваги D-Bus цікавлять насамперед розробників. Він об'єднує декілька складних бітів функціональності (об’єктно-орієнтовані та безпечні для типу повідомлення, активація демона, повідомлення про події, незалежність від транспорту) під єдиним об'єктом, який працює однаково, незалежно від того, якою мовою програмування чи інструментом вікна використовується.


2
Але чи не могла б якась програма не запускатися, якщо dbus немає?
lalala

Деякі, точно. Але можна зробити це необов'язковою вимогою незалежно.
Ігнасіо Васкес-Абрамс

Повідомлення системного лотка для DE створюються шляхом надсилання повідомлень DBUS. Принаймні, у мене була одна установка, яка використовувала DBUS на дивовижній з цієї причини.
Spidey

@Spidey: Так, але немає причин, щоб вони не могли використовувати для цього сокети. Просто так трапляється, що D-Bus - кращий вибір.
Ігнасіо Васкес-Абрамс

Звичайно, DBUS - це ще один протокол IPC. Але це один із прикладів, про які в першу чергу попросила ОП.
Spidey
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.