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を再起動します。 コマンドラインから、
|
|
でgpg-agentを再起動できます。
以上で、twittering-modeが正常に使用できるようになるはずです。