我很不耐烦,当我不幸在笔记本电脑(Ubuntu 20.04)上错误输入登录密码时,我不想等待三秒钟重试。(0.3 秒的延迟足以防止潜在的蛮力,并且无论如何在 3 次失败尝试后有更长的时间。)
我找到了很多解释如何更改控制台登录和sudo. 我设法通过编辑/etc/pam.d/login(对于tty 控制台)中的值将该延迟设置为 0.3 秒:
auth optional pam_faildelay.so delay=300000
Run Code Online (Sandbox Code Playgroud)
并将同一行添加到/etc/pam.d/common-auth(对于sudo和图形登录屏幕)作为第一行(!)此行之前:
auth [success=1 default=ignore] pam_unix.so nullok_secure nodelay
Run Code Online (Sandbox Code Playgroud)
看:
这种更改在 Ubuntu 20.04 中图形 gdm3 登录屏幕上发生的延迟,但仅在登录输入字段重新出现(并摇晃)。如果您在 中设置了很长的延迟/etc/pam.d/common-auth,则它仅计算输入字段重新出现之前的时间。它对抖动后的延迟没有影响。
我已经激活登录 gdm,这是grep gdm3 /var/log/syslog当我按下SUPER+L锁定屏幕并尝试了大约 6 次假密码时的输出;您会看到尝试中的 3 秒延迟。在每次假密码尝试结束时,都会有一个日志:
reauthentication service 'gdm-password' stopped
Run Code Online (Sandbox Code Playgroud)
在此之后开始 3s 延迟,直到我得到一个新的光标。也许这是主要问题?
更新:
有关信息:我使用 GNOME Shell 3.36.1。我的一个想法可能是禁用震动动画会有所帮助吗?因为我发现,您可以使用鼠标单击该字段,并且可以在框抖动时立即键入。
经过大量深入研究 gnome-shell 和 gdm 源代码后,问题似乎已通过这两个提交解决:
f4d90bc127ececb653ee399493839f17932b7622 - “polkitAgent:删除时重置会话请求超时”
8d139bbd95a5d62e0ba20b711a10a8b669cb9e9d - “authPrompt:使输入敏感时抓住关键焦点”
修复了摇动停止后 3 秒内输入框没有聚焦的问题。
Gnome 3.36.2 中存在这些更改,更新到该版本可以修复该问题。现在,即使盒子在摇晃,您也可以打字。
要禁用震动,请参阅@PRATAP 的答案。