3 ms·
To re-answer your question, ideally d-bus would send the request to the session manager, which already has logic to start and stop programs as needed. If it is
by Sanddancer 11y ago
To re-answer your question, ideally d-bus would send the request to the session manager, which already has logic to start and stop programs as needed. If it is a system-level service, then the session manager should call the init system, through the formalized methods already set up, to start the service. The problem described in the original article is that d-bus lacks any sort of logic to figure out what to do if things go wrong, and thus causes more problems than it solves, in more difficult places to troubleshoot.
Finally, regarding d-bus' age, development on DBus started in 2002, about the same time as the first release of OS X with Cups, and well before Canonical started work on upstart. For the first several years, d-bus was just a messaging service, and it worked decently at it. Pasting on another component that starts and stops services is just asking for problems.