web-dev-qa-db-ja.com

gpgにgpg-agentを見つけさせる方法

Fedora 22では、gpgはgpg-agentを見つけません。

% gpg-agent --daemon                                           

% gpg -vvv --use-agent --no-tty --decrypt file.gpg 
gpg: using character set `utf-8'
:pubkey enc packet: version 3, algo 1, keyid 3060B8F7271AFBAF
  data: [4094 bits]
gpg: public key is 271AFBAF
gpg: using subkey 271AFBAF instead of primary key 50EA64D5
gpg: using subkey 271AFBAF instead of primary key 50EA64D5
gpg: gpg-agent is not available in this session
gpg: Sorry, no terminal at all requested - can't get input
23
Roman Cheplyaka

バージョンを確認すると、問題が明らかになります。

% gpg-agent --version
gpg-agent (GnuPG) 2.1.7

% gpg --version                                                               
gpg (GnuPG) 1.4.19

コンポーネントは異なるパッケージ(私の場合はgnupg2-2.1.7-1.fc22.x86_64gnupg-1.4.19-2.fc22.x86_64)からのものです。解決策は、gpgの代わりにgpg2コマンドを使用することです。

36
Roman Cheplyaka

一部の人にとって役立つ場合は、gpg 1.4はgpg-agent 2.1で問題なく動作します。

調べたところ、この投稿が見つかりました: https://lists.gnupg.org/pipermail/gnupg-devel/2014-October/029024.html

エージェントは互換性がありますが、古いバージョンのgpgが予期する環境変数をエクスポートしなくなりました。それらを手動で設定した場合、それはうまくいきます:

export GPG_AGENT_INFO=${HOME}/.gnupg/S.gpg-agent:0:1

8