Можно ли настроить gpgтаким образом, чтобы я вводил фразу-пароль только один раз, и она будет работать для всего сеанса (я использую Ubuntu/XFce)?
Я не уверен, как gpgработает, кажется, что функция по умолчанию gpgзапрашивает gpg-agentкодовую фразу, и агент запускает пин-ввод, чтобы запросить кодовую фразу.
Я хотел бы использовать pinentry-curses только один раз за сеанс, поэтому я могу вставить свою фразу-пароль (у меня есть hexстрока из предложения - я использую echo -n <SENTENCE> | str-hex) и подписать электронную почту из Claws Mail, не вводя фразу-пароль (вы не можете использовать pinentry-curses с Claws Mail).
GPG_PROCESS=`cut -d: -f 2 $HOME/.gpg-agent-info` if test -f $HOME/.gpg-agent-info && \ kill -0 ${GPG_PROCESS} 2>/dev/null && \ [[ ${GPG_PROCESS} == `pgrep -x -u "${USER}" gpg-agent` ]] ; thenи он работал нормально. Проблема заключается в том, что приведенный выше скрипт проверяет, активен ли процесс,.gpg-agent-infoи принимает сигналы с помощьюkill -0. Если процесс есть, но нетgpg-agent, мы получаем неправильное поведение. Прикрепленный код проверяет у нас правильный процесс.