2017年12月1日金曜日

MacOS GnuPG2 になって Emacs からパスフレーズが入力出来なくなった対処

各種バージョン

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.13.1
BuildVersion:   17B1002

$ emacs --version
GNU Emacs 25.3.1

$ gpg --version
gpg (GnuPG) 2.2.3
libgcrypt 1.8.1

pinentry インストール

pinentry という補助プログラムを使えば良いみたいなので以下のようにした。 まず pinentry が入っているか確認。

$ brew list pinentry
/usr/local/Cellar/pinentry/1.0.0/bin/pinentry
/usr/local/Cellar/pinentry/1.0.0/bin/pinentry-curses
/usr/local/Cellar/pinentry/1.0.0/share/info/pinentry.info

インストーされていなかったら

$ brew install pinentry

で入れる。

GnuPG 設定

$HOME/.gnupg/gpg-agent.conf というファイルを作成する。内容は以下のようにしておく。既にファイルが存在する場合は、バックアップしてから修正。

$ cat ~/.gnupg/gpg-agent.conf
allow-emacs-pinentry
log-file /tmp/gpg-agent.log

gpg-agent を再起動する。

$ gpg-connect-agent killagent /bye
$ gpg-connect-agent /bye

(/bye ってオプションで起動するのが不思議)

テスト

Emacs を起動して適当に gpg で暗号化されたファイルを開く。ミニバッファでパスフレーズの入力を求められて、入力してファイルが開けたら成功。

0 件のコメント:

コメントを投稿