D-Bus
Mehr Info
- Erstellt von
- Havoc Pennington (Red Hat)
- Jahr
- 2003, Version 1.0 im Jahr 2006
- Inhaber
- freedesktop.org
- Typ
- Nachrichtenbus (IPC)
- Lizenz
- AFL 2.1 oder GPL 2
- Offizielle Website
- freedesktop.org/wiki/Software/dbus
Der Nachrichtenbus, über den der Linux-Desktop und inzwischen das ganze Linux-System spricht: ein Daemon, der Methodenaufrufe und Signale zwischen Programmen weiterreicht, die nie voneinander gehört haben.
Vor 2003 hatte jeder Desktop seinen eigenen Bus: Sun hatte ToolTalk, KDE hatte DCOP, GNOME hatte CORBA über Bonobo. Havoc Pennington von Red Hat schrieb D-Bus unter dem Dach von freedesktop.org als gemeinsamen Ersatz, mit DCOP als nächstem Vorbild. Ein Programm verbindet sich über einen Unix-Socket mit einem Daemon, beansprucht einen Namen in umgekehrter Domain-Schreibweise wie org.freedesktop.Notifications und stellt Objekte mit Pfaden und Schnittstellen bereit. Andere rufen darauf Methoden auf oder abonnieren Signale. Der Daemon kann einen Dienst auch beim ersten Zugriff starten.
Es gibt zwei Busse: einen Session-Bus pro angemeldetem Benutzer für die Belange des Desktops und einen System-Bus, an dem sich Hardware-Ereignisse, der Network Manager und systemd treffen, wobei eine Policy-Datei festlegt, wer mit wem reden darf. Version 1.0 erschien 2006; KDE 4 und GNOME stiegen um und schafften ihre eigenen Lösungen ab. Der Versuch, den Bus als kdbus in den Linux-Kernel zu verlagern, wurde 2015 abgelehnt, und der Daemon wurde stattdessen als dbus-broker neu geschrieben. Jeder Aufruf über einen Mittelsmann kostet zwei Kopiervorgänge, worüber man sich seit zwanzig Jahren beklagt, ohne dass etwas Besseres an seine Stelle getreten wäre.