答案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