[pkg-gnupg-maint] Bug#911768: pinentry-gnome3 fails to open a window with 'No Gcr System Prompter available, falling back to curses'

Simon McVittie smcv at debian.org
Tue Mar 12 15:01:26 GMT 2019

On Tue, 12 Mar 2019 at 10:32:40 -0400, Daniel Kahn Gillmor wrote:
> On Sun 2019-03-10 14:35:04 +0000, Simon McVittie wrote:
> > It's a pity we can't make pinentry-gnome3 depend on something like
> > "dbus-user-session | not(libpam-systemd)".
> that would be nice, but it's still not the most robust, because of
> course you can have libpam-systemd installed and not have it listed in
> /etc/pam.d/common-session :/

If I understand their position correctly, the Debian systemd maintainers
would consider that to be a misconfiguration, because
Depends: libpam-systemd is the official way for a package to say "I need
a fully working systemd-logind and systemd --user", and packages like
dbus-user-session are allowed to assume that. If a sysadmin wants to
not use pam_systemd (which will mean their systemd-logind doesn't work
correctly and systemd --user doesn't get started), they should remove
that package so it doesn't satisfy dependencies.

I'd be very tempted to make dbus-user-session the only implementation of
dbus-session-bus on Linux if it wasn't for the systemd-related political
reasons not to, because it's becoming increasingly clear to me that the
"one bus per X11 display" case is decreasing in viability over time
as upstreams and packagers both start to assume (the equivalent of)

> should we discourage these two packages (dbus-user-session and dbus-x11)
> from being co-installed somehow?

No, I don't think we should. Many packages explicitly use dbus-launch
(which is in dbus-x11.deb), even packages that should really be using
something else (see my 2016 MBF). Historical design choices in dbus-launch
mean that it does two different things when run with different options:
some options try to reuse an existing bus, but some options guarantee
to start a new bus.

When I was implementing what's now dbus-user-session, I changed
dbus-launch so that in all the cases that don't guarantee a new bus, it
will reuse dbus-user-session's single bus per uid if present. This means
that if you have both dbus-user-session and dbus-x11, dbus-user-session
"wins" and you get its single bus per uid semantics.


More information about the pkg-gnupg-maint mailing list