Session bus vs system bus for an embedded system

Simon McVittie smcv at collabora.com
Thu Apr 19 13:07:08 UTC 2018


On Thu, 19 Apr 2018 at 11:26:05 +0200, Alan Martinovic wrote:
> > A complete, working D-Bus setup consists of a central server process,
> > the *message bus*, and some *clients* that connect to the central server.
> 
> Just to see if I got this right.
> central server process = the *message bus* = dbus-daemon

The central server process is the message bus - the text you quoted was
me providing an informal definition of what "message bus" means.

dbus-daemon is one possible implementation of the message bus (and
the most common choice), the same as the way Apache is one possible
implementation of your web server (and a popular choice).

> And in the server part, on Linux, it's one implementation to rule them all
> as opposed to a variety of client implementations you chose based on
> the requirements?

You have one system message bus, and one session message bus per user.
For each of those buses, you can choose any single implementation based
on your requirements, but you can't choose more than one implementation
for the same bus (for instance you can't have both dbus-daemon and
dbus-broker as your system bus, that wouldn't work).

At the moment most OS integrators use dbus-daemon for the system bus,
and another dbus-daemon for each user's session message bus.

Whichever message bus implementation you use, all client implementations
can connect to it, and you can choose a different client implementation
for each client if you want to (for instance if they have different
requirements). It's common to connect multiple client implementations to
the same message bus.

    smcv


More information about the dbus mailing list