如何在Pop! OS 22.04上使用指纹扫描仪

在Pop! OS 22.04上使用指纹扫描仪

注意:这篇文章发布已超过两年,因此其中包含的信息可能已过时。如果您发现了问题,请留下评论,我们将尽力更正。

2023年4月30日 - 阅读时长11分钟

成都长风云Drupal开发团队使用过几款ThinkPad笔记本电脑(T490和P14s),虽然它们都配有指纹扫描仪,但之前从未真正考虑过使用它们。曾尝试在一台旧的惠普笔记本电脑上让指纹扫描仪在Linux系统下工作,那次经历让团队打消了再次尝试的念头。

当研究如何在安装了Pop! OS的ThinkPad上让指纹扫描仪工作时,结果发现相当容易。驱动程序已经存在,所以只需要安装正确的软件并添加设置即可。

本文假设您的机器配备了与Linux兼容的指纹扫描仪,并且您已经安装了该扫描仪的驱动程序。这一点非常重要。

一、安装软件

在将设置添加到系统之前,您需要安装一些软件。

  • fprintd - 用于指纹读取器访问的D - Bus守护程序。它的主要作用是从硬件读取指纹数据,并将数据呈现给其他软件包。
  • libpam - fprintd - 通过fprintd进行指纹认证的PAM模块(可插拔认证模块)。这允许您使用fprintd软件包中的数据进行认证。

这些软件包可以通过apt轻松安装。

sudo apt-get install fprintd libpam-fprintd

安装这些软件包后,我们现在可以配置PAM系统以接受指纹作为认证机制。为此,我们以root用户身份运行pam - auth - update命令。

sudo pam-auth-update

这应该会显示类似这样的内容(具体取决于您安装的认证系统)。

使用箭头键高亮显示“Fingerprint authentication”选项,然后使用空格键选择它。接着,使用制表键选择“OK”并再次按下空格键。

这将在PAM系统中启用指纹认证模块。

或者,您可以运行以下命令,它将一次性完成此操作。

sudo pam-auth-update --enable fprintd

完成上述操作后,您现在可以将指纹添加到认证系统中。

二、添加指纹

有两种方法可以将指纹添加到fprintd系统中。您可以使用命令行或设置菜单。让我们先看看命令行方法。

命令行

要在PAM系统中注册指纹,请运行以下命令(“enroll”拼写有两个“l”)。

fprintd-enroll

请注意,这里我们不使用sudo。这很关键,因为我们要为当前用户进行认证,而不是root用户。

通过正常认证后,您应该会看到一个提示,要求您注册指纹。只需将手指放在读取器上,它应该会激活并推进提示。您需要这样做几次才能正确注册您的手指。此操作将生成以下输出。

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-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-stage-passed
Enroll result: enroll-completed

默认情况下,这会注册您的右手食指。例如,只需传递--finger标志即可指定另一个手指进行扫描。

fprintd-enroll --finger left-index-finger

您可以使用不同的手指定义添加任意数量的指纹。

要查看您已注册的指纹,可以使用fprintd - list命令,后跟您要检查的用户。

fprintd-list $USER
found 1 devices
Device at /net/reactivated/Fprint/Device/0
Using device /net/reactivated/Fprint/Device/0
Fingerprints for user philipnorton42 on Synaptics Sensors (press):
 - #0: right-index-finger
 - #1: left-index-finger

我们可以使用环境变量$USER作为当前登录用户的快捷方式。要访问系统中其他用户的指纹,需要sudo权限。

如果您想验证您的指纹是否能正常工作,可以使用fprintd - verify命令。此命令允许您在不使用任何标志的情况下验证您的默认指纹。

fprintd-verify
Using device /net/reactivated/Fprint/Device/0
Listing enrolled fingers:
 - #0: right-index-finger
 - #1: left-index-finger
Verify started!
Verifying: right-index-finger
Verify result: verify-match (done)

您也可以传递--finger标志来指定要测试的手指。

fprintd-verify --finger left-index-finger
Using device /net/reactivated/Fprint/Device/0
Listing enrolled fingers:
 - #0: right-index-finger
 - #1: left-index-finger
Verify started!
Verifying: left-index-finger
Verify result: verify-match (done)

最后,您还可以使用fprintd - delete命令删除指纹,只需传入要删除指纹的用户,或者使用 - f标志删除单个指纹。

fprintd-delete $USER -f left-index-finger

如果您想重置指纹并同时重新注册所有手指,可以使用以下bash脚本来实现。

fprintd-delete "$USER"

for finger in {left,right}-{thumb,{index,middle,ring,little}-finger}; do fprintd-enroll -f "$finger" "$USER"; done

这将注册您所有的手指,这样您就不必担心之前注册了哪些手指。

设置菜单

打开设置菜单,然后打开“用户”选项卡。在这个屏幕上,您应该会看到“指纹登录”选项。点击此选项将显示以下对话框(假设您已经按照上述说明注册了左右手食指)。

您可以通过此界面管理您的指纹。

如果您没有看到此选项,请重启您的机器,让Gnome注册系统中指纹读取器软件的存在。这一点非常重要。

三、结论

将指纹添加到系统后,您现在可以使用指纹扫描仪进行认证。由于Pop! OS使用Gnome,因此使用指纹进行管理和认证的功能是内置的。

另外,当您运行sudo命令或任何需要认证且支持PAM的操作时,您也可以使用指纹进行认证。

让这一切正常工作的主要困难在于您的机器上安装了正确的设备。值得庆幸的是,联想在其ThinkPad机器中使用了兼容的设备,但在其他机器上情况可能会有所不同。如果您想了解您的驱动程序是否受支持,请查看fprintd网站上的支持硬件列表。

联系我们

提供基于Drupal的门户网站、电子商务网站、移动应用开发及托管服务

长按加微信
长风云微信
长按关注公众号
长风云公众号