如何设置面部识别以登录 Ubuntu 和其他 Linux 发行版

尽管存在种种担忧,但面部识别在消费者中越来越受欢迎。 大多数最新的 Android 和 iOS 设备都具有通过面部身份验证解锁设备的功能。

一旦习惯了人脸解锁或指纹解锁,输入密码感觉就像是一件乏味无聊的任务。

在 Windows 操作系统上,Microsoft 提供了 视窗你好 允许根据您的面部进行即时身份验证。

在 Linux 上,人脸解锁不是内置功能。 据我所知,没有 Linux 发行版提供开箱即用的面部解锁功能。

但俗话说,有壳就有路。 在 Linux 中,您经常会发现可以为特定任务配置的替代事物和工具。 还记得我写的在 Linux 和 Raspberry Pi 设备之间共享鼠标和键盘的教程吗?

在本教程中,我将向您展示如何在 Ubuntu 中设置人脸解锁。 您也可以将本教程用于其他 Linux 发行版。

您需要熟悉终端和 Linux 命令,因为您将使用 Linux 命令行工具。

你好:适用于 Linux 的 Windows Hello 风格的面部识别认证系统

你好 是一款开源软件,可让您通过人脸识别登录 Linux 系统。 将其视为 Linux 的开源 Windows Hello 替代方案。 在这里,您的数据本地存储在您的计算机上。

Howdy 使用内置的红外发射器和网络摄像头组合来识别您的脸。 它是使用 OpenCV 和蟒蛇。

Howdy 使用 PAM 认证系统,这意味着您不仅可以用脸登录您的系统,还可以将其用于 sudo, su 以及大多数其他需要使用帐户密码的情况。 但是,在我的测试中,它无法在 Ubuntu 中解锁钥匙圈。

在本教程中,我将向您展示如何安装 Howdy 以及如何设置它以进行面部识别。 这个过程并不太复杂,但在这里使用终端应该不会太不舒服。

在 Ubuntu 和其他 Linux 发行版上安装 Howdy

的开发者 Howdy 提供了一个方便的 PPA 这使得在基于 Ubuntu 的发行版上安装 Howdy 更容易。

打开终端并在 Ubuntu 上使用以下命令:

sudo add-apt-repository ppa:boltgolt/howdy sudo apt update sudo apt install howdy

Howdy 是一个大软件,它安装了大量的软件库。 对我来说,安装后显示大约 140 MB 的下载大小和 600 MB 的磁盘大小要求。

在安装过程中,它会要求您从快速、平衡和安全的身份验证类型中进行选择。 我在这一步选择了平衡,因为我不想等待太久,但也不希望它不那么安全。

在安装过程中,它抱怨添加 /usr/本地/bin 在 PATH 但对我来说它已经在那里了。 您可以为您的系统验证它。

在其他 Linux 发行版上安装 Howdy

对于 Debian,您可以 下载 DEB 文件. Arch/Manjaro 用户可以从 AUR 安装它。

Fedora 用户可以选择 使用 COPR 存储库

sudo dnf copr enable luya/howdy sudo dnf install howdy

openSUSE 用户可以找到安装说明 这里.

作为最后的手段,您可以获取源代码 它的 GitHub 存储库.

由于我在本教程中使用的是 Ubuntu 20.04,因此某些步骤可能会使用 apt 命令,但我相信您可以在这些步骤中使用您的发行版的包管理器。

使用 Howdy 在 Ubuntu 和其他 Linux 上设置人脸解锁

让我们看看如何设置它以进行面部识别。

更改配置文件

在使用 Howdy 之前,您应该更改配置文件以指定您的网络摄像头设备。

在大多数 Linux 系统上,/dev/video0 应该是网络摄像头的设备,但您应该使用 v4l2-ctl 命令来确保它。

首先安装 v4l-utils:

sudo apt install v4l-utils

现在使用 v4l2-ctl 命令列出您的设备

[email protected]:~$ v4l2-ctl --list-devices Integrated_Webcam_HD: Integrate (usb-0000:00:14.0-5): 	/dev/video0 	/dev/video1

为什么有两个(或更多)视频设备? 您必须检查设备的功能。 设备应该具有视频捕获功能,而不仅仅是元数据捕获。

您可以使用像 v4l2-ctl –device=/dev/video0 –all 这样的命令来检查它,然后查看功能部分。 大多数时候,它应该是第一个设备,即 /dev/video0。

现在,您需要在 Howdy 配置中设置设备路径。 您可以通过手动打开 /lib/security/howdy/config.ini 文件进行编辑或使用以下命令打开配置文件以在默认的基于终端的文本编辑器中进行编辑:

sudo howdy config

查找以 device_path 开头的行。 将其值更改为 /dev/video0 或任何网络摄像头设备的路径。

Save 并退出文件。 你现在准备好了。

添加您的面孔以进行面部识别

Howdy 是一个命令行工具。 您必须在终端中完成所有操作。

现在您已经设置了正确的设备路径,是时候在其数据库中添加一些人脸以进行识别了。

使用以下命令将人脸与当前登录的用户(即您)相关联。

sudo howdy add

它不会通过打开相机来显示您的脸,因此您应该查看网络摄像头以正确捕捉您的脸。

它会要求您向面部添加标识符。 你可以随意命名它。 我使用了眼镜、带耳机等术语。

如果你戴眼镜,我建议特别添加一些你的脸的变体。 只需运行 sudo 每次要添加人脸时,如何添加命令。

添加人脸后,Howdy 就可以使用了。 要测试它,请打开一个新终端并使用以下命令运行命令 sudo. 您会注意到您的网络摄像头闪烁并尝试检测人脸。 如果面部未被识别,它会显示一条错误消息并要求您使用密码。

要为其他用户添加人脸,您还应该提供用户名:

sudo howdy -U username add 

您无需担心重启后如何启动 Howdy。 Howdy 在每次启动时自动启动。

列出用户的所有已知人脸模型

您可以看到哪些人脸模型与用户相关联 list 选项。 如果您不指定用户名,它会显示当前用户的输出。

sudo howdy list

清除部分或全部人脸模型

当您列出用户的所有面部模型时,您可以使用删除选项删除某个面部模型。 您必须提供面部模型的 ID,而不是标签。

sudo howdy remove face_ID

您可以使用以下命令删除所有人脸模型:

sudo howdy clear

禁用并重新启用 Howdy

您可以使用以下命令暂时禁用 Howdy:

sudo howdy disable 1

您可以使用相同的禁用选项重新启用它,但使用 0 作为参数:

sudo howdy disable 0

从系统中删除 Howdy

您可以使用发行版的包管理器来删除 Howdy。

在 Ubuntu 上,使用以下命令:

sudo apt remove howdy

您还应该删除 PPA:

sudo add-apt-repository -r ppa:boltgolt/howdy

对于其他发行版,请使用与您使用的安装方法相对应的卸载方法。

结论

在 Linux 上设置人脸解锁很有趣。 我认为这可以为一些好的 Raspberry Pi 项目提供基础。 做这样的事情是一个有趣的周末练习。

但是,我不建议在关键基础设施或服务器上设置它。 人脸识别不是很安全.

在您的个人 Linux 系统上使用人脸解锁是一回事,但请不要在服务器或工作机器上使用它。

我希望你喜欢这个 DIY(如果我可以称之为)教程。 如果您想在未来看到更多关于 It’s FOSS 的教程,请告诉我。