What is dbus?
dbus (short for Desktop Bus) is an inter-process communication (IPC) mechanism: a message bus that allows different processes and applications to communicate with each other. All processes connected to the bus can communicate with each other through it. dbus is a spec, libdbus is a reference implementation of the specification.
dbus-x11is an older implementation of dbus that creates a newdbus-daemonfor each graphical display that is opened (i.e. when a user logs in). Thisdbus-daemon(and any of its services) dies whenever that graphical session ends.dbus-user-sessioninstead has asystemduser service, where thedbus-daemonis shared among all of a user's sessions (graphical, ssh, tty, etc). Thisdbus-daemondies when the last of a user’s login sessions has ended.dbus-user-sessionhas a hard dependency onsystemdwhich only supports running one graphical session per user at a time.
Usage:
systemd: uses the D-Bus wire protocol for communication betweensystemctlandsystemd.NetworkManager/udev:udevdaemon creates an entry for each network interface card (NIC) installed in the system in the network rules file.- D-Bus signals the presence of a new network device—wired or wireless—to
NetworkManager. NetworkManagerthen listens to the traffic on the D-Bus and responds by creating a configuration for this new device.