你的爽到,别人不懂
感谢 3v1n0, nmikhailov的杰出工作!
上回书说道,这T460P的指纹,可谓非常好用,Windows用起来那个爽啊,是真爽。但是我不怎么用windows啊,所以这个爽,你还只能想想。但是光想那可不行啊,爽不爽还得自己经常用才能体会到。
书接上文,开启了指纹开机验证后,windows那边其实已经就是一步到位了,而Linux这边不是太好搞。相比与Ubuntu,oS没有关于指纹相关的预装;相比于GNOME,KDE没有内置指纹管理的组件。那只能回到梦开始地方,手动搞这个玩意。
- 首先,安装fprintd和fprintd-pam,这是基础:
sudo zypper in fprintd fprintd-pam
- 然后这回呢你发现,我草怎么用不了,那肯定的,没驱动怎么用。libfprint官方没有VFS7500(138a:0090)的驱动,那么在哪里能找到驱动呢?看这里:
git clone https://github.com/3v1n0/libfprint sudo zypper in meson ninja gcc-c++ openssl libopenssl-devel\ libusb-1_0-devel libusb-compat-devel libtool gtk3-devel\ glib2-devel libXv-devel nss-shared-helper-devel gtk-doc\ gobject-introspection-devel cmake libgusb-devel
- so far so good, 完成上述步骤其实就可以开始下一步编译了。该项目使用了meson&ninja的组合,不同以往的编译,这次这样编译:
cd libfprint meson . _build && sudo ninja -C _build install
- well done! 看见一长串的编译安装完成后,驱动我们就算装上了,接下来处理一下pam模块:
ln -s /lib64/security/pam_fprintd.so /lib64/security/pam_fprint.so
- 不要急,坐和放宽,请重启一下 : )
- 验证一下看看fprint是否检测到了设备:
fprintd-list <用户名>
- 如果看到了
found 1 devices
那就说明成功一大半了!马上开始录入指纹!录入成功是绿灯,失败或有问题是红灯/黄灯:for finger in {left,right}-{thumb,{index,middle,ring,little}-finger}; do fprintd-enroll -f "$finger" "$USER"; done
- 最后一步!把pam模块接入进系统验证,有两种选择:
- 手动加pam配置文件:
vi /etc/pam.d/common-auth-pc
在auth required pam_env.so这一行下面加入
auth sufficient pam_fprint.so
- 使用pam-config
sudo pam-config -a --fprint
- 手动加pam配置文件:
- 这样就完成了,再重启一下,就可以使用了!
再简单讲讲使用方法,现在指纹可以在如下情况使用,:
- SDDM登录界面
- KDE登录界面
- sudo
- su
- KDE su
前四种情况,屏幕/终端都会提示Place your finger on the fingerprint reader
,这时指纹识别器上方绿灯会亮起,进行识别即可,正常识别后绿灯会闪一下,如果太快会闪一下黄灯,认证失败会让你输入密码。
后一种情况下,又分两种小情况,多数情况下KDE su的认证提示框会出来,但是不会有字面提示,此时指纹灯亮起,直接认证即可;而有些时间KDE SU的对话框并不会弹出来,但是指纹指示灯会亮,此时直接完成指纹识别也可以认证。
开始享受吧!