使用 Gaze 优雅地实现 Linux 下的面部解锁

如果你用过 Windows ,尤其是 Surface,你应该会对 Windows 自带的那一套面部解锁印象深刻。后续在 ThinkPad 中这个功能甚至得到了强化,比如你只有坐在屏幕面前,屏幕才会亮起,你远离屏幕之后,笔记本会自动锁定之类的……

那么当我们来到 Linux 的世界,是否有实现类似的方式呢?

就和无处不在的优秀百合同人小说一样,Linux 下也有类似的解决方案。过去是一个叫做 Howdy 的项目承担了这一切,那玩意用的是一种比较传统的红外的识别方式,基本上是强制要求你设备拥有 IR 摄像头才可以,同时那一套方案用的是 Python 底层写的,年代老旧,性能低下,经常出现你掀开屏幕之后还得等好几秒才有反应,当年我的确是在 ThinkPad X1 Cabron 的 5th 型号上用过,只能说勉强能用,效果拉胯,拉胯到我都懒得写文章来介绍。

当然时过境迁,现在已经有了新的解决方案,就是这次要说的 Gaze。

和老旧的 Howdy 不同,这次的 Gaze 是 Rust 写的,而且识别方式也用了专属的视觉模型,所以性能提升是飞跃级别的。

关于这玩意的安装,官方的文档也给出了详细的说明,不过还是建议用官方的一行命令来实现。

https://gaze.gundulabs.com/guide/getting-started.html

整个 Gaze 对于系统的整合是很紧密的,通过 systemd 服务的方式进行了深度嵌入,而且对于 Gnome-shell 的整合更好,都有了专属插件,摄像头也并没有完全的 IR 硬性指标,你用普通的也可以,只是安全性不行,当然你也可以拼多多 50 块钱买一个摄像头放在显示器上,就和我一样,成本也不高,还免去了输入密码。

photo_2026-07-28_23-12-07.jpg

系统无论是插件和设置都很直观,直观到我甚至觉得应该成为 Gnome 的默认模块。

photo_2026-07-24_17-59-50.jpg

photo_2026-07-24_17-59-50 (2).jpg

photo_2026-07-24_17-59-50 (3).jpg

当然后续的一些经历还是需要我给一些感兴趣的人泼点凉水,敲敲警钟:这个 Gaze 虽然很好用,但是也存在着危险。

比如我曾经想给我的 Surface Go 2 平板安装这个 Gaze,毕竟我实在懒得每次都重新输入解锁密码。不过安装之后就遇到了问题,重启后 GDM 崩溃,无法登陆系统,勉强用 tty 登陆之后发现用不了 sudo 权限。

这时候我意识到, Gaze 劫持了 sudo 的验证,你每次 Sudo 都需要经过 Gaze 才可以,而这时候 Gaze 好巧不巧又直接一运行就 Coredump 崩溃了……

所以我就陷入了死循环,我想要卸载 Gaze,我就需要 sudo 权限,我要 sudo 权限,就得通过 Gaze 认证,而 Gaze 一认证就会崩溃,导致认证失败,我无法获得 sudo 权限去卸载 Gaze。

反正折腾了我一下午,用 LiveUSB + Btrfs 快照的方式还是把 Gaze 干掉了,最后排查发现原因居然是 Surface Go 2 在某一次内核更新后,内置的摄像头不可用了,一调用就出错,直接导致 Gaze 也崩溃,而 Gaze 会用各种 systemd 的服务劫持你的 sudo 认证……

我说这么多就是想告诉你,Gaze 带来的便捷其实是建立在它能稳定运行的基础上的,如果你本身的设备摄像头……很可能存在不稳定的情况,就慎重考虑 Gaze。不过这个问题我也给 Gaze 开发者进行了留言,他说他会改,让 Gaze 更 robust,不过前一阵我看了一下新版,似乎还是在劫持 sudo……

总之见仁见智吧。

👍❤️😂🎉🔥👀🤡🤔

2 条评论

  1. Karuboniru
    2026-07-29 12:46 GNU/Linux x64Firefox 153.0中国北京市北京市

    感觉你提到的sudo被拉下水了不是“劫持” sudo的事情:认证过程是通过pam模块完成的,如果pam模块处理异常没有写对,以某种类似于段错误的方式出错了,那么整个认证过程一起被信号kill了。

    归根结底是代码质量问题,不过既然是语言神rust写的,应该没那么容易崩溃啊,摸不着头脑。

    👍👎🤡❤️🔥👀😂🤔
  2. 李大湿这个渣渣
    李大湿这个渣渣 Lv3垃圾佬VIP
    2026-07-30 12:52 Mac OS X 10.15.7Google Chrome 150.0.0.0荷兰阿姆斯特丹阿姆斯特丹

    有点子东西的

    👍👎🤡❤️🔥👀😂🤔

添加新评论

😂🤡😎😡😁😋😭😑

目录

__empty__