summaryrefslogtreecommitdiffstats
path: root/debian/Xsession.d/90gpg-agent
blob: 8b45b05dba8ffb33da1f4cbcc49692af45492341 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 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