Want to enable Windows Hello style facial authentication on Linux computer? Thanks to open-source world, it’s easy to do this via Howdy.
Howdy is a free and open-source software that implements the facial recognition system with Python and OpenCV. And it’s available for Ubuntu, Linux Mint, Fedora, Debian, Arch Linux, openSUSE and their based systems.
How it Works
Howdy uses your computer’s built-in IR emitters and camera with facial recognition to prove who you are.
With it, you do not need to type user password anymore. It will scan you face via the Webcam, and compare it with the ID you created when you trying to:
- Log in to Linux Desktop.
- Run sudo command.
- Launch app needs root permission.
- And all things need password authentication.
Then it either logs you in or lets command/app run if succeed, or refuses silently.
Howdy can work in three mode: Fast, Balanced, and Secure. While installing the app, you’ll be able to choose between them.
- Fast – speeds up the scanning process greatly, but it allows more fuzzy matches.
- Balanced – relatively quick detection, but might not log you in when further away.
- Secure – is the safest option, thought it will take much longer to recognize your face.
Step 1: How to install Howdy in Linux
It’s easy to install the software since it’s packaged for the most popular Linux Distributions.
Firstly, search for and open
terminal from your system app launcher. Then do one of the steps below.
It’s highly recommended to install
v4l-utils first, or it may not correctly detect your webcam device (see the Warning in next picture). And you can do it via commands:
- For Ubuntu, Debian, Linux Mint, run command:
sudo apt install v4l-utils
- And Fedora, use command:
sudo dnf install v4l-utils
- For Arch Linux / Manjara based systems, run:
sudo pacman -S v4l-utils
- OpenSUSE can install it via:
sudo zypper install v4l-utils
Then install Howdy for your Linux. NOTE that while the installing process, it will ask you to choose between Fast, Balanced, and Secure mode. And it automatically downloads & builds required Python modules for face authentication to work. Depends on your CPU and internet connection, it may take quite a few minutes.
1. Install Howdy in Ubuntu / Linux Mint.
For Ubuntu and Linux Mint users, there’s an Ubuntu PPA that supports for all current Ubuntu releases, including Ubuntu 18.04, Ubuntu 20.04, Ubuntu 21.04. And it even supports for the old Ubuntu 16.04 and Ubuntu 14.04.
Just copy and paste the command below in to terminal and hit Enter to add the PPA:
sudo add-apt-repository ppa:boltgolt/howdy
And then check updates and install the software via commands:
sudo apt update
sudo apt install howdy
2. Install Howdy in Debian.
For Debian users, the project offers official .deb package available to download at the link below:
You can then install it either via Gdebi package installer, or run command in terminal:
sudo apt install ~/Downloads/howdy*.deb
3. Install Howdy in Fedora
The Fedora COPR repository contains the howdy package for recent Fedora desktop editions. You can run the commands below one by one to add the repository and install it:
sudo dnf copr enable luya/howdy
sudo dnf install howdy
4. Install Howdy in Arch Linux, Manjaro, openSUSE.
Step 2: Manually set the webcam path.
Your webcam device may not be correctly detected if v4l-utils is not installed. Go next step and it will prompt you an error. So here’s how to manually find out the device path and set it in config file.
1. Firstly, install
v4l-utils as the previous step shows you. Then run command in terminal to list the devices:
sudo v4l2-ctl --list-devices
It outputs all the devices: /dev/video0, /dev/video1, /dev/video2, etc. Usually the first one is your webcam device name, verify it by running command
ffplay /dev/video0. The webcam should start working and show you in pop-up window.
2. Next, run command to tell the PATH that links to the webcam device:
ls -l /dev/v4l/by-path/
As the picture shows, my webcam is
/dev/video0 and the PATH that Howdy needs is “/dev/v4l/by-path/pci-0000…-index0“.
Now config howdy by running command in terminal:
sudo howdy config
howdy: command not found" issue in Ubuntu, it's a bug in the PPA package, run command should fix it:
sudo ln -s /lib/security/howdy/cli.py /usr/local/bin/howdy
Next paste the PATH as value of “
device_path“. Finally, press Ctrl+X, type y, and hit Enter to save change.
Step 3: Create Face ID and Enable facial authentication
When everything’s done successfully, you can finally run command to create your face model:
sudo howdy add
Type a name for your ID, and look straight into the camera. When scan complete, it outputs that added model to your user.
Once a face model created, face recognition should start working. Try opening an app that need password authentication and see the magic!
There are more commands you can do with Howdy, including:
- Enable (set 0) or Disable (set 1) face recognition:
sudo howdy disable 1
- List all face models:
sudo howdy list
- Remove a face model via ID (e.g., 0, 1):
sudo howdy remove 0
- Remove all face models via clear:
sudo howdy clear
As the project describes, Howdy is in no way as secure as a password and will never be. A person who looks similar to you or well-printed photo of you could get pass. It can be a quick and convenient way for authentication, but no a more secure one.