自 16.04 升级以来,gpg-agent 不再工作

自 16.04 升级以来,gpg-agent 不再工作

.bashrc我在我的文件中像这样启动我的 gpg-agent

[ -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

自从升级到 16.04 以来,当我登录时收到此消息:

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/

因此write-env-file不再受支持。我无法再在 pinentry 对话框中输入我的 gpg 密码并让 gpg 重用此密码,而在 Ubuntu 14.04 下则可以。

我如何在 16.04 中进行设置?

答案1

问题似乎是 gpg-agent 2.1.11 没有设置 GPG_AGENT_INFO 环境变量。如果我导出 GPG_AGENT_INFO 以指向套接字文件,即 |export GPG_AGENT_INFO=/home//.gnupg/S.gpg-agent:12065:1,其中包含 pid 和所有者 pid,那么我就会得到密码的 pinentry 框。

答案2

gpg.conf在我的 16.04.1 LTS 上,位于的选项文件~/.gnupg丢失了。我创建了一个带有选项的文件use-agent(就像在我的另一个旧 Ubuntu 14.04-LTS 上一样),它起作用了。

相关内容