[Pkg-xfce-devel] Bug#836061: xfce4-session: don't run dbus-launch if XDG_RUNTIME_DIR/bus is available

Simon McVittie smcv at debian.org
Tue Aug 30 10:53:05 UTC 2016


Source: xfce4-session
Version: 4.12.1-4
Severity: normal
Tags: upstream
User: dbus at packages.debian.org
Usertags: dbus-launch dbus-launch-unless-dsba

As described in <https://lists.debian.org/debian-devel/2016/08/msg00554.html>
I'm trying to reduce how much dbus-launch is used in Debian.
xfce4-session has code that explicitly runs dbus-launch if
DBUS_SESSION_BUS_ADDRESS isn't set, in two places:

* shell code in scripts/xinitrc.in{,.in}
* C code in xfce4-session/main.c, which looks as though it might be derived
  from gnome-session or share a common ancestor

The major D-Bus implementations (libdbus, GDBus, sd-bus) now have a
fallback code path, before trying X11 autolaunch, when
DBUS_SESSION_BUS_ADDRESS is unset: if XDG_RUNTIME_DIR is set, and
XDG_RUNTIME_DIR/bus exists, is a socket and is owned by the
process's uid, then they will use it. In particular, dbus-user-session
sets up that situation.

For the moment, dbus-user-session does make sure DBUS_SESSION_BUS_ADDRESS
is set, to be nice to packages that don't have this fallback path.
However, I'd like to avoid requiring that in future, by adapting
the dbus-launch code in gnome-session and similar session-starters to
look for XDG_RUNTIME_DIR/bus before trying dbus-launch.

I'll open an upstream bug for gnome-session after doing this MBF.
A similar solution will probably be applicable to xfce4-session.

Thanks,
    S



More information about the Pkg-xfce-devel mailing list