On Thu, 10 Aug 2017 at 00:31:24 -0700, Mark Hedges wrote:
> Changing the recommends to depends for dbus-user-session won't fix the
> immediate problem, unless gnome-terminal is changed to use something other
> `dbus-launch` to do whatever it is that it's trying to do. dbus-x11 provides
> the dbus-launch executable. dbus-user-session does not.
% cd gnome-terminal-3.22.2
% ack dbus-launch
[search produces no results]
If gnome-terminal strictly requires a working D-Bus session bus, which I
suspect it might due to being implemented with a client/server model,
then the correct dependency is to bump the existing Recommends on
default-dbus-session-bus | dbus-session-bus up to a Depends, as seen
in e.g. gcr and gnome-keyring. In practice this ensures that either
dbus-user-session or dbus-x11 is installed. I have now done this in svn.
If the DBUS_SESSION_BUS_ADDRESS environment variable is not set, D-Bus
implementations like gio (GDBus) and libdbus are expected to look for
$XDG_RUNTIME_DIR/bus (which is set up by dbus-user-session on systemd
systems, and could in theory be provided by a different implementation
of the dbus-session-bus virtual package on non-systemd systems if someone
does the work), then if that is not found, fall back to running dbus-launch
(which is provided by dbus-x11). gnome-terminal uses gio for all its
D-Bus needs, so it has this behaviour.
See https://lists.debian.org/debian-devel/2016/08/msg00554.html for
recommendations. dbus-launch is run by the implementation of the
"autolaunch:" pseudo-transport that is mentioned in that mail.