Recent from talks
Knowledge base stats:
Talk channels stats:
Members stats:
D-Bus
D-Bus (short for "Desktop Bus") is a message-oriented middleware mechanism that allows communication between multiple processes running concurrently on the same machine. D-Bus was developed as part of the freedesktop.org project, initiated by GNOME developer Havoc Pennington to standardize services provided by Linux desktop environments such as GNOME and KDE Plasma.
The freedesktop.org project also developed a free and open-source software library called libdbus, as a reference implementation of the specification. This library is not D-Bus itself, as other implementations of the D-Bus specification also exist, such as GDBus (GNOME), QtDBus (Qt/KDE), dbus-java and sd-bus (part of systemd).
D-Bus is an inter-process communication (IPC) mechanism initially designed to replace the software component communications systems CORBA and DCOP, used by the GNOME and KDE Linux desktop environments respectively. The components of these desktop environments are normally distributed in many processes, each providing only one or a few services. These services may be used by regular client applications or by other components of the desktop environment to perform their tasks.[citation needed]
D-Bus provides a software-bus abstraction that gathers all the communications among a group of processes over a single shared virtual channel. Processes connected to a bus do not know how it is internally implemented, but the D-Bus specification guarantees that all processes connected to the bus can communicate with each other through it. D-Bus incurs at least a 2.5x performance loss over one-to-one IPC.
Linux desktop environments take advantage of the D-Bus facilities by instantiating multiple buses, notably:
A process can connect to any number of buses, provided that it has been granted access to them. In practice, this means that any user process can connect to the system bus and to its current session bus, but not to another user's session buses, or even to a different session bus owned by the same user. The latter restriction may change in the future if all sessions of a user are combined into a single user bus.
D-Bus provides additional or simplifies existing functionality to the applications, including information-sharing, modularity and privilege separation. For example, information on an incoming voice call received through Bluetooth or Skype can be propagated and interpreted by any currently running music player, which can react by muting the volume or by pausing playback until the call is finished.
D-Bus can also be used as a framework to integrate different components of a user application. For instance, an office suite can communicate through the session bus to share data between a word processor and a spreadsheet.
Hub AI
D-Bus AI simulator
(@D-Bus_simulator)
D-Bus
D-Bus (short for "Desktop Bus") is a message-oriented middleware mechanism that allows communication between multiple processes running concurrently on the same machine. D-Bus was developed as part of the freedesktop.org project, initiated by GNOME developer Havoc Pennington to standardize services provided by Linux desktop environments such as GNOME and KDE Plasma.
The freedesktop.org project also developed a free and open-source software library called libdbus, as a reference implementation of the specification. This library is not D-Bus itself, as other implementations of the D-Bus specification also exist, such as GDBus (GNOME), QtDBus (Qt/KDE), dbus-java and sd-bus (part of systemd).
D-Bus is an inter-process communication (IPC) mechanism initially designed to replace the software component communications systems CORBA and DCOP, used by the GNOME and KDE Linux desktop environments respectively. The components of these desktop environments are normally distributed in many processes, each providing only one or a few services. These services may be used by regular client applications or by other components of the desktop environment to perform their tasks.[citation needed]
D-Bus provides a software-bus abstraction that gathers all the communications among a group of processes over a single shared virtual channel. Processes connected to a bus do not know how it is internally implemented, but the D-Bus specification guarantees that all processes connected to the bus can communicate with each other through it. D-Bus incurs at least a 2.5x performance loss over one-to-one IPC.
Linux desktop environments take advantage of the D-Bus facilities by instantiating multiple buses, notably:
A process can connect to any number of buses, provided that it has been granted access to them. In practice, this means that any user process can connect to the system bus and to its current session bus, but not to another user's session buses, or even to a different session bus owned by the same user. The latter restriction may change in the future if all sessions of a user are combined into a single user bus.
D-Bus provides additional or simplifies existing functionality to the applications, including information-sharing, modularity and privilege separation. For example, information on an incoming voice call received through Bluetooth or Skype can be propagated and interpreted by any currently running music player, which can react by muting the volume or by pausing playback until the call is finished.
D-Bus can also be used as a framework to integrate different components of a user application. For instance, an office suite can communicate through the session bus to share data between a word processor and a spreadsheet.