smcv at collabora.com
Tue Apr 11 11:15:49 UTC 2017
On Tue, 11 Apr 2017 at 10:42:15 +0930, Simon Lees wrote:
> I did some testing on a fresh install with openbox presumably with
> nothing fancy happening, I have no ~/.dbus directory and the output of
> systemctl status user-1000.slice (trimmed) seems to indicate its running
> as a systemd service, i'm guessing thats what you were after Simon.
> └─user at 1000.service
> │ ├─2117 /bin/dbus-daemon --session --address=systemd:
> --nofork --nopidfile --systemd-activation
This is the session dbus-daemon as run in user-bus mode (the equivalent
of installing dbus-user-session in Debian).
This is not the upstream default, so a previous dbus maintainer in
openSUSE must have specifically chosen to use it. When they did that,
I would have hoped that they'd check the contents of the distribution
for compatibility with that approach.
There are basically two ways they could have done this. One is to go
for the "clean break" approach, like Fedora and Arch Linux did: with
that approach, the distribution no longer supports installations
that do not use systemd --user to launch dbus.service, at all. If this
is the route that you/they have chosen, then the Emacs wrapper script
should just not do anything special about D-Bus, and rely on having been
given a correct XDG_RUNTIME_DIR; D-Bus implementations will do the rest.
The other is to leave it optional, with various levels of optionality from
"recommended" to "not recommended": this is what I did in Debian.
Sysadmins should install dbus-user-session for the user-bus model
(recommended), or avoid installing that package to get the traditional
X11 dbus-launch behaviour. With this approach, the Emacs wrapper script
should probably still not do anything special about D-Bus; but if its
maintainer insists on second-guessing the D-Bus implementation, then
it should check whether $XDG_RUNTIME_DIR/bus is owned by the current uid
before doing anything more elaborate. In Debian, I did a mass-bug-filing
for packages that explicitly invoked dbus-launch
to try to make our bus-launching simpler and more reliable.
More information about the dbus