GnuPGは、デフォルトでそのソケットS.gpg-agent
を~/.gnupg/S.gpg-agent
に配置します。このソケットの場所を設定する方法が見つからず、gpg.conf
のマンページがあるようにも見えません。
背景:ソケットをサポートしないOpenAFSマウントに~/.gnupg
をシンボリックリンクしたい(そして、~/.gnupg
だけでなく、~/.gnupg
(回避策)内のすべてのファイルにシンボリックリンクを作成しないでください)、つまり、最もエレガントなソリューションimoを見つけます。
GnuPGバージョン2.1.1以降、解決策があります。次の内容のシンプルなテキストファイルS.gpg-agentをgpg-homedirに配置します。
%Assuan%
socket=/path/to/where/ever/you/want/S.gpg-agent
${HOME}
や${HOSTNAME}
などの一部のevnvarを置き換えます
/tmp
のサブディレクトリを使用する場合は注意してください。gpg-agentは必要なディレクトリを作成しないためです。
さらに読む: https://dev.gnupg.org/T1752
ユーザーruhriのソリューションは、Debianストレッチシステムでは機能しませんでした。少なくとも、ソケットの「リダイレクト」を追加する必要がありました。ここに私たちのために働いたものがあります。
Ruhriの説明に従って.gnupg/S.gpg-agent
ファイルを作成します。
%Assuan%
socket=/srv/scratch/joeuser/S.gpg-agent
これらの2行を.gnupg/gpg-agent.conf
の最後に追加します(ファイルが存在しない場合は作成します)。
extra-socket /srv/scratch/joeuser/S.gpg-agent.extra
browser-socket /srv/scratch/joeuser/S.gpg-agent.browser
ファイル.gnupg/S.gpg-agent.ssh
に似たファイル.gnupg/S.gpg-agent
を作成します。
%Assuan%
socket=/srv/scratch/joeuser/S.gpg-agent.ssh
(この解決策は https://michaelheap.com/gpg-cant-connect-to-the-agent-ipc-connect-call-failed/ の投稿へのコメントから得られます)