Альтернативой, если у вас достаточно недавняя версия pinentry / gpg2 (протестированная с 0.9.7 и 2.1.11 соответственно в Arch Linux), можно использовать http://elpa.gnu.org/packages/pinentry .html .
Установите pinentry
из Mx list-packages
, затем поместите
allow-emacs-pinentry
в свой .gnupg / gpg-agent.conf
и вставьте
(setenv "INSIDE_EMACS" (format "%s,comint" emacs-version))
(pinentry-start)
в ваш .emacs.d / init.el
.
Мне пришлось поместить туда setenv, потому что, хотя INSIDE_EMACS устанавливается при запуске M-x shell
, он не устанавливается при простом открытии файла .gpg
.
Теперь gpg-agent использует обычную версию curses из терминала, а внутри Emacs - read-passwd
(который скрывает символы из приглашения и из view-lossage
) .
РЕДАКТИРОВАТЬ: Похоже, в пакете Debian есть патч для удаления поддержки Emacs, так что на данный момент это решение работает только для других дистрибутивов / людей, готовых самостоятельно компилировать pinentry.