Howdy
Howdy is a program that imitates Windows Hello on Linux. It uses a computer's IR sensors and camera to verify a user's face.
Contents
Installation
Configuration
Setup Howdy to start when needed
In order for Howdy to authenticate a user, a small change must be added to any PAM configuration file where Howdy might want to be used. The following line must be added to any configuration file:
auth sufficient pam_python.so /lib/security/howdy/pam.py
Example
/etc/pam.d/sudo
# PAM-1.0 auth sufficient pam_python.so /lib/security/howdy/pam.py auth include system-auth account include system-auth session include system-auth
Add correct IR sensor
Determine the correct /dev/videoX
file connected to the IR sensor. This can be done through various programs such as cheese and fswebcamAUR. Once the correct filename is found, edit /lib/security/howdy/config.ini
using either your preferred editor or with sudo howdy config
.
sudo howdy config
to work.Add face to Howdy
In order to add a face model to Howdy, run sudo howdy add
.
Troubleshooting
Testing your IR camera
It can be useful to first make verify that your IR camera functions correctly. A set of 10 jpg photos can be taken to test your device using the gstreamer package with the following command (replacing /dev/video0 with the location of your IR camera):
gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=10 ! image/jpeg ! multifilesink location="frame-%02d.jpg"
Howdy does not seem to work
Verify that Howdy is properly working by running howdy test
as root. If that seems to work, check any PAM configuration files and verify they are working. Some programs, such as SDDM [1], do not work properly with PAM, which may result in unexpected results.
Errors recognizing an input device
Some IR sensors (for example of the Thinkpad T480) need to have the frame width and height defined in the configuration file:
frame_width = 400 frame_height = 400
The width and height of your sensor output: v4l2-ctl --list-devices --all
.