Omarchy 如何开启指纹认证用于锁屏与 sudo【免费下载链接】omarchyBeautiful, Modern Opinionated Linux项目地址: https://gitcode.com/GitHub_Trending/om/omarchy如果你用 Omarchy 作为日常桌面想让笔记本的指纹传感器参与到日常解锁流程里这篇内容对应的任务就是把指纹认证配置好让它同时覆盖三处——锁屏解锁Super Ctrl L触发的锁屏、sudo提权、以及系统授权提示polkit。前提是设备本身带指纹传感器没有传感器的机器或外接键盘走不了这条路Omarchy 菜单里也不会显示对应入口。完整说明见 manual/37-hardware-authentication.md。前置条件传感器必须能被检测到指纹设置的入口以传感器检测为前提。default/omarchy/omarchy-menu.jsonc 中setup.security.fingerprint一项的显示条件是when: omarchy-hw-fingerprint即只有检测脚本判定存在指纹读取器时菜单里才会出现 Fingerprint 选项。检测由 bin/omarchy-hw-fingerprint 完成它直接读取/sys/bus/usb/devices先看设备的 product 描述里是否含fingerprint、biometric以及 Elan、FPC 的特定命名再对照内置的指纹厂商 USB vendor ID 列表27c6、138a、06cb、08ff、1c7a、147e排除已绑定内核驱动的多功能设备。检测不需要 fprintd 或 usbutils 先装好因此在安装驱动包之前也能跑。如果你刚装完系统首次运行阶段检测到传感器且尚未配置时Omarchy 会发出一条 “Setup Fingerprint Reader” 通知点击即可进入设置流程见 install/user/first-run/setup-fingerprint.hook。开启指纹认证操作路径按Super Space打开 Omarchy 菜单进入Setup Security Fingerprint。该菜单项实际执行的是omarchy-setup-security-fingerprint脚本 bin/omarchy-setup-security-fingerprint 需要 sudo菜单入口会自动带上提权。它会依次做以下事情注意这些副作用运行omarchy-hw-fingerprint确认传感器存在。若检测不到输出No fingerprint sensor detected.并直接退出不会安装任何东西。若缺少则安装libfprint-git fprintd usbutilssudo pacman -S --needed --noconfirm --ask 4。libfprint-git 跟踪上游、与发行版自带的 libfprint 冲突脚本用--ask 4在一笔事务中接受替换安装失败时会保留原有驱动。用sudo fprintd-enroll $USER录入指纹。脚本提示录入的是右手食指并需要持续在传感器上移动手指直到过程完成。用fprintd-verify立即验证录入结果。录入并验证都通过后才写入 PAM 配置见下一节。也就是说PAM 的修改发生在录入验证成功之后检测只证明有读取器不证明 libfprint 能驱动它——如果传感器录入失败PAM 文件保持不动不会把系统指向一个没有可用模块的pam_fprintd。写入的 PAM 配置脚本对三处认证栈做了修改/etc/pam.d/sudo在文件头插入auth sufficient pam_fprintd.so并在其上方插入 clamshell 门控行。/etc/pam.d/polkit-1同样插入指纹行与门控行若该文件不存在则整体创建。/etc/pam.d/omarchy-lock-fingerprint新建锁屏专用 PAM 栈#%PAM-1.0 auth required pam_fprintd.so account include system-local-login所有栈里的门控行都是auth [success1 defaultignore] pam_exec.so quiet /usr/bin/omarchy-hw-laptop-closed它的作用合盖clamshell时读取器不可达门控返回成功使 PAM 恰好跳过指纹行直接落到密码提示而不是卡在读不上的传感器上开盖状态则先走指纹密码作为回退。门控写死指向/usr/bin/omarchy-hw-laptop-closed这个绝对路径保证跨包安装与 dev-link 布局都有效。结果验证脚本自身的成功输出文档示例实际文案以脚本为准Fingerprint enrolled successfully! ... Perfect! Fingerprint authentication is now configured. You can use your fingerprint for sudo, polkit, and lock screen (Super Ctrl L).也可以手动核对锁屏服务判定“已配置指纹”的条件见 shell/plugins/lock/Service.qml 中的fingerprintCheckProc是同时满足/etc/pam.d/omarchy-lock-fingerprint存在且fprintd-list $USER的输出含 finger 条目。配置成功后锁屏界面上的密码框两侧会预留出指纹图标的位置。grep pam_fprintd.so /etc/pam.d/sudo能匹配到行说明 sudo 栈已接入。最直接的验证就是按Super Ctrl L锁屏然后用手按传感器解锁。日常使用与回退方式锁屏Super Ctrl L锁定解锁时按指纹。指纹认证由锁屏服务以omarchy-lock-fingerprint这个 PAM 栈发起单次失败后会以 250ms 间隔自动重试无需手动触发。sudo执行需要提权的命令时出现指纹提示就按传感器。如果当时用的是没有传感器的外接键盘按CTRL C可跳过指纹、直接回落到密码输入。合盖状态指纹提示被自动跳过直接出现密码提示框。系统授权提示polkit同样走指纹失败时可输入密码。关闭与移除在 Omarchy 菜单中进入Remove Security Fingerprint该项在检测到fprintd已安装时显示实际执行 bin/omarchy-remove-security-fingerprint。它的影响范围从/etc/pam.d/sudo与/etc/pam.d/polkit-1中删除pam_fprintd.so行及 clamshell 门控行删除/etc/pam.d/omarchy-lock-fingerprint移除fprintd libfprint libfprint-git相关软件包。执行后指纹认证从锁屏、sudo、polkit 三处全部失效锁屏恢复为纯密码解锁。故障与限制检测不到传感器脚本输出No fingerprint sensor detected.并停止。此时不要手动安装 fprintd先确认笔记本确有传感器检测脚本依据 USB product 描述与厂商 ID 列表判定多用途厂商如同时生产触摸板的 Elan/STMicro只按 product 字符串匹配避免误报。录入失败输出Enrollment failed. Please try again.脚本退出可重新运行设置。验证失败输出Verification failed. You may want to try enrolling again.此时 PAM 尚未修改重新录入即可。能检测到但驱动不了检测通过不等于 libfprint 能驱动该读取器。脚本注释提到一个具体例子不在 elanmoc 表内的 Elan MOC 传感器能通过检测但会在录入阶段失败。遇到这种情况说明驱动栈暂不支持你的传感器型号指纹路径不可用但密码解锁不受影响。完成配置后锁屏、sudo与系统授权提示都会优先接受指纹密码始终作为可用回退不需要时按上一节从菜单移除即可。【免费下载链接】omarchyBeautiful, Modern Opinionated Linux项目地址: https://gitcode.com/GitHub_Trending/om/omarchy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考