Invoking GPG-AGENT - Using the GNU Privacy Guard
Description: Using the GNU Privacy Guard

Next: Invoking GPG, Previous: Installation, Up: Top

## 2 Invoking GPG-AGENT

`gpg-agent` is a daemon to manage secret (private) keys independently from any protocol. It is used as a backend for `gpg` and `gpgsm` as well as for a couple of other utilities.

The usual way to run the agent is from the `~/.xsession` file:

         eval `gpg-agent --daemon`

If you don't use an X server, you can also put this into your regular startup file `~/.profile` or `.bash_profile`. It is best not to run multiple instance of the `gpg-agent`, so you should make sure that only one is running: `gpg-agent` uses an environment variable to inform clients about the communication parameters. You can write the content of this environment variable to a file so that you can test for a running agent. This short script may do the job:

         if test -f $HOME/.gpg-agent-info && \
            kill -0 `cut -d: -f 2 $HOME/.gpg-agent-info` 2>/dev/null; then
              GPG_AGENT_INFO=`cat $HOME/.gpg-agent-info`
              export GPG_AGENT_INFO
         else
              eval `gpg-agent --daemon`
              echo $GPG_AGENT_INFO >$HOME/.gpg-agent-info
         fi

Note that the new option `--write-env-file` may be used instead.

You should always add the following lines to your `.bashrc` or whatever initialization file is used for all shell invocations:

         GPG_TTY=`tty`
         export GPG_TTY

It is important that this environment variable always reflects the output of the `tty` command. For W32 systems this option is not required.

Please make sure that a proper pinentry program has been installed under the default filename (which is system dependant) or use the option `pinentry-program` to specify the full name of that program. It is often useful to install a symbolic link from the actual used pinentry (e.g. `/usr/bin/pinentry-gtk`) to the expected one (e.g. `/usr/bin/pinentry`).

See Option Index,for an index to `GPG-AGENT`'s commands and options.