为linux添加人脸认证
- deepin的最新版本已经支持了人脸登陆,linux的东西都是开源的,那么对于其他linux版本,有没有类似的功能呢?
- 答案是有的,让Linux拥有类似Windows Hello的体验,使用Howdy即可.
安装
Howdy的github页面上介绍了各个发行版的安装方法,
- 对于archlinux
yay -S howdy
- Ubuntu
sudo add-apt-repository ppa:boltgolt/howdy sudo apt update sudo apt install howdy
- 红帽系
sudo dnf copr enable principis/howdy sudo dnf --refresh install howdy
- openSUSE
可以去github上详细查看.
配置
每个发行版下配置的方式不同
以archlinux为例吧,arch的wiki文档很丰富,汲取前人的经验照着做即可.
- 为sudo启用howdy认证
sudo vim /etc/pam.d/sudo
增加
auth sufficient pam_python.so /lib/security/howdy/pam.py
- 为锁屏启用
sudo vim /etc/pam.d/system-local-login
增加
auth sufficient pam_python.so /lib/security/howdy/pam.py
- 如果要为登陆界面启用可以使用
这个要看自己的使用的gdm还是sddm
sudo vim /etc/pam.d/sddm
增加
auth sufficient pam_python.so /lib/security/howdy/pam.py
我建议是只对sudo和锁屏后解锁启用
详细见wiki
添加正确的红外传感器
- 确认摄像头设备名
摄像头的文件名多为/dev/video0,/dev/video1,等等.可以通过工具确认,也可以自己尝试后确定.
- 修改howdy配置文件
vim /lib/security/howdy/config.ini
增加人脸模型并使用
- 人脸增加
sudo howdy add
- 其他配置
默认每次增加和识别都会拍一张照片存起来,可以配置关闭
sudo vim /lib/security/howdy/config.ini
####
[snapshots]
capture_failed = false
capture_successful = false
- 使用和测试
当使用sudo 命令时,不输入密码直接按enter会发现,可以执行sudo命令. - 终端里有 GStreamer warnings
临时解决方案是向全局或者每个用户加入OPENCV_LOG_LEVEL=ERROR 这个环境变量。
可以在zsh或bash的配置文件中增加,也可以在profile文件中增加
小结
- howdy在不同发行版上都有,装起来也比较方便.
- 使用howdy要修改操作对应的配置文件
- 对于opencv出现的警告,可以增加环境变量解决.