pinentry-curses
Emacsの使用に問題があることを知っています(いくつかのコメントを参照)。http://emacswiki.org/emacs/EasyPG)ので、端末でemacsを使用することはgpg-agentと互換性がありません。
この場合、SSHを介してリモートシステムに接続されているため、グラフィックpinentryツールは使用できません。
しかし、事前にgpg-agentにパスワードを提供してからemacsにそれを使用させることができますが、エージェントがまだこの情報を持っていない場合、パスワードの入力を求められませんか?
notmuch.el
とで使用できる設定は何ですかEasyPG
?
あるいは、同じ効果を達成しますが、セキュリティ上の問題がある可能性があるパスワードフレーズをキャッシュする代替方法はありますか(これが最初にgpg-agentが存在する理由です)。
答え1
これ! ->https://github.com/ecraven/pinentry-emacs
少しねじる必要がありますが、この方法を使用することは私にとって効果的でした。スクリプトをディレクトリに配置し、PATH
次のエントリを追加します~/.gnupg/gpg-agent.conf
。
pinentry-program <path-to-pinentry-emacs>/pinentry-emacs
その後、エージェントを再ロードします。
$ echo RELOADAGENT | gpg-connect-agent
夢だけだと思います:)
答え2
かなり新しいpinentry / gpg2(それぞれ0.9.7と2.1.11のArch Linuxでテストされています)がある場合、もう1つのオプションは次のことです。http://elpa.gnu.org/packages/pinentry.html。
pinentry
設置M-x list-packages
後の場所
allow-emacs-pinentry
あなた.gnupg/gpg-agent.conf
と入れて
(setenv "INSIDE_EMACS" (format "%s,comint" emacs-version))
(pinentry-start)
あなたの.emacs.d/init.el
。 INSIDE_EMACSは実行時に設定されますが、M-x shell
単にファイルを開くときに設定されていないため、setenvをそこに置く必要がありました.gpg
。
gpg-agentは端末とEmacs read-passwd
(プロンプトとEmacsから文字を隠すview-lossage
)で通常の呪いバージョンを使用します。
編集:Emacsのサポートを削除するためのDebianパッケージ用のパッチがあるようです。現在、このソリューションはpinentry独自のコンパイルを準備する他のディストリビューション/人にのみ適しています。
答え3
pinentry-mode loopback
~/.gnupg/gpg.conf
2021年には、gpg-agentの設定と使用allow-loopback-entry
後の設定を使用することができます。~/.gnupg/gpg-agent.conf