互联网技术 / 互联网资讯 · 2024年3月27日

在 Linux 系统中实现人脸识别登录的方法

最近有一个基于人脸识别的登录功能引起社区关注,旨在让 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 替换为上面文件中的实现即可。