我现在正在使用 plasma 5 (如果重要的话,在 Fedora 22 上),每当我在锁定屏幕上输入错误的密码时,我都必须等待大约五秒钟才能让我再次尝试在密码输入中输入文本。
我觉得这太长了,想知道是否有人知道这个超时是否在某个配置文件中定义(希望只影响锁定/登录屏幕而不是其他软件,因为超时可以很好地阻止机器人暴力破解)
答案1
pam_unix.so
更新条目不起作用的原因(请参阅重力的回答) 不起作用的原因可以在以下源代码中找到kscreenlocker
:
在将收到的密码转发给身份验证程序之前(即kcheckpass
)KScreenLocker欢迎应用程序将开始三秒钟的“宽限锁定时器”并将拒绝任何进一步的解锁尝试,直到该计数器过期。当然,这个三秒的数字是硬编码的。因此,当您尝试删除 PAM 级时间时(如另一个答案中所建议的那样),您实际上要做的就是按比例等待这个计时器。
这里唯一的解决方案是重新编译 KScreenLocker,将给定的计时器修补为某个低值(将其设置为 0 可能会引起不快;我还没有检查过)。
或者尝试向上游提出不同的值。据我所知,他们不太愿意让屏幕锁定器上的内容可配置,所以你可能运气不佳。
答案2
该延迟是由pam_unix
认证模块添加的。
打开/etc/pam.d/system-auth
,在其中找到“auth … pam_unix.so”模块,然后将nodelay
选项添加到行中。(有关所有选项的信息以及如何指定它们的示例,请参阅“man pam_unix”。)
答案3
在 Plasma 5 上(我在 Fedora 39 上),这是在您的主题文件之一中设置的。
就我而言,我使用Breeze Dark
但它的“父”主题Breeze
因此我需要更新的文件是/usr/share/plasma/look-and-feel/org.kde.breeze.desktop/contents/lockscreen/LockScreenUi.qml
找到这一段代码并将值更改为您想要的值(以毫秒为单位)
Timer {
id: graceLockTimer
interval: 3000
onTriggered: {
root.clearPassword();
authenticator.tryUnlock();
}
}
您可以立即测试,无需重新启动机器。
希望这能帮助其他人(可能也包括我未来的自己)