On Wed, Aug 19, 2015 at 2:55 PM, Ian Geiser 
<igei...@devonit.com<mailto:igei...@devonit.com>> wrote:
> 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?

D-Bus is not going away, only its internals are being replaced. Existing 
clients will continue working.

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).

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.

[igeiser] Awesome, thanks for the clarification

(I've heard GDBus already has native kdbus support in development, too.)

> 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.

Right, systemd will not be accessible on a session bus, since it runs outside 
the session.

So instead you'll find it on the user 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".
[igeiser] Can I access it using the path directly in 1.8.x using 
”unix:path=/run/user/$UID/system/private”? Or is that what the 1.9.20 allows to 
happen?
(Technically the same can be done with dbus 1.8.x as well, but AFAIK the 
developers do not approve.)

[igeiser] Is this the method various “user units” howtos add a dbus.socket and 
dbus.service into the user directory?  I will research the dbus repo for their 
details.  This is happy lab fun time so I am play with hacks if they don’t lead 
me away from the official solution.

--
Mantas Mikulėnas <graw...@gmail.com<mailto:graw...@gmail.com>>
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to