在Ubuntu Xenial上使用Emacs 25和GnuPG 2.1启用minibuffer pinentry


14

我必须通过文档和论坛进行一些潜水和狩猎,所以我认为我不妨在这里为其他人做一个问答:

如何在小缓冲区中启用GnuPG密码提示?Emacs 25.1更新日志说:

** pinentry.el允许通过迷你缓冲区而不是图形对话框提示GnuPG密码,具体取决于是否从Emacs调用了gpg命令(即,设置了INSIDE_EMACS环境变量)。此功能需要较新版本的GnuPG(2.1.5或更高版本)和Pinentry(0.9.5或更高版本)。要使用此功能,请将“ allow-emacs-pinentry”添加到“〜/ .gnupg / gpg-agent.conf”,然后使用“ gpgconf --reload gpg-agent”重新加载配置。

这样做,我现在收到一条错误消息,甚至没有图形密码提示。

这是Lubuntu(Ubuntu Xenial)上具有GnuPG 2.1.11的GNU Emacs 25.2.2。

Answers:


15

你还必须

  1. 在gpg-agent.conf中显式启用pinentry的环回模式。
  2. 将epa配置为使用环回进行登录。
  3. 在emacs中启动pinentry服务器,

1.为gpg-agent启用Emacs pinentry和环回模式

将其放在您的〜/ .gnupg / gpg-agent.conf中:

allow-emacs-pinentry
allow-loopback-pinentry

然后告诉gpg-agent gpgconf在shell中加载此配置:

gpgconf --reload gpg-agent

2.配置EasyPG Assistant以使用环回进行写信

在Emacs,无论是

M-x customize-group RET epa RET

然后将“ Epa Pinentry模式”设置为“回送”并应用。

将其放在您的〜/ .emacs文件中:

(setq epa-pinentry-mode 'loopback)

3.在Emacs中启动pinentry服务器。

在Emacs中,执行

M-x pinentry-start RET

这将启动当前会话的服务器。要在每个新的Emacs实例中启动它,请将其放入您的.emacs中:

(pinentry-start)

我已经实现了这种方法,尽管它在emacs中使用pass进行了工作,但我再也无法从命令行运行pass了。这种情况适合您吗?
猎户座
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.