Risposte:
Con l'attuale GPG (2.1+), per fermarti gpg-agent
puoi usare gpgconf --kill
, in questo modo:
gpgconf --kill gpg-agent
Non dovresti aver bisogno di riavviarlo manualmente. GPG lo riavvierà quando è necessario.
~/.gnupg
directory, dovrai riavviare l'agente gpg manualmente.
gpg-agent
non è un servizio a livello di sistema ma è stato avviato una volta per utente (quindi non è gestito da service
). Anche se a volte invocato dai dotfile dell'utente o almeno in Debian e derivati anche quando X11 viene avviato (e gpg-agent
installato) in /etc/X11/Xsession.d/90gpg-agent
(per assicurarsi che un comune gpg-agent
sia usato da tutte le chiamate GnuPG, indipendentemente dal terminale o dalle applicazioni della GUI); viene anche avviato automaticamente da GnuPG quando richiesto. Da man gpg-agent
:
L'agente viene avviato automaticamente su richiesta da gpg, gpgsm, gpgconf o gpg-connect-agent. Quindi non c'è motivo di avviarlo manualmente. Se si desidera utilizzare l'agente Secure Shell incluso, è possibile avviare l'agente utilizzando:
gpg-connect-agent /bye
Di solito, un semplice killall gpg-agent
(da una shell non root) dovrebbe andare bene per terminare gpg-agent
. Probabilmente osserverai un leggero ritardo quando usi GnuPG la prossima volta, come gpg-agent
riavviato.
dirmngr --shutdown
seguiti da dirmngr --daemon
opzioni a volte aggiuntive (includo anche un homedir GPG specifico e la --use-tor
bandiera).
Nella mia esperienza ci sono alcuni scenari in cui gpg non riuscirà ad avviare un nuovo agente gpg (importando una nuova chiave?).
Uccidi il vecchio agente in questo modo:
GNUPGHOME="${GNUPGHOME:-$HOME/.gnupg}" gpgconf --kill gpg-agent
e quindi avviare quello nuovo:
gpg-agent --homedir "${GNUPGHOME:-$HOME/.gnupg}" --daemon
L'impostazione di --homedir esplicitamente all'avvio assicura che la tua lista ps sia chiara quando hai più di un homedir; ed è analogo a ciò che fa gpg quando lo avvia.
L'impostazione di GNUPGHOME al momento dell'arresto non è necessaria, ma potrebbe rendere più confortevole l'utente o il revisore del codice.