La page de manuel des gpg-agent
états:
The agent is usualy started on demand by gpg, gpgsm, gpgconf or
gpg-connect-agent. Thus there is no reason to start it manually.
In case you want to use the included Secure Shell Agent you may
start the agent using:
gpg-connect-agent /bye
The usual way to run the agent is from the ~/.xsession file:
eval $(gpg-agent --daemon)
Cela, d'une part, me dit "qu'il n'y a aucune raison de le démarrer manuellement" et d'autre part, il me dit comment le démarrer manuellement. - Ai-je mal compris quelque chose ici?
Sur mon système, il semble que je doive définitivement le démarrer manuellement. Dans le cas contraire , par exemple se gpg-connect-agent
plaint: can't connect to the agent: IPC connect call failed
. - Dois-je configurer quoi que ce soit pour gpg-connect-agent
démarrer l'agent comme indiqué dans la page de manuel?
La page de manuel de gpg-connect-agent
dit aussi:
--agent-program file
Specify the agent program to be started if none is running.
Cependant, gpg-connect-agent --help
ne répertorie pas cette option et la commande se plaint également si j'essaie de l'utiliser.
On dirait que la page de manuel décrit une commande différente, ou ai-je oublié quelque chose d'important?
Mon système est un Arch Linux actuel. (Même situation sur une autre boîte Debian.)
Détails demandés:
$ gpg --version
gpg (GnuPG) 2.0.22
libgcrypt 1.5.3
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Home: ~/.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ?, ?
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2
$ gpg-connect-agent --version
gpg-connect-agent (GnuPG) 2.0.22
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Home: ~/.gnupg
$ man gpg-connect-agent |grep -A1 agent-program
--agent-program file
Specify the agent program to be started if none is running.
$ gpg-connect-agent --agent-program foo
gpg-connect-agent: invalid option "--agent-program"
$ gpg-connect-agent /bye
gpg-connect-agent: can't connect to the agent: IPC connect call failed
la source
Réponses:
C'est une mauvaise formulation dans la page de manuel. Je suppose que cela signifie: "Vous n'êtes pas obligé de démarrer gpg-agent manuellement." Cela a du sens car GnuPG 2.x nécessite
gpg-agent
alors qu'il est facultatif dans 1.xDonc: "Il n'y a donc aucune raison de le démarrer manuellement" "... pour faire fonctionner les outils".
Mais: Si vous voulez que la fonction de mise en cache
gpg-agent
doit alors s'exécuter en tant que démon et donc être démarrée avant les outils, c'est-à-dire manuellement ou à partir du~/.xsession
fait que les outils recherchent la variable d'environnementGPG_AGENT_INFO
afin de trouver la (droite) en cours d'exécutiongpg-agent
. Si les outils démarrent,gpg-agent
puis segpg-agent
ferme à la sortie de l'outil.gpg-connect-agent /bye
peut être un vrai bug dans la page de manuel. AFAIK, il est utilisé pour tester s'ilgpg-agent
fonctionne mais pas pour le démarrer. Cela ne peut même pas fonctionner de cette façon car vous avez obligatoirement besoin du shell (plus précis: le processus parent des outils à démarrer) pour le paramétrageGPG_AGENT_INFO
.la source