How exactly is a CLI wrapper supposed to work without some kind of IPC?
Most components of the system have an associated daemon running and maintaining them.
You need some kind of way to communicate to that daemon.
DBUS is the most common and easiest way.
Re:DBus, FreeDesktop, and lots of madness
by stevejones on Monday November 24, 2014 @08:25AM
(#8652236)
Most components of the system /are/ a daemon. Most of the terrible decisions in Linux infrastructure of the last 10 years have been making daemons where a protocol would would do the job more simply.
The implementation got better (actually, systemd partially got rid of many -Kit components which never truly worked, which IMHO, doing us a favor), but the design is still wonky, still poorly documented, very difficult to debug as a result and understand as a whole.
The fact that these tools rely on self-describing protocols with one single implementation without documentation also results in very tight coupling.
It's also shifting the idea of having a cli interface to perform a task to a dbus interface. Often without any documentation of the dbus interface itself to begin with (or with a crappy cli wrapper).