Je commençais mon gpg-agent comme ceci dans mon fichier .bashrc
[ -f ~/.gpg-agent-info ] && source ~/.gpg-agent-info
if [ -S "${GPG_AGENT_INFO%%:*}" ]; then
export GPG_AGENT_INFO
else
eval $( gpg-agent --daemon --write-env-file ~/.gpg-agent-info )
fi
GPG_TTY=$(tty)
export GPG_TTY
Depuis la mise à niveau vers 16.04 lorsque je me connecte, je reçois le message suivant:
gpg-agent[11727]: WARNING: "--write-env-file" is an obsolete option - it has no effect
gpg-agent[11728]: gpg-agent (GnuPG) 2.1.11 started
S.gpg-agent is written in .gnupg/
Donc, write-env-file
n'est plus pris en charge. Je ne peux plus entrer mon mot de passe gpg dans la boîte de dialogue pinentry et le faire réutiliser par gpg, ce que je pouvais sous Ubuntu 14.04.
Comment puis-je configurer cela en 16.04?
Le problème semble être que gpg-agent 2.1.11 ne définit pas la variable d'environnement GPG_AGENT_INFO. Si j'exporte GPG_AGENT_INFO pour pointer vers le fichier de socket, c'est-à-dire | export GPG_AGENT_INFO =/home //. Gnupg/S.gpg-agent: 12065: 1 avec le pid et le propriétaire pid, je reçois la boîte pinentry du mot de passe.
Sur mon 16.04.1 LTS, le fichier d'options gpg.conf
situé dans ~/.gnupg
était manquant. J'en ai créé un avec l'option use-agent
(comme sur mon autre ancien Ubuntu 14.04-LTS) et cela a fonctionné.