D-Bus
D-Bus software | |
---|---|
Genere | Comunicazione tra processi |
Sviluppatore | Red Hat e la community |
Ultima versione | 1.14.0 (28 febbraio 2022) |
Ultima beta | 1.15.0 (28 febbraio 2022) |
Sistema operativo | Linux Microsoft Windows |
Linguaggio | C |
Licenza | GNU General Public License o Academic Free License 2.1[1] (licenza libera) |
Sito web | www.freedesktop.org/wiki/Software/dbus/ |
Modifica dati su Wikidata · Manuale |
D-Bus (Desktop Bus) è un sistema di comunicazione tra processi (IPC), sviluppato come progetto di software libero, che offre alle applicazioni un semplice modo di comunicare tra loro.
D-Bus è stato pesantemente influenzato dal sistema DCOP e lo ha sostituito nella versione KDE 4; D-Bus fa parte del progetto Freedesktop.org e Red Hat è il suo sviluppatore principale. È implementato in Qt 4, GNOME e sulla piattaforma Maemo per applicazioni mobili.
Introduzione
Mediante D-Bus una applicazione può registrarsi per offrire servizi ad altre. D-Bus offre anche alle applicazioni client la possibilità di ricercare i servizi disponibili. Inoltre i programmi possono registrarsi in attesa di eventi del kernel, come ad esempio il cambiamento di periferiche collegate.
D-Bus è implementato come demone, e gli utenti possono eseguire diverse istanze, ciascuna delle quali è definita un canale. Generalmente esisterà un canale privilegiato, detto canale di sistema (system channel), e una istanza privata per ogni utente. Le istanze private sono necessarie perché il canale di sistema avrà restrizioni di accesso. Il canale di sistema ha la missione di recapitare i messaggi dallo strato di astrazione dall'hardware (Hardware abstraction layer o HAL) a tutti i processi interessati. Le istanze private invece forniscono un sistema di comunicazione tra le applicazioni dell'utente senza restrizioni.
Architettura
L'architettura di D-Bus si sviluppa su tre livelli:
- libdbus
- una libreria che consente a due applicazioni di collegarsi tra loro e scambiarsi messaggi.
- un demone di gestione dei messaggi
- che impiega libdbus, a cui le applicazioni si connettono; il demone può dirottare i messaggi da una applicazione a zero o più altre applicazioni.
- librerie wrapper
- per ogni ambiente applicativo.
Utilizzo
D-Bus è progettato per fare fronte a due possibili casi:
- Comunicazione tra diverse applicazioni dello stesso desktop.
- Comunicazione tra l'ambiente desktop e il sistema operativo.
Note
- ^ Havoc's Blog July, 2007
Collegamenti esterni
- (EN) Sito ufficiale, su freedesktop.org.
- D-Bus, su packages.debian.org.
- Repository sorgenti di D-Bus, su gitlab.freedesktop.org.
- (EN) D-Bus, su Free Software Directory.
- Freedesktop.org D-Bus, implementazione di riferimento
V · D · M | ||
---|---|---|
Componenti | Avahi · Compiz · ConsoleKit · D-Bus · DeviceKit · DRI · Flatpak · FriBidi · HAL (deprecato) · Nouveau · PackageKit · Plymouth · PolicyKit · Portland Project · systemd · Wayland · X.Org | |
Librerie | AppStream · cairo · Fontconfig · GStreamer · HarfBuzz · Pango · Mesa 3D · Poppler · Swfdec · Video Acceleration API · XCB · Xft | |
Framework | CppUnit · Galago · GeoClue · Telepathy · Open Collaboration Services | |
Voci correlate | Create Project · Libre Graphics Meeting |
V · D · M | |||||||
---|---|---|---|---|---|---|---|
Comunità | Progetto GNOME · GNOME Foundation · GUADEC Persone: Miguel de Icaza · Federico Mena · Havoc Pennington | ||||||
Componenti |
| ||||||
Applicazioni |
| ||||||
Tecnologie | ATK · Bonobo · Cairo · Clutter · D-Bus · GConf · GLib · Keyring · GNOME VFS · GObject · GStreamer · GTK · java-gnome · Mono · Pango · Vala | ||||||
Voci correlate | Common Desktop Environment · KDE · Xfce · Freedesktop.org |