Install Howdy in Ubuntu 24.04 for Windows Hello Style Facial Authentication

Last updated: October 29, 2024 — 5 Comments

This tutorial shows how to install and setup howdy to get Windows Hello™ style authentication in Ubuntu 24.04 and Ubuntu 24.10.

Howdy is a free open-source Python program, that can use your built-in IR emitters and camera in combination with facial recognition to prove who you are.

With it, you will no longer need to type password anymore for login, un-lock screen, sudo commands, or launching apps that need root permission (e.g., Grub Customizer and Synaptic).

NOTE: Howdy is NOT as secure as a password and will never be! It’s just a quick and convenient way of logging in, not a more secure one.

Step 1: Install Howdy

The software has official PPA that contains the .deb packages for all current Ubuntu releases.

The official PPA package  however does NOT work for Ubuntu 24.04, due to outdated post-install script. It will try the old pip install method to get numpy and dlib modules, which no long works due to upstream Python policy change.

Thankfully, Slimbook, a Spanish laptop manufacturer, rebuilt the package along with dlib module into this PPA for Ubuntu 24.04. As the PPA contains lots of other slimbook specific packages, I rebuilt them into this unofficial PPA with Ubuntu 24.04 and Ubuntu 24.10 support.

1. Add PPA

For Ubuntu 22.04 and earlier, open terminal (Ctrl+Alt+T) and run command to add the official PPA:

sudo add-apt-repository ppa:boltgolt/howdy

For Ubuntu 24.04 and 24.10, add the unofficial PPA instead:

sudo add-apt-repository ppa:ubuntuhandbook1/howdy

2. Install Howdy package

Ubuntu now automatically refresh package cache while adding PPA, but if you’re following this tutorial in Linux Mint 22, then you need to run command to do the update manually:

sudo apt update

Next, run command to install the howdy package:

sudo apt install howdy

The official PPA package will automatically run post-install script, that will ask you to select between “Fast”, “Balanced”, and “Secure” modes, then update pip, numpy, dlib modules automatically.

For Ubuntu 24.04 and 24.10, you need to manually install the modules by running the commands below:

sudo apt install python3-numpy python3-opencv python3-dlib libpam-python dlib-models

Step 2: Configure Howdy

After installed howdy, you need to edit the config file and tell path to your webcam device.

1. To find out the device path, open terminal (Ctrl+Alt+T) and run command:

v4l2-ctl --list-devices

Run sudo apt install v4l-utils if the command above not found. And, run sudo apt install ffmpeg if ffplay command below not found.

Then, try ffplay command (e.g., ffplay /dev/video0, ffplay /dev/video1) to open each device one by one. If it successfully opens an app window with your camera screen, then that’s the device path for next step.

2. Next, edit the config file by running the command below in terminal:

sudo howdy config

When file opens, scroll down and set “device_path” value according to last step. For laptops’ builtin webcam, it’s usually /dev/video0.

Optionally, you may configure more options via the file. They include:

  • detection_notice = true – print text to notify when it attempts face detection.
  • disable-login = true – does not use facial authentication for login.
  • use_cnn = true – use the more accurate CNN model, but takes more time (a few seconds) and more power to run.
  • and more.

After editing the config file, press Ctrl+S to save, then Ctrl+X to exit.

Step 3: Add your Face ID

To add face ID for current user, use command:

sudo howdy add

Then type a name for the ID you’re going to add. Next, your webcam light should turn on and scan your face. Just look straight into the camera, and wait the scan process done.

As the screenshot above shows, you can add face ID for another user, by adding --user USER_NAME command option. So, the command will be sudo howdy --user USER_NAME add.

After added a face ID, you can now try running any sudo command in another terminal window to see if it works.

Step 4: Manage face IDs

You can run sudo howdy add command again and again to add more IDs/models.

To list all the face IDs/Models, use command:

sudo howdy list

Then, you may either remove certain ID through its ID number (e.g., 0, 1, 2, …):

sudo howdy remove 1

Or, remove all IDs at once via command:

sudo howdy clear

And, to disable facial authentication, use command:

sudo howdy disable 1

While replace number 1 in the command with 0 will re-enable it.

Uninstall Howdy:

If you want to remove the Howdy facial authentication tool, open terminal and run command:

sudo apt remove --autoremove howdy python3-dlib

Also remove the PPA with either command below depends on which one you added:

sudo add-apt-repository --remove ppa:boltgolt/howdy
sudo add-apt-repository --remove ppa:ubuntuhandbook1/howdy

Linux Mint users don’t forget to run sudo apt update to manually refresh cache afterward.

Twitter

I'm a freelance blogger who started using Ubuntu in 2007 and wishes to share my experiences and some useful tips with Ubuntu beginners and lovers. Please comment to let me know if the tutorial is outdated! And, notify me if you find any typo/grammar/language mistakes. English is not my native language. Contact me via [email protected] Buy me a coffee: https://ko-fi.com/ubuntuhandbook1 |

5 responses to Install Howdy in Ubuntu 24.04 for Windows Hello Style Facial Authentication

  1. Unfortunately it doesnt work @ U 24.10 from your repo.

    PAM unable to dlopen(/usr/lib/security/howdy/pam_howdy.so): libINIReader.so.0

  2. Nice to see this back! For me though:
    – it installed fine
    – I configured the video device as /dev/video0
    – ran sudo howdy test and it worked
    – added a capture and it shows in list
    – ran sudo pam-auth-update and saw Howdy was selected, followed by fingerprint reader and password
    – rebooted but was NOT greeted by Howdy but by the fingerprint reader prompt
    – at command prompt sudo date again asked me to scan fingerprint.
    Any ideas what could be wrong?

Leave a Reply

Text formatting is available via select HTML.

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

*