公共场合请使用指纹识别器
前几天带本本去导师办公室修改论文,虽然开机启动速度快,但是还是在老师的注视之下紧张敲错了三遍密码…得,本来没在意的也记住密码了(ry
所以为啥有指纹识别器的本子偏偏要输密码(:з」∠)
检查设备
总之先来看下指纹识别器是哪家生产的好了。
1 | Phoenix-X1-Carbon :: ~ » lsusb | grep -i 'finger' |
搜索一下就发现 X1 Carbon Gen3 这么受欢迎的本子早已上了 ArchWiki https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_3)
安装驱动
安装 fprintd
包,这个包会依赖 libfprint
,但是官方仓库中的 libfprint
目前的版本在此指纹识别器上无法正常工作,表现为 enroll 只扫描一次,并且无法验证指纹。
Note that recent versions of fprint are broken for this model : One is able to enroll a finger but recognition always fails.
GitHub 上已经有了 vfs5011 相关的 issue 和 fix,但是还没有发布新的稳定版。所以暂时安装 aur/libfprint-git 包。
配置指纹验证
Fprint - ArchWiki 上已经给出了配置方法。将 auth sufficient pam_fprintd.so
加入 /etc/pam.d/system-local-login
中的第一位置即可。同样方法可以用于 /etc/pam.d/
下的其他文件。例如 KDE 登陆使用的 sddm
。
扫描指纹,以普通用户身份命令:
1 | $ fprint-enroll |
默认是右手食指。可以使用 -f
选项指定手指。正常的表现为成功扫描五次即可保存指纹,并且在需要验证的时候自动启动指纹识别器。不过还有个小问题,如果保存多个指纹,似乎只能识别保存指纹列表中的第一个。
然而我懒得折腾了就这样吧