最近几代Thinkpad使用的都是Synaptics的指纹扫描设备,在Linux下已经可以用了。下面以Ubuntu 20.04 Gnome为例介绍设置方法。其它发行版的设置方法类似(如果缺失软件则需要自行编译)。其它品牌的笔记本如果确认同样使用Synaptics家的设备,那么设置方法也是类似的。
确认设备
执行lsusb,如果显示如下Synaptics设备则表明设备能够被识别。
$ lsusb
...
Bus XXX Device XXX: ID xxxx:xxxx Synaptics, Inc.
...
如果没找到也可能是硬件没有被正确识别,可以执行下面安装固件的步骤然后再次确认。另外Thinkpad在BIOS里可以屏蔽掉一些硬件接口,其中包括指纹识别设备和TPM。所以要确认没有被硬件屏蔽。
安装固件
下载指纹识别设备最新的固件和配置文件:
在上面的网页下载对应的cab文件以后保存到本地,不需要解压缩。根据现在最新固件文件内的说明,需要1.3.6以上版本的fwupd才能安装。Ubuntu 20.04系统自带的最新的fwupd满足这个要求。Ubuntu Snap商店里的fwupd虽然版本号更高,但经我测试反而不能用。
使用下面的命令安装,先安装固件驱动再安装配置文件:
$ sudo fwupdgr install *.cab
如果成功安装会提示正确识别设备。
配置指纹识别
Ubuntu 20.04自带的libfprint和fprintd版本足够,可以直接用。如果其它发行版不能按照以下方法正确配置的话则需要自行编译安装最新的版本。
执行下面的命令打开指纹识别认证。
$ sudo pam-auth-update
正常情况下,可以看到指纹验证选项。勾选指纹验证选项。如果看不到这个选项,那么请重启系统再试一次。
接下来可以通过图形界面Settings→User→Fingerprint Login录入指纹,或者通过以下命令录入指纹。
$ fprintd-enroll
如果一切顺利,此时注销再登陆就可以看到指纹解锁的提示了。更妙的是,现在使用sudo也可以用指纹解锁root权限了。
$ sudo ls
Place your right index finger on the fingerprint reader
...
参考文献