Can anybody explain to me what dbus is for, and why I sometimes have to start applications using "dbus-launch" because otherwise they can't connect to dbus. Or why sometimes when I login on other systems using "ssh -CY" I cannot even start applications like eog (eye of gnome) because dbus is in the way, but somehow mysteriously they DO start when I run them with "strace -f"? Seems to me that Linux systems are startin…
I think the reason for dbus is that all of these processes want to talk to all the other ones, and they need to rendezvous somewhere. You probably don't want to open a unix socket for every 'topic' you want to respond to, and anyway if there's multiple programs interested in the topic, how do you make sure they all get all of the messages, if they all listen to the socket, only one gets the message.
For desktopy things, you could communicate through the X server, but some of the things you might want to communicate with are system daemons, not X applications. I don't know if Wayland provides a way for multiple clients to communicate? OTOH, dbus doesn't transit over the network, so eog on a remote host can't communicate with your desktop environment, so that's kind of a pain. Yet another capability lost overtime. grumblegrumble*