私のコンテンツは次のとおりです.gnupg/gpg-agent.conf
。
pinentry-program /usr/bin/pinentry-curses
pass
たとえば、非常に小さな端末ウィンドウでリポジトリからパスワードを取得しようとすると、pass -c path/to/password
コマンドエラーは次のようになります。
gpg: decryption failed: No secret key
だからこれはGnuPGのバグです。 ncursesはpinentryダイアログを描画するのに十分なスペースがないからだと思います。
誰かがこれを再現できますか?それでは、このバグをどこに報告できますか?
答え1
(疑わしい)バグを報告するたびに、観察された動作と予想される内容を説明する必要があります。したがって、この場合、GnuPGを使用してバグレポートを開くときに何が起こると思うかを明記する必要があります。ここに追加する場合は、コメントに追加するのではなく、質問を編集する必要があります。下部の提案も参照してください。
はい、ウィンドウが小さすぎるため、これが発生します。また、GnuPGから派生していません。 GnuPGはpinentry-program
設定で指定した内容だけを呼び出します。
何が起こっているのかについては、手動で呼び出すことができます。
$ stty cols 20 rows 10
$ pinentry-curses
OK Pleased to meet you
GETPIN
S ERROR curses.dialog_create 83886381
ERR 83886381 Screen or window too small <Pinentry>
ここでは、まずttyサイズを小さくしてからを呼び出しましたpinentry-curses
。コマンドを待ってからGETPIN
PINを取得するためにコマンドを入力しました。画面が小さすぎてダイアログを表示できないと文句を言います。 GnuPGはPINを取得できないと報告します。
あなたが書いたチケットを見ましたが、あなたの提案は難しいか不可能なものの間にあります。gpg
端末のサイズに気をつけてはいけないので、端末が小さすぎると主張してはならないからです。
代わりに、次のテキストを使用することをお勧めします(ここではアカウントを作成したくありません)。
gpg
pinentry-program
復号化キーが必要な場合に呼び出されます。pgp
一般的なメッセージを表示するのではなく、次のような
decryption failed: No secret key
転送されたメッセージを表示することをお勧めします。pinentry-program
Can't decrypt key, pinentry-program failed with (text from ERR response)
また、gpgチームがメンテナンスしている場合は、小さなウィンドウを検出し、設定されていないpinentry-curses
場合と同じように動作してこのエラーを回避できます。$TERM