Skimmed over the whole article – I wish this had been available back when I was trying to piece together the basics from the documentation. There really needs to be a 2nd part, though, with some discussion of the GVariant signatures, which the author says were ‘beyond the scope of’ this article – which is true; nevertheless, understanding that syntax (and how to use it e.g. with gdbus) is an absolute requirement for using dbus properly; and as a silly amateur, I lost so much time over them.
D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a “single instance” application or daemon, and to launch applications and daemons on demand when their services are needed.
This is an amazing article for folks interested in the low level IPC dbus. systemd, network manager, and or applications are leveraging dbus and with the new dbusbroker I expect more and more applications leverage it. It’s MASSIVELY confusing at first, but this is such a great article I hope it helps anyone interested in thr low level communications of userspace level linux applications.