[pkg-gnupg-maint] Bug#790316: gnupg-agent: xsession-started daemon misses dbus environment variable

brian m. carlson sandals at crustytoothpaste.net
Sat Oct 3 18:58:21 UTC 2015


retitle 790316 gnupg-agent: xsession-started daemon misses dbus environment variable
reassign 790316 gnupg-agent
kthxbye

I think this issue is occurring for me because gnupg-agent is being
started by /etc/X11/Xsession.d/90gpg-agent, but the
DBUS_SESSION_BUS_ADDRESS is not set, as the dbus Xsession.d script
doesn't actually start dbus, but just adjusts the program to run to have
dbus-launch prefixed to it.

As a result, gpg-agent doesn't contain the DBUS_SESSION_BUS_ADDRESS
environment variable, meaning that the pinentry can't connect to
libsecret, and it gives up.  For reasons which are not yet clear, this
only happens on reboot; logging out and back in doesn't trigger it.

Commenting out use-agent in ~/.gnupg/gpg.conf fixes the problem, as the
gnupg-agent is started by my .zshrc instead of
/etc/X11/Xsession.d/90gpg-agent.

My suggestion to fix this is to adjust 90gpg-agent to run before
75dbus_dbus-launch and have it set the SSH_AUTH_SOCK variable (to
prevent ssh-agent from running) and then adjust STARTUP to be "gpg-agent
--daemon $STARTUP".  This will force dbus-launch to wrap gpg-agent,
which will result in the right order of operations.
-- 
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | https://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-gnupg-maint/attachments/20151003/d16a9cbc/attachment.sig>


More information about the pkg-gnupg-maint mailing list