gpgがgpg-agentを見つけるようにする方法


23

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

回答:


36

バージョンを見ると問題が明らかになります:

% 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私の場合)。解決策は、のgpg2 代わりにコマンドを使用することですgpg


1
ありがとう。私はこのことを理解しようとして30分間インターネットに費やしました...ほとんどのドキュメントと手順では、ツールのバージョン間の破損を考慮していません。私は署名したい20個のファイルでgpgを実行するたびにパスフレーズを入力する必要がありましたが、今では一度だけ実行できます。再度、感謝します。
明るい明るい

これはまだFedora 27に関連しています。を使用gpg2するとgnomeの統合も有効になります
アレックスギョシェフ

8

一部の人にとって便利な場合、gpg1.4はgpg-agent2.1でも問題なく機能します。

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

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

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


Fedoraは異なるデフォルトのソケットパスを使用します。GPG_AGENT_INFO=/run/user/$(id -u)/gnupg/S.gpg-agent:0:1代わりに使用する必要がありました。
パヴェルヴェセロフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.