emacs-macでtwittering-modeを使った際に毎回PINを聞かれる問題の解消

emacs-macでtwittering-modeを使った際に毎回PINを聞かれる問題の解消

twitterのクライアントとして、日頃からemacs上で動くクライアントの"twittering-mode"を使用しています。
ところが最近、新しいmacにインストールしたemacs-macでtwittering-modeを起動すると、毎回twitterのPINを聞かれるようになってしまいました。
毎回、毎回、起動時の暗号化フェーズで

Encrypt failed Exit

と言われ・・・・
以前使っていたmacではこのようなことが無かったため、困っていたのですが、以下の手順により解決できました。

背景

結論から言うと、これはGnuPGのバージョンが新しくなったことによる問題でした。
GnuPG2.1.0から、gpg-agentとpinentryと呼ばれる二つのソフトウェアの利用が必須となりました。
twittering-mode事態はgpg-agentやpinentryが必須でも基本的に問題なく動作するようにはなっているハズ・・・でした。
しかし、これらのソフトウェアの必須化に伴って、これまで標準入力から入力できていたパスフレーズが標準入力から入力できなくなっており、そのために暗号化に失敗して毎回PINを聞く・・・という状態になっていたようです。

解決策

みんな大好きarch wikiに解決策がありました。
まず、~/.gnupg/gpg-agent.confに以下のように記述します。

allow-loopback-pinentry

つぎに、~/.gnupg/gpg.confに以下のように記述します。

pinentry-mode loopback

最後に、gpg-agentを再起動します。
コマンドラインから、

$ gpgconf --kill gpg-agent

でgpg-agentを再起動できます。

以上で、twittering-modeが正常に使用できるようになるはずです。

Subscribe to