在加密/解密的过程中, 如果出现要输入密钥的情况, 就会不成功.
------------- 下面是原问题描述 ---------------
调用 org-decrypt-entry 的堆栈
试过了用快捷键调用和M-x调用, 不让我输入参数, 直接定为nil.
;; 绑定快捷键 C-x C-.
(add-hook 'org-mode-hook
(lambda ()
(local-set-key [24 67108910] 'org-decrypt-entry)))
这是我用文档给的方式生成的快捷键, 我没有去找怎么样改成不是魔法数字, 就直接注释了一下…
原来如此, 但是我也没有弹出“enter passphrase"的弹窗.
感觉是我终端的问题, 我不会在终端输入密钥是这样的.
Youmu
6
gpg-agent.conf
里设置
pinentry-program /usr/bin/pinentry-gtk-2
默认的是使用ncursor
的,可能在使用GUI
的时候不会弹出。
可选的选项有
pinentry /usr/bin/pinentry
pinentry /usr/bin/pinentry-curses
pinentry /usr/bin/pinentry-emacs
pinentry /usr/bin/pinentry-gnome3
pinentry /usr/bin/pinentry-gtk-2
pinentry /usr/bin/pinentry-qt
pinentry /usr/bin/pinentry-tty
windows上用Kleopatra,在emacs 28中是在minibuffer提示密钥的。
1 个赞
reynor
10
最后更新一下, 我是mac操作系统, @Youmu 的解决方案是正确的, 但是mac下安装不了pinentry-gtk-2, 我最终使用的是 /usr/local/bin/pinentry-mac. 这样会在加密时弹窗.
如果想用原生的minibuffer输入密钥, 可以
brew uninstall gpg
brew install gpg1
ln -s /usr/local/bin/gpg1 /usr/local/bin/gpg
Youmu
11
尝试一下
(setq epg-pinentry-mode 'loopback)
在minibuffer
里输入。此解决方案来自IRC的 @bokuno
1 个赞