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
signature.asc
Description: PGP signature

