[Pkg-utopia-maintainers] Bug#1006762: dbus: xfce4-session reports CRITICAL 'dbus-launch not found' xfdesktop does not start

Simon McVittie smcv at debian.org
Fri Mar 4 17:38:50 GMT 2022


Control: reassign -1 xfce4-session

On Fri, 04 Mar 2022 at 23:39:09 +1100, Sam Lander wrote:
> I am in testing, and found after the recent v1.14 into testing release
> that xfdesktop did not start.
> I reported it to xfdesktop, but I think it might be a dbus package
> problem
> https://gitlab.xfce.org/xfce/xfdesktop/-/issues/183
> 
> In short, my whereis dbus-launch returns nothing and xfce4-session says:
> 
> /etc/xdg# xfce4-session --help
> ... xfce4-session-CRITICAL **: 22:53:24.005: dbus-launch not found, the desktop will not work properly!

If xfce4-session requires dbus-launch, then it should have a dependency
on dbus-x11. The dbus package is not responsible for ensuring that "larger"
packages like xfce4-session have the dependencies they need.

Older versions of xfce4-session had a Recommends on dbus-x11; newer versions
appear to have a Recommends on default-dbus-session-bus | dbus-session-bus
instead.

What is meant to happen in most desktop environments shipped in Debian is
that a dependency on default-dbus-session-bus | dbus-session-bus arranges
for some sort of D-Bus session bus to be provided by the operating system.
However, that dependency doesn't specify exactly how the D-Bus session
bus works, only that it works. It might be the "user bus" (dbus-daemon
as a `systemd --system` service), or it might be the older setup where
dbus-x11 provides /etc/X11/Xsession.d/75dbus_dbus-launch, which is
run during desktop environment startup, runs dbus-launch and you get a
dbus-daemon that way.

If the environment variable DBUS_SESSION_BUS_ADDRESS is set, or if a socket
$XDG_RUNTIME_DIR/bus exists and is owned by the user's uid, then
xfce4-session should accept that D-Bus has been set up by the operating
system, and not insist on running dbus-launch itself.

Or, failing that, if xfce4-session does insist on running dbus-launch
itself, then it needs to have the necessary dependency on dbus-x11 to
guarantee that dbus-launch exists.

The upgrade from dbus 1.12 to 1.14 should not affect how this works: in
both 1.12 and 1.14, the dbus-launch executable is part of the dbus-x11
package.

> Versions of packages dbus suggests:
> ii  dbus-user-session [default-dbus-session-bus]  1.14.0-1
> 
> Versions of packages dbus is related to:
> pn  dbus-x11      <none>
> ii  systemd       250.3-2
> ii  systemd-sysv  250.3-2

This is the "legacy-free" user bus setup, in which `dbus-daemon --session`
is run as a per-user service by `systemd --user`. It should be enough to
provide you with a working D-Bus session bus, as long as desktop components
don't second-guess it.

    smcv



More information about the Pkg-utopia-maintainers mailing list