前言
howdy是Linux上功能類似於windows hello的軟體
我的環境是EndeavourOS搭配hyprland與end4-dots的設定檔
本篇會講解如何安裝Howdy與設定它
安裝howdy
- 使用yay或是paru等工具安裝howdy-gitAUR
yay -S howdy-git
過程中如果在安裝python-dlibAUR時報錯
可以手動安裝python-dlib-gitAUR並再次安裝howdy-git
yay -S python-dlib-git
yay -S howdy-git
- 同時安裝v4l-utils包以供後續設定使用
sudo pacman -S v4l-utils
配置
確認紅外線鏡頭
使用以下指令列出所有鏡頭
ls -l /dev/v4l/by-path
可能會列出好幾個不同設備
像我的是這樣子
可以透過ffplay -f v4l2 -i /dev/v4l/by-path/PATH來一個一個確認
例:
ffplay -f v4l2 -i /dev/v4l/by-path/pci-0000:00:14.0-usb-0:5:1.2-video-index0
正確的那個會使紅外線鏡頭亮起
並且在畫面上會出現一個黑白的鏡頭畫面
設定howdy使用的鏡頭
找到正確的設備之後就可以開始設定howdy了
使用sudo howdy config進行設定
- 可以將
detection_notice設定為true使開始辨識時顯示通知 - 找到
device_path並填入剛剛找到的路徑,例如:
device_path = /dev/v4l/by-path/pci-0000:00:14.0-usb-0:5:1.2-video-index0
測試並加入臉部數據
- 設定好後,使用
sudo howdy test可以測試配置是否正確,如果有遇到像是這樣的報錯
qt.qpa.xcb: could not connect to display :1
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
可以嘗試改成使用sudo -E howdy test來測試
- 完成後使用
sudo howdy add來新增臉部資料,只須照著指示做即可
設定PAM文件
要讓系統在需要輸入密碼的時候啟動臉部辨識,還需要先/etc/pam.d/下進行配置
例如每次使用sudo時先使用howdy失敗時再輸入密碼可以設置/etc/pam.d/sudo這個檔案
在文件的最上方加入以下內容,其他地方保持不便即可
auth sufficient /lib/security/pam_howdy.so
你的文件應該會長的像是這樣
#%PAM-1.0
auth sufficient /lib/security/pam_howdy.so
auth include system-auth #當howdy驗證失敗時會使用/etc/pam.d/system-auth驗證
account include system-auth
session include system-auth
建議不要對類似sddm的圖形登入界面配置howdy,因為沒有用密碼登入就無法解鎖keyring
這代表進入桌面後你大概率還是需要輸入一次密碼解鎖keyring,乾脆每次開機就輸入一次密碼登入就好
其他時候會是使用類似hyprlock的鎖定工具鎖定,可以對/etc/pam.d/hyprlock進行設定便可使用臉部解鎖