GnuPGの設定を変更するとgpg-agent
再起動/再起動が必要になりますが、...どうすればよいですか? gpg-agent restart
、service gpg-agent restart
を試しましたが、成功しませんでした。
現在のGPG(2.1以降)では、gpg-agent
を停止するには、次のようにgpgconf --kill
を使用できます。
gpgconf --kill gpg-agent
手動で再起動する必要はありません。必要に応じてGPGが再起動します。
私の好きな方法はgpg-connect-agent reloadagent /bye
です。コマンドの完全なリストについてはgpg-connect-agent help /bye
を参照してください。
gpg-agent
はシステム全体のサービスではありませんが、ユーザーごとに1回起動されます(したがって、service
によって管理されません)。 gpg-agent
でX11が起動されたとき(そして/etc/X11/Xsession.d/90gpg-agent
がインストールされたとき)にも、ユーザのドットファイルによって、あるいは少なくともDebianおよびその派生物によって呼び出されることがあります(すべてのGnuPG呼び出しによって確実に共通のgpg-agent
が使用されるため)。 ;必要に応じてGnuPGによって自動的に起動されます。 man gpg-agent
から:
エージェントは、gpg、gpgsm、gpgconf、またはgpg-connect-agentによって自動的にオンデマンドで起動されます。したがって、手動で起動する必要はありません。付属のSecure Shell Agentを使用したい場合は、次の方法でエージェントを起動します。
gpg-connect-agent /bye
通常、(root以外のシェルからの)単純なkillall gpg-agent
は、gpg-agent
を終了させるのに問題ありません。 gpg-agent
が再び開始されるので、次回GnuPGを使用するときには多少の遅れがあるでしょう。
私の経験では、gpgが新しいgpgエージェントを起動できないというシナリオがいくつかあります(新しいキーをインポートしますか?)。
以下のように古いエージェントを殺します。
GNUPGHOME="${GNUPGHOME:-$HOME/.gnupg}" gpgconf --kill gpg-agent
その後、新しいものを起動します。
gpg-agent --homedir "${GNUPGHOME:-$HOME/.gnupg}" --daemon
開始時に--homedirを明示的に設定すると、複数のhomedirがあるときにpsの一覧が明確になります。そしてそれはgpgが起動した時に何をするのかと類似しています。
停止時にGNUPGHOMEを設定する必要はありませんが、あなたやコードレビュー担当者をより快適にさせるかもしれません。