GnuPG, mutt und der gpg-agent

Du hast GnuPG auf Version 2 aktualisiert und siehst jetzt folgendes beim Signieren von Mails:
can’t connect to `$HOME/.gnupg/S.gpg-agent’: No such file or directory

Du erweiterst die pgp Befehle in Deiner .muttrc mit -no-use-agent und siehst:
gpg: WARNING: “-no-use-agent” is an obsolete option - it has no effect

Du schaust in die man-page und suchst nach -no-use-agent. Du findest:
This is dummy option. gpg2 always requires the agent.

Ok! Ok! Ich versuchs…

  1. Man muss sicherstellen, dass der gpg-agent läuft. Dafür bietet sich die .xsession an. Fluxbox User können die Datei $HOME/.fluxbox/startup erweitern. Ich habe meine _.bashprofile modifiziert, damit es auch auf Systemen ohne X klappt. Jetzt funktioniert das Signieren wieder…

    1. .bash_profile:_
      which gpg-agent >/dev/null
      if [ “x$?” = “x0” ]; then
      GPG_AGENT_FILE=“$HOME/.gpg-agent-info”

      source $GPG_AGENT_FILE > /dev/null
      GPG_AGENT_SOCK=$(echo $GPG_AGENT_INFO | sed -e “s/:.*//“)

      if [ ! -S $GPG_AGENT_SOCK ]; then
      gpg-agent -daemon -write-env-file $GPG_AGENT_FILE 1>/dev/null
      source $GPG_AGENT_FILE
      fi

      export GPG_AGENT_INFO
      fi

    • Nun fragt mutt jedes Mal nach der Passphrase, wenn es neu gestartet wird. Ich dachte, der Agent ist dazu da, damit das nicht passiert:
      1. pinentry installieren.
      2. _set pgp_use_gpgagent = yes in die .muttrc schreiben.
      3. Alle -passphrase-fd 0 aus der .muttrc entfernen.
    • Jetzt möchte man vermutlich noch pinentry-program /usr/bin/pinentry-curses in seine $HOME/.gnupg/gpg-agent.conf reinschreiben, damit keine GTK/QT Anwendung das mutt Look&Feel zerstört. ;-)