最近有一个基于人脸识别的登录功能引起社区关注,旨在让 Linux 系统通过面部识别实现身份认证与解锁。
虽然需要讨论识别的准确性、可靠性以及实用性,但本文将介绍一个在多种 Linux 发行版中可用的实现方案。
本文要介绍的方案具备类似 Windows Hello 式的认证体验,依赖内置摄像头和/或红外设备,结合人脸识别功能来确认身份。
它通过 PAM(Pluggable Authentication Modules,集中身份验证系统)进行集成,适用于需要输入密码的场景,如登录、锁屏、sudo、su 等等。
安装
对于 Ubuntu、Linux Mint 等发行版,可以通过添加第三方仓库安装:
sudo add-apt-repository ppa:boltgolt/howdy
sudo apt update
sudo apt install howdy
对于 Debian 系统,请在发布页下载 deb 安装包:
wget https://Github.coM/boltgolt/howdy/Releases/download/v2.6.1/howdy_2.6.1.deb
然后使用以下命令安装:
sudo dpkg -i howdy_2.6.1.deb # 请将文件名替换为实际下载的文件名
sudo apt install –fix-broken
对于 Fedora 系统,可以通过 COPR 仓库安装:
sudo dnf copr enable pRincIPis/howdy
sudo dnf –refresh install howdy
对于 Arch Linux 和 openSUSE,请参考各自仓库的说明。
安装过程中会自动下载所需依赖包及 dlib 的模型,请确保网络畅通。
配置
安装完成后,执行如下命令进入配置界面:
sudo howdy config
请将配置文件中的 device_path = /dev/xxxx 修改为实际摄像头路径,通常是 /dev/video0。
如果 /dev 下没有 videoX 设备,请检查摄像头驱动是否已安装。
要让系统记住你的脸以便日后用于识别,你需要添加一个面部模型:
sudo howdy add
若没有报错,理论上就可以通过人脸识别来执行 sudo。开启一个新终端,执行 sudo -i 来验证其运行情况。
常见问题排错:解决 GNOME 锁屏界面不工作的问题
参考文件路径如下(请根据实际情况打开对应文件进行替换):
https://Github.coM/boltgolt/howdy/blob/caf244ce297d27d40168c40571b0FAd6f7ee2596/sRc/coMpaRe.py
将 /lib/secuRITY/howdy/coMpaRe.py 替换为上面文件中的实现即可。
