[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#725811: debian-installer: graphical installer: run debconf under dbus-run-session(1)



Package: debian-installer
Severity: wishlist
Control: block -1 by 723952

I've been asked to add a udeb for dbus so that AT-SPI can use it. At the
moment, any attempt to connect to the D-Bus session bus will either
fail (if not in X11), or use the "autolaunch" mechanism involving
dbus-launch(1) (if in X11).

I would prefer dbus-launch to go away - it's not very well written or
documented, and tries to do too many things, none of them very well.
To help with that, I've backported the new dbus-run-session(1) tool
from dbus master.

The ideal way to use that tool would be something like this, when running
in graphical mode:

    exec dbus-run-session -- debconf -o d-i ...

(Or if there's more than one process that could need to be in the D-Bus
session, wrap their common parent in dbus-run-session. It's a bit like
sudo, chroot, nice, pkexec etc.)

The other way to put processes in a D-Bus session is to start them
with DBUS_SESSION_BUS_ADDRESS in their environment, having first run a
dbus-daemon and told it to write its address into a pipe. dbus-run-session
does that in C. Here is an older shell-script implementation which you
might find a useful reference:

    http://cgit.freedesktop.org/telepathy/telepathy-glib/tree/tools/with-session-bus.sh?h=telepathy-glib-0.22

Either way, if you can ensure that all processes that might want to talk
to D-Bus or AT-SPI are run with a DBUS_SESSION_BUS_ADDRESS, please let
me know, and I'll remove dbus-launch (and hence its X11 dependency)
from the udeb.

In the glorious Wayland future, I would like dbus-launch (and the
whole fragile autolaunch mechanism) to cease to exist entirely, in favour
of GUI environments using systemd, Upstart, dbus-run-session, or
dbus-daemon directly to get their session bus.

    S

-- System Information:
Debian Release: jessie/sid
  APT prefers proposed-updates
  APT policy: (500, 'proposed-updates'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.10-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash


Reply to: