D-Bus
D-Bus | ||||
---|---|---|---|---|
Ontwikkelaar(s) | Red Hat en de community | |||
Recentste versie | 1.14.10 (1 september 2023)[1] | |||
Status | Actief | |||
Besturingssysteem | Multiplatform | |||
Geschreven in | C | |||
Categorie | Interprocescommunicatie | |||
Licentie(s) | GPL or Academic Free License 2.1[2] | |||
Versiebeheer | Officiële broncode | |||
Website | (en) D-Bus op FreeDesktop.org | |||
|
D-Bus (Desktop Bus) is ontwikkeld door Red Hat als onderdeel van het freedesktop.org-project om processen onderling gemakkelijk met elkaar te laten communiceren. De concurrerende oplossing DCOP (Desktop Communications Protocol), dat een belangrijk onderdeel was van zowel KDE 2 en 3, heeft als blauwdruk gediend voor de ontwikkeling van D-Bus. Met de komst van D-Bus is DCOP in KDE 4 vervangen door D-Bus en wordt bij GNOME D-Bus ingezet om het oudere Bonobo-mechanisme te vervangen. Ook andere desktopomgevingen en windowmanagers maken gebruik van D-Bus.
Events en werking
[bewerken | brontekst bewerken]Met de komst van D-Bus delen de twee grotere werkomgevingen op Unix-achtige besturingssystemen een gezamenlijke infrastructuur en uniforme manier om op events te reageren. Een applicatie zoals Brasero kan zich bij D-Bus registreren om hardware-events te ontvangen betreffende veranderingen van optische spelers. Wanneer de Hardware Abstraction Layer (HAL) deze wijzigingen detecteert zullen deze via een kanaal binnen D-Bus bij de juiste applicaties terechtkomen.
Uit veiligheidsoverwegingen is er een algemeen systeemkanaal, waar voor sommige acties rechten nodig zijn om deze te kunnen zien of om berichten te kunnen versturen. Tevens is er voor elke actieve gebruiker een privékanaal waar alle processen van deze gebruiker overheen kunnen communiceren. Een voorbeeld hiervan is de audiospeler Rhythmbox, die informatie verstuurt over welk nummer nu wordt afgespeeld.
Implementaties
[bewerken | brontekst bewerken]- Freedesktop.org D-Bus, de referentie-implementatie
- Windbus, specifieke wijzigingen voor een implementatie van D-Bus onder Windows
- NDesk Managed D-Bus voor het .NET framework, was de eerste onafhankelijke implementatie volgens het cleanroom design[3]
- D-Bus Java, ontwikkeld[4] uit libdbus in een onafhankelijke implementatie
- DBus-Python implementeert de D-Bus Reference Spec
Externe links
[bewerken | brontekst bewerken]- (en) D-Bus op FreeDesktop.org
- (en) IBM's D-Bus tutorial (gearchiveerd)
- (en) How to pass a variant over D-Bus (gearchiveerd)
- (en) Voorbeelden om D-Bus te gebruiken vanaf de commandline (in combinatie met Liferea)
- (en) D-Bus in een diagram
- ↑ Announcing dbus 1.14.10 (maintenance release).
- ↑ (en) GPL/AFL
- ↑ Alp Toker, D-Bus mailing list (2006).
- ↑ Matthew Johnson, D-Bus mailing list (2007).