There has been quite a bunch of interest in this post, I've added a FAQ section at the bottom.
I will be adding stuff there if more FAQs pop up. Thanks!
D-Bus was introduced by GNOME folks about 20 years ago. For software made only 20 years ago, as opposed to 40 like X, it's surprisingly almost equally as bad.
As a service, D-Bus is incredibly handy and useful, and overall, I believe the idea should absolutely be used by more apps. However, the implementation... oh boy.
What is D-Bus?
Everyone has heard about D-Bus, but what is it, actually?
D-Bus' idea is pretty simple: let applications, services and other things expose methods or properties in a way that other apps can find them in one place, on the bus.
Let's say we have a service that monitors the weather. Instead of each app knowing how to talk to each weather service, or even worse, implementing one itself, it can connect to the bus, and see if any service on the system exposes some weather API, then use it to get weather.
Great, right? And yeah, the idea is wonderful.
What went wrong?
... continue reading