У меня есть export GPG_TTY=$(tty); gpg-connect-agent updatestartuptty /bye; в моем .profile чтобы GPG знал, какой tty использовать при запуске pinentry.

Проблема в том, что это заставляет запуск pinentry на самом последнем открытом pty, а не на том, что я хочу, то есть на pty, который запускает pinentry.

Какое решение для этого? Я использую gpg-agent как ssh-agent.

В связи с этим, иногда, когда я запускаю действие, требующее pinentry, абсолютно ничего не происходит - pinentry не запускается ни на одном pty, даже на самом открытом.

Спасибо!

1 ответ1

0

Агент принимает соединения на локальном сокете. Когда он принимает соединение, он не может выяснить, с каким tty связана запрашивающая программа, вообще ли он связан с tty. Поэтому он должен выбрать источник ввода по другим критериям.

В случае, когда вы ничего не видите, он, вероятно, выбрал tty, который уже закрыт или недоступен по другим причинам.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .