Как запустить агент gpg с пользовательской конфигурацией, когда агент запускается автоматически после выполнения определенной команды gpg?

Отсутствие строки шебанга #!/bin/shи tне определено

1
15.09.2020, 22:23
1 ответ

Прошло больше года. Итак, я решил эту проблему. Проблема вызвана ошибкой при использовании параметра --daemon, как описано здесь :https://dev.gnupg.org/T5076,

.

Вкратце, агент gpg -не должен порождать другой процесс, если существующий процесс уже существует, когда мы пытаемся выполнить команду gpg, но было упорно не использовать существующий процесс агента gpg -и создавать свой собственный случайный процесс. процесс без использования пользовательской конфигурации.

Таким образом, решение для пользователя systemd в моем случае: мне нужно использовать параметр --supervisedпри запуске агента gpg -. Никогда не используйте опцию --daemon.

Подробнее:

Не так просто использовать опцию --supervised, как если бы вы запускали ее с помощью опции --daemon. Этот контролируемый режим требует, чтобы файл службы и файл сокета взаимодействовали друг с другом, и он должен быть включен с помощью systemctl.Вот файлы systemd (по этой ссылке все описано как включить):

https://github.com/gpg/gnupg/tree/master/doc/examples/systemd-user

Таким образом, я могу изменить gpg-agent.serviceдля использования пользовательской опции, а затем запустить агент gpg -с помощью systemctl --user start gpg-agent. После этого все команды gpg будут использовать этот процесс вместо создания нового. Тоже посмотреть текущий идентификатор запущенного процесса gpg-agentЯ могу это сделать:

systemctl --user status gpg-agent

Итак, вышеизложенное ответило на мои предыдущие первый и второй вопросы. Второй вопрос не помешает запуску агента gpg -, но он не создаст дополнительный процесс агента gpg -, поскольку это то, что я пытался решить ранее, потому что у меня было запущено несколько процессов агента gpg -, которые вызывали ошибка проверки парольной фразы при запуске с опцией --daemon; Ошибка, о которой я упоминал здесь, также описана в трекере ошибок gpg выше. Итак, моя цель во втором вопросе заключалась в том, чтобы предотвратить автоматический запуск агента gpg -каждой командой gpg, чтобы я мог запускать их вручную. Но мне больше не нужен этот метод при использовании опции --supervised.

0
06.09.2021, 13:47

Теги

Похожие вопросы