V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
indexofire
V2EX  ›  Linux

Archinux 下小米 pro 使用指纹识别

  •  
  •   indexofire · 2018-04-06 14:45:00 +08:00 · 7285 次点击
    这是一个创建于 2423 天前的主题,其中的信息可能已经有所发展或是发生改变。

    注意:用fprintd验证时,需要将右手食指划第一节慢慢滑过 sensor ( 2 秒左右) 5 次。

    ## Archlinux extra 源里 libfprint 的版本还不支持 Elan。
    ## 需要到 github 下载最新源代码支持了小米 pro 的
    ## 04f3:0c1a 的 Elan Microeletronics 指纹识别器。
    $ git clone https://github.com/iafilatov/libfprint
    $ cd libfprint
    $ ./autogen.sh
    $ ./autoconfigure
    $ make && sudo make install
    $ sudo ln -s /usr/local/lib/libfprint.so.0 /usr/lib
    
    ## 不安装 libfprint 依赖
    $ sudo pacman -Sdd fprintd
    
    ## 确认 fprintd.service 正常运行,如果 failed,
    ## 用`systemctl status fprintd`查看问题
    $ systemctl | grep fprinted.service
    
    ## 修改登录验证机制,如果顺序是 fprintd 在前,则登录时先用 finger 验证
    $ sudo vim /etc/pam.d/system-local-login
    auth      sufficient pam_fprintd.so
    auth      include    system-login
    
    ## 建立指纹并验证
    $ fprintd-enroll
    Using device /net/reactivated/Fprint/Device/0
    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-completed
    
    ## 验证过程,看到 veryify-match 即表示验证通过
    $ fprintd-verify 
    Using device /net/reactivated/Fprint/Device/0
    Listing enrolled fingers:
     - #0: right-index-finger
    Verify result: verify-match (done)
    
    ## 重启,由于我没有用 Display manager,用 xinit startx 来启动 i3,
    ## 所以 console 界面输入用户名后就会提示“滑动手指验证指纹登录”
    $ reboot
    
    ## i3lock 指纹解锁有一个问题在于需要输错 1 次密码后才能正常指纹解锁。
    ## 可能需要 xss-lock 等其他方法解决
    $ sudo pacman -S i3lock
    $ sudo vim /etc/pam.d/i3lock
    auth include login
    
    ## 总结:
    ## 小米的 Elan 指纹识别器面积太小,导致 libfprint 需要滑动才能识别,
    ## 另外感觉指纹识别速度不是特别敏锐,扫完指纹需要 0.5s 左右才能解锁。
    ## 总体上来说,可用性不是太高。个人感觉不如摄像头人脸识别可用性更高...
    
    12 条回复    2018-09-25 17:19:58 +08:00
    Phantom19
        1
    Phantom19  
       2018-04-06 15:19:27 +08:00
    小米 pro 装 arch 好用么,驱动问题都能解决吗
    indexofire
        2
    indexofire  
    OP
       2018-04-06 15:46:15 +08:00
    @Phantom19 我是 Archlinux+i3,显卡用 bumbelee 交火,鼠标外设是微软 designer v4,触控、蓝牙、webcam 没有任何问题。
    gainsurier
        3
    gainsurier  
       2018-04-06 16:38:31 +08:00
    我用的 manjaro deepin,
    /usr/lib/libfprint.so.0 已经存在
    https://imgur.com/a/ytTnb
    但是,
    systemctl status fprintd
    返回结果告诉我,没有 libprint.so.0 这个文件
    https://imgur.com/a/ohtih
    catteroLo
        4
    catteroLo  
       2018-04-06 18:24:27 +08:00
    @indexofire 问一下 HDMI 的视频输出和 type-c 的视频输出能用吗?
    indexofire
        5
    indexofire  
    OP
       2018-04-06 19:14:21 +08:00
    @catteroLo HDMI 视频输出在一台极米 1s 上试过了,尴尬的是投影仪虽然是 1920x1080,但是由于投影技术问题,点对点只能做到 1880x1040 左右( http://bbs.xgimi.cn/thread-111069-1-1.html )。type-c 还没机会尝试。
    indexofire
        6
    indexofire  
    OP
       2018-04-06 19:21:31 +08:00
    @gainsurier 可能发行版不同,lib 没有正确加载吧,ldconfig -p | awk '/libfprint/' 看看有没有输出。或者 sudo ldconfig 重新 cache 一下
    zsx
        7
    zsx  
       2018-04-06 19:28:13 +08:00
    分享一下我前阵子改的 pam_fprintd.so ,允许在按指纹的时候同时输入密码: https://github.com/zsxsoft/libfprint-fprintd
    效果见 https://unix.stackexchange.com/questions/207360/use-multiple-pam-login-methods-at-once/433982#433982

    不过因为我用的是 sddm 的原因,我只把我的 pam 加到 sudo 和 su 里,开机还是不能按指纹((
    chocotan
        8
    chocotan  
       2018-04-06 19:43:32 +08:00
    我这总是 verify-no-match 是我操作不对吗。。
    indexofire
        9
    indexofire  
    OP
       2018-04-06 19:54:59 +08:00
    @chocotan 重新做 enroll 吧,食指第一节慢慢滑过,大约 2s。角度和滑动速度都有关系。所以说小米 pro linux 指纹解锁有点鸡肋
    gainsurier
        10
    gainsurier  
       2018-04-06 20:48:41 +08:00
    @indexofire ldconfig 之后可以正确录入指纹了。
    Sasasu
        11
    Sasasu  
       2018-06-22 19:28:54 +08:00
    我来挖个坟.
    我改的 sddm 可以在不修改 pam.so 的情况下允许在按指纹的时候同时输入密码.
    同时不需要先敲回车, 开机就能输入指纹.
    https://github.com/sddm/sddm/issues/1038
    Kaiv2
        12
    Kaiv2  
       2018-09-25 17:19:58 +08:00
    希望博主更新下,现在已经不适用了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2894 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 06:57 · PVG 14:57 · LAX 22:57 · JFK 01:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.