summaryrefslogtreecommitdiff
path: root/debian/ssh-agent.user-session.upstart
blob: f127e221d55ebbd1bc5061663e7e8de38d85b1c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
description "SSH Agent"
author "Stéphane Graber <stgraber@ubuntu.com>"

start on starting xsession-init

pre-start script
    [ -e /etc/X11/Xsession.options ] || { stop; exit 0; }
    grep -q "^use-ssh-agent$" /etc/X11/Xsession.options || { stop; exit 0; }
    [ -z "$SSH_AUTH_SOCK" ] || { stop; exit 0; }

    eval "$(ssh-agent)" >/dev/null
    initctl set-env --global SSH_AUTH_SOCK=$SSH_AUTH_SOCK
    initctl set-env --global SSH_AGENT_PID=$SSH_AGENT_PID
    initctl set-env --global SSH_AGENT_LAUNCHER=upstart
end script

post-stop script
    [ "$SSH_AGENT_LAUNCHER" = upstart ] || exit 0
    kill $SSH_AGENT_PID 2>/dev/null || true
    initctl unset-env --global SSH_AUTH_SOCK
    initctl unset-env --global SSH_AGENT_PID
    initctl unset-env --global SSH_AGENT_LAUNCHER
end script