我正在尝试在 emacs 中使用 epa 模式和 org 模式,如本文所述。
我使用屏幕会话和 ssh 连接到计算机。因此,我需要更改 /usr/bin/pinentry 以将 /usr/bin/pinentry-curses 指向 /usr/bin/pinentry-gtk-2。
我有
pinentry-program /usr/bin/pinentry-curses
作为我的 .gnupg/gpg.conf 中的最后一行。当我尝试保存文件时,我看到了这个菜单:
Select recipients for encryption.
If no one is selected, symmetric encryption will be performed.
- `m' to mark a key on the line
- `u' to unmark a key on the line
[Cancel][OK]
我选择“确定”但只得到
Opening output file: Encrypt failed, Exit
我没有提示输入密码,也没有给出其他输出。它不会提示输入密码。它甚至没有将我的 gpg 'user' 列为 foo@bar.com。
但是,当 .gnupg/gpg.conf 文件中不存在该行时,我确实会在“选择加密的收件人”对话框中看到我的 gpg“用户”。但是,cpu 与以下消息挂钩:
Encrypting /home/user/test.gpg...
(我假设它正在尝试生成 gtk 窗口并绕圈运行)
我有点困惑为什么我需要将 /usr/bin/pinentry 链接到 /usr/bin/pinentry-curses 并在我的 gpg.conf 文件中包含该行。
在 /usr/bin/pinentry 链接到 /usr/bin/pinentry-gtk-2 之前,如果我在本地计算机上,我会得到“选择收件人加密”提示,并列出我的 gpg 用户。我会得到一个对话框来输入我的密码,这一切都奏效了。我会得到
Encrypting /home/user/test.gpg...
这一切都会成功。
我在一个截至今天早上是最新的 Arch 系统上运行 GNU Emacs 24.2.1。
我很好奇我做错了什么。我已经查看了 arch wiki 上有关 pinentry 和 gpg 的文章,但它们并没有帮助解决问题。提前致谢。
更新:26-10-2012 今天早上对 cryptsetup 软件包的更新似乎影响了行为。现在,当我打开一个 .gpg 文件时,我会收到“请输入密码”提示,但它似乎永远不会过去。输入我的密码后,提示永远不会消失。