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