Ubuntu XenialでEmacs 25およびGnuPG 2.1を使用してミニバッファーピンエントリを有効にする


14

ドキュメントやフォーラムでかなりのダイビングとハンティングを行わなければならなかったので、他の人のためにここでQ&Aを行うことも考えました。

ミニバッファーでGnuPGパスフレーズプロンプトを有効にするにはどうすればよいですか?Emacs 25.1の変更ログには次のように書かれています:

** pinentry.elでは、gpgコマンドがEmacsから呼び出される(つまり、INSIDE_EMACS環境変数が設定される)かどうかに応じて、グラフィカルダイアログの代わりにミニバッファーを介してGnuPGパスフレーズを要求できます。この機能には、新しいバージョンのGnuPG(2.1.5以降)およびPinentry(0.9.5以降)が必要です。この機能を使用するには、「allow-emacs-pinentry」を「〜/ .gnupg / gpg-agent.conf」に追加し、「gpgconf --reload gpg-agent」で設定を再読み込みします。

ちょうどそれを行うと、グラフィカルなパスフレーズプロンプトでさえなく、エラーメッセージが表示されます。

これは、GnuPG 2.1.11を使用したLubuntu(Ubuntu Xenial)上のGNU Emacs 25.2.2です。

回答:


15

また、する必要があります

  1. gpg-agent.confでpinentryのループバックモードを明示的に有効にします。
  2. pinentryにループバックを使用するようにepaを構成します。
  3. emacsでpinentryサーバーを起動し、

1. gpg-agentのEmacs pinentryおよびloopbackモードを有効にします

これを〜/ .gnupg / gpg-agent.confに入れてください:

allow-emacs-pinentry
allow-loopback-pinentry

次にgpgconf、シェルでこの設定を読み込むようにgpg-agentに指示します。

gpgconf --reload gpg-agent

2. Pinentryにループバックを使用するようにEasyPG Assistantを構成します

emacsでは、どちらかを行う

M-x customize-group RET epa RET

次に、「Epa Pinentry Mode」を「loopback」に設定して適用します。

または、これを〜/ .emacsファイルに入れます:

(setq epa-pinentry-mode 'loopback)

3. Emacsでpinentryサーバーを起動します。

Emacsで、

M-x pinentry-start RET

これにより、現在のセッションでサーバーが起動します。新しいEmacsインスタンスごとに起動するには、これを.emacsに追加します。

(pinentry-start)

このアプローチを実装しましたが、emacs内からのパスを使用して機能している間は、コマンドラインからpassを実行できなくなりました。これはあなたに当てはまりますか?
オリオン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.