# On systems with systemd running, we expect the agent to be launched # via systemd's user mode (see # /usr/lib/systemd/user/gpg-agent.{socket,service} and # systemd.unit(5)). This allows systemd to clean up the agent # automatically at logout. # If systemd is absent from your system, or you do not permit it to # run in user mode, then you may need to manually launch gpg-agent # from your session initialization with something like "gpgconf # --launch gpg-agent" # Nonetheless, ssh and older versions of gpg require environment # variables to be set in order to find the agent, so we will set those # here. agent_sock=$(gpgconf --list-dirs agent-socket) export GPG_AGENT_INFO=${agent_sock}:0:1 if [ -n "$(gpgconf --list-options gpg-agent | \ awk -F: '/^enable-ssh-support:/{ print $10 }')" ]; then export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) fi