本文 应该 适用于ArchLinux,其它发行版不保证成功。

愉快的例行Syyu,虽然中间用Ctrl+C打断了几次但也还算顺利。把电脑晾在一边,起身去给自己倒了杯开水,伴着氤氲荡开的水汽,坐回原位熟练的输入密码并敲下Enter。

“Paasword Incorrect”

噔噔噔咚

发生甚么事了

我们再来审视一下上面这段话。
“…中间用Ctrl+C打断了几次…”,对,问题就出在这儿。在上述情况下打断输入密码的进程,也算输入错误。而且没有任何提示告诉你这一点。于是你就被锁住了🤐。

几次使用Ctrl+C打断pacman进程后无论怎么输密码都会提示密码不正确的情况,说起来我也多次遇到过了,以前真的就以为是类似语言设置崩掉之类的玄学问题🥲,这次处理后才突然明白过来。

那既然不是玄学问题,当然也是有通法来解的啦!

终于进入正题,来讲讲解决办法

首先,你得事先设置了root用户和密码。(对于没设置的我才疏学浅也不知道咋办,有知道的烦请评论区指出)

其次,按Ctrl+Alt+F3(或者别的什么等效的快捷键)进到tty界面,以root身份登录。

然后,输入faillock --reset --user <username>(username就是你被锁住的用户名),请注意,这条命令是在root权限下执行的(废话你上一步都用的root登录当然是要有root权限的啊)

踩坑记录:一开始不知道是faillock的问题,以为是存储密码的文件被破坏了,所以试了passwd <username>,这条命令是无效的!因为你不是密码输错了,是被“请五分钟后重试”了啊🤣

这条命令执行完后如果没啥报错就Ctrl+Alt+F1回你刚才的登录窗口,继续愉快的使用。

顺带把你刚才倒的那杯水喝完。