<div dir="ltr">On Wed, Aug 19, 2015 at 2:55 PM, Ian Geiser <<a href="mailto:igeiser@devonit.com">igeiser@devonit.com</a>> wrote:<br>> Greetings, I am struggling with search queries here so I need to ask this outright.  "what is the role of dbus going forward?"  Is dbus the preferred way going forward?  Or should things really be using sd-bus.h instead?<div><br></div><div>D-Bus is not going away, only its internals are being replaced. Existing clients will continue working.</div><div><br></div><div>kdbus replaces the "dbus-daemon" router and the Unix socket transport with a direct kernel API, but all existing programs can still connect to it via systemd-bus-proxy (at least until they get native kdbus support).</div><div><br></div><div>sd-bus.h is only a library for writing DBus clients & servers. Here the choice is still up to you – sd-bus has better performance and native kdbus support (and a better API than e.g. dbus-glib), but if you're writing programs in GTK or Qt or EFL, then you'll still want GDBus or QtDBus or Eldbus.</div><div><br></div><div>(I've heard GDBus already has native kdbus support in development, too.)</div><div><br>> I manage an embedded product that leverages system heavily at the system level, but I want to expand this into the user session. The main focus is to use "scopes" for classification and control of specific application's process groups.  The rub here is that while system-run can do this if I try to do this via dbus the org.freedesktop.systemd1 is missing from the user session no matter what or where I set my DBUS_SESSION_BUS_ADDRESS.  I am using systemd  224.<br><br>Right, systemd will not be accessible on a session bus, since it runs <i>outside</i> the session.</div><div><br></div><div>So instead you'll find it on the <i>user</i> bus, which is available by default on kdbus systems, but can be configured with dbus-daemon as well. The current devel branch (1.9.20) of dbus-daemon installs the --user units dbus.socket and dbus.service necessary for this. The user bus address is "kernel:path=/dev/kdbus/$UID-user/bus;unix:runtime=yes" (if I got the syntax right?), or "kernel:path=/dev/kdbus/$UID-user/bus;unix:path=/run/user/$UID/bus".</div><div><br></div><div>(Technically the same can be done with dbus 1.8.x as well, but AFAIK the developers do not approve.)</div><div><br>-- <br>Mantas Mikulėnas <<a href="mailto:grawity@gmail.com">grawity@gmail.com</a>></div></div>