目标

通过指纹识别解锁slim-lock

环境

操作系统archlinux

桌面管理器slim

锁屏slimlock

硬件 Thinkpad T480

注: 指纹设备id, 06cb:009a

安装

测试设备 lsusb

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 0bda:0316 Realtek Semiconductor Corp. Card Reader
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub # 这玩意儿应该就是指纹设备了
Bus 001 Device 005: ID 06cb:009a Synaptics, Inc. Metallica MIS Touch Fingerprint Reader Bus 001 Device 004: ID 04f2:b604 Chicony Electronics Co., Ltd Integrated Camera (1280x720@30)
Bus 001 Device 003: ID 8087:0a2b Intel Corp. Bluetooth wireless interface
Bus 001 Device 002: ID 3044:50e0 MIIIW MW Keyboard Air Mini
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

安装libfprint-vfs009x-git (测试不通过)

yaourt -S libfprint-vfs009x-git

python-vlidity(推荐)

https://github.com/uunicorn/python-validity

安装: yaourt -S python-validity

录入指纹及解锁

fprintd-enroll

按照下述同时,录入指纹,直到completed

Using device /net/reactivated/Fprint/Device/1
Enrolling right-index-finger finger.
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-completed

校验指纹是否正常fprintd-verify

Using device /net/reactivated/Fprint/Device/1
Listing enrolled fingers:
- #0: WINBIO_ANSI_381_POS_RH_INDEX_FINGER
Verify result: verify-match (done)

查看当前用户指纹 fprintd-list 用户名

found 1 devices
Device at /net/reactivated/Fprint/Device/1
Using device /net/reactivated/Fprint/Device/1
Fingerprints for user zhaozhiwei on DBus driver (press):
- #0: WINBIO_ANSI_381_POS_RH_INDEX_FINGER

ThinkPadT480 slimlock指纹解锁

vim /etc/pam.d/system-local-login

将pam_fprintd.so添加到auth部分的顶部

auth sufficient pam_fprintd.so

重新启动计算机,会提示扫描手指以解锁登录(指纹灯亮)

slimlock认证后直接回车,不需要输入密码

问题列表

Impossible to enroll: GDBus.Error:net.reactivated.Fprint.Error.NoSuchDevice: No devices available

运行fprintd-enroll报错

https://wiki.archlinux.org/title/Lenovo_ThinkPad_T470#Fingerprint_reader

Install fprintd and libfprint-vfs009x-git AUR, then reboot. You can now

enroll your fingers with fprintd-enroll.

github下载很慢

将repository导入到gitee中,并且注意该项目有子模块,

所有需要手动增加.gitmodules

https://gitee.com/zhaozhiwei_1992/libfprint.git

https://gitee.com/zhaozhiwei_1992/libfprint-tod-vfs0090.git

libfprint/meson.build:1:0: ERROR: Unknown options: "x11-examples"

The x11-examples option seems to have been removed. It looks like it's

been replaced by "gtk-examples". I edited that in PKGBUILD and it

built successfully.

https://aur.archlinux.org/packages/libfprint-vfs009x-git

修改build文件, x11-example改成gtk-example

libfprint-vfs009x-git和fprintd >=1.92+版本冲突

安装低版本 sudo pacman -U

https://archive.archlinux.org/packages/f/fprintd/fprintd-1.90.1-1-x86_64.pkg.tar.zst

list_devices failed: No devices available

thinkpad t480 指纹id为 06cb:009a, 上述一些工具不支持,

直接使用python-validity即可

T480指纹识别支持的更多相关文章

  1. Android指纹识别深入浅出分析到实战(6.0以下系统适配方案)

    指纹识别这个名词听起来并不陌生,但是实际开发过程中用得并不多.Google从Android6.0(api23)开始才提供标准指纹识别支持,并对外提供指纹识别相关的接口.本文除了能适配6.0及以上系统, ...

  2. Android指纹识别深入浅出分析到实战

    指纹识别这个名词听起来并不陌生,但是实际开发过程中用得并不多.Google从Android6.0(api23)开始才提供标准指纹识别支持,并对外提供指纹识别相关的接口.本文除了能适配6.0及以上系统, ...

  3. 检查Android是否支持指纹识别以及是否已经录入指纹

    原文:检查Android是否支持指纹识别以及是否已经录入指纹 Android M 开始,系统中加入了指纹相关功能. 主要用到的类为:FingerprintManager 只提供三个方法: 返回值 方法 ...

  4. Android开发学习之路-指纹识别api

    在android6.0之后谷歌对指纹识别进行了官方支持,今天还在放假,所以就随意尝试了一下这个api,但是遇到了各种各样的问题 ①在使用FingerPrintManager这个类实现的时候发现了很多问 ...

  5. FingerprintJS - 在浏览器端实现指纹识别

    FingerprintJS 是一个快速的浏览器指纹库,纯 JavaScript 实现,没有依赖关系.默认情况下,使用 Murmur Hash 算法返回一个32位整数.Hash 函数可以很容易地更换. ...

  6. WAF指纹识别和XSS过滤器绕过技巧

    [译文] -- “Modern Web Application Firewalls Fingerprinting and Bypassing XSS Filters” 0x1 前言 之前在乌云drop ...

  7. iOS 钥匙串 指纹识别 get和Post请求的区别

    01-钥匙串 1. 通过系统提供的钥匙串功能可以在本地保存密码,系统使用AES的方式对密码加密 a. 查看Safari中保存的密码 2. 使用第三方框架SSKeychain把密码保存到钥匙串和获取钥匙 ...

  8. iOS - TouchID 指纹识别

    前言 NS_CLASS_AVAILABLE(10_10, 8_0) @interface LAContext : NSObject 指纹识别功能是 iPhone 5s 推出的,SDK 是 iOS 8. ...

  9. iOS开发——Touch ID 指纹识别

    项目中为了安全性,一般使用密码或iPhone手机的指纹识别Touch ID. 第一步,判断系统是否支持,iOS8.0及以上才支持. 第二步,判断手机是否支持,带Touch ID的手机iPhone5s及 ...

  10. iOS指纹识别

    #import "ViewController.h" #import <LocalAuthentication/LocalAuthentication.h> @inte ...

随机推荐

  1. Jax中关于NonZero的使用

    技术背景 在Jax的JIT即时编译中,会追踪每一个Tensor的Shape变化.如果在计算的过程中出现了一些动态Shape的Tensor(Shape大小跟输入的数据有关),那么就无法使用Jax的JIT ...

  2. 解读Graph+AI白皮书:LLM浪潮下,Graph尚有何为?

    历时半年,由蚂蚁集团和之江实验室牵头,联合北京邮电大学.浙江大学.西湖大学.东北大学.杭州悦数科技.浙江创邻科技.北京大学.北京交通大学.复旦大学.北京海致星图科技.腾讯.信雅达科技.北京枫清科技等单 ...

  3. LinkedHashMap源码分析(基于JDK1.6)

    LinkedHashMap类似于HashMap,但是迭代遍历它时,取得"键值对"的顺序是插入次序,或者是最近最少使用(LRU)的次序.只比HashMap慢一点:而在迭代访问时反而更 ...

  4. Docker可视化容器管理工具之Portainer

    官网:https://www.portainer.io/ 仓库地址:https://hub.docker.com/r/portainer/ Portainer 是一个轻量级的管理 UI ,可让你轻松管 ...

  5. 【实战问题】-- 布隆过滤器的三种实践:手写,Redission以及Guava(2)

    前面我们已经讲过布隆过滤器的原理[实战问题]-- 缓存穿透之布隆过滤器(1),都理解是这么运行的,那么一般我们使用布隆过滤器,是怎么去使用呢?如果自己去实现,又是怎么实现呢? 目录 布隆过滤器 手写布 ...

  6. 打包jar 程序,同时将依赖报一起打包

    1.概述 有些时候,我们打包一个java 程序,我需要将所有的依赖也一起打包,这样执行起来方便. 2.我们可以使用maven 插件实现 <build> <plugins> &l ...

  7. 推荐一款强大的开源物联网 Web 组态软件

    前言 快速发展的物联网(IoT)领域,设备管理和监控的需求日益增长.为了满足这一需求并提供更高效的解决方案. 向大家推荐一款强大的开源物联网Web组态软件.这款软件不仅具备灵活的可视化配置功能,还提供 ...

  8. mysql忘记密码的终极解决方案(docker-compose)

    MYSQL8的安全性能有所提高,装好后,各种不适应,需要各种调试. 1. 首先,root密码忘记或是更改,操作步骤: vi mysql/config/my.cnf 在[mysqld]的段中加上一句:s ...

  9. docker containner挂掉,无法exec进入bash,如何修改文件的终极解决方法

    场景: Nginx在bash里面配置的时候挂掉了,然后docker start不起来,exec bash进不去,造成无法再改里面的文件了 解决方法: 1,docker ps –a 可以查到所有dock ...

  10. 【Python】【爬虫】爬虫问题:requests的content和text

    爬虫问题:requests的content和text 通常来说,text获取的是Unicode编码的文本数据,content获取的是byte类型的二进制数据,比如获取图片本身.PDF文件之类的,可以用 ...