A comprehensive bash-based CLI tool for managing Howdy face authentication on Linux systems.
This interactive bash script provides a user-friendly menu-driven interface to install, configure, and manage Howdy facial recognition for Linux authentication. It supports multiple distributions and handles all common Howdy operations through a simple terminal interface.
- Ubuntu/Linux Mint
- Ubuntu 22.04 and earlier: Official PPA (
ppa:boltgolt/howdy) - Ubuntu 24.04+: Unofficial PPA (
ppa:ubuntuhandbook1/howdy) with automatic dependency installation
- Ubuntu 22.04 and earlier: Official PPA (
- Fedora/RHEL family via COPR repository
- Debian with manual installation instructions
- Arch Linux with AUR installation guide
- Automatic OS detection and version-specific installation
- Add new face models with interactive camera capture
- List all registered face models
- Remove individual models by ID
- Clear all models at once
- Real-time camera testing
- Camera device selection with automatic device detection via
v4l2-ctl - Certainty threshold adjustment (security level)
- Timeout configuration
- Enable/Disable Howdy globally or for login screen only
- View current configuration
- Direct config file editing support
- Interactive face recognition testing
- Live camera feedback
- Verification of enrolled models
- Operating System: Linux (Ubuntu, Fedora, Debian, Arch, or derivatives)
- Root privileges: Script must be run with
sudo - Dependencies (auto-installed on Ubuntu/Debian):
v4l-utils- Camera device managementpython3-opencv- Computer vision librarypython3-numpy- Numerical processinglibpam-python- PAM integrationlibinireader0- Configuration file parsingsoftware-properties-common- PPA management
git clone <repository-url>
cd howdy-gui
chmod +x howdy-manager.shsudo ./howdy-manager.shThe script must be run with sudo as it requires root privileges for Howdy installation and configuration.
When you run the script, you'll see an interactive menu:
======================================
HOWDY FACE AUTH MANAGER (BASH)
======================================
1) Install Howdy
2) Configure camera
3) Add face model
4) Test face recognition
5) List face models
6) Remove / clear models
7) Enable / disable Howdy
8) Configure Howdy
0) Exit
-
Install Howdy (Option 1)
- The script will detect your distribution
- Automatically select the appropriate installation method
- Install all required dependencies
- For Ubuntu 24.04+, it will use the community PPA
-
Configure Camera (Option 2)
- View all available camera devices
- Select your IR camera (e.g.,
/dev/video0) - Camera path is saved to Howdy config
-
Add Face Model (Option 3)
- Look at the camera when prompted
- Your face will be captured and enrolled
- Model is saved for authentication
-
Test Recognition (Option 4)
- Verify that Howdy can recognize your face
- Get immediate feedback on recognition success
The Configure Howdy submenu (Option 8) provides:
- Set camera device - Change the camera used for recognition
- Enable Howdy - Activate face authentication
- Disable Howdy - Turn off face authentication completely
- Disable login screen only - Keep Howdy active but disable for login
- Set timeout - Configure how long to wait for face detection
- Set certainty - Adjust security level (higher = stricter, e.g., 4.5)
- Show current config - View the entire configuration file
- List models (Option 5): View all enrolled face models
- Remove models (Option 6):
- Enter a specific model ID to remove one model
- Enter
allto clear all models at once
Option 7 provides three choices:
- Disable completely - Turn off Howdy for all authentication
- Disable login screen only - Keep Howdy active for sudo/apps but not login
- Enable Howdy - Instructions to re-enable via config file
- Ubuntu 22.04 and earlier (Official PPA)
- Ubuntu 24.04, 24.10, 25.04+ (Unofficial PPA)
- Linux Mint
- Pop!_OS
- Elementary OS
- Zorin OS
- Fedora (via COPR:
principis/howdy) - RHEL
- CentOS
- Rocky Linux
- AlmaLinux
- Manual installation via
.debpackage from Howdy releases
- Arch Linux (via AUR:
yay -S howdyorparu -S howdy) - Manjaro
- EndeavourOS
- Garuda Linux
The script is organized into logical sections:
- Helpers: Error handling, root privilege checking, pause functionality
- OS Detection: Automatic distribution and version detection
- Installation: Distribution-specific Howdy installation logic
- Camera Configuration: Device detection and configuration
- Menu Actions: Face model management, testing, configuration
- Main Menu: Interactive menu loop
Howdy configuration is stored at /etc/howdy/config.ini. The script provides helper functions to safely modify configuration values without manual editing.
detect_os()- Identifies Linux distribution and versioninstall_howdy()- Handles distribution-specific installationconfigure_camera()- Sets up camera deviceadd_face()- Enrolls new face modeltest_face()- Tests face recognitionconfig_menu()- Interactive configuration interfaceset_config()- Safely updates config file values
# Ensure script is executable
chmod +x howdy-manager.sh
# Run with sudo
sudo ./howdy-manager.sh- Ubuntu 24.04+: The script uses an unofficial PPA. Review the warning and press Enter to continue.
- Debian: Download the
.debpackage manually from GitHub releases - Arch: Install via AUR using
yayorparu - Ensure you have an active internet connection
# List available cameras manually
v4l2-ctl --list-devices
# Check if your IR camera is recognized
ls -l /dev/video*- Ensure IR camera is properly connected
- Verify camera device path in config (Option 8 → 7)
- Add multiple face models for different lighting conditions
- Adjust certainty threshold (lower = stricter)
- Test in good lighting conditions
- Always run the script with
sudo - Ensure your user has sudo privileges
- Check that
/etc/howdy/config.iniis writable
# Verify config file exists
ls -l /etc/howdy/config.ini
# Check file permissions
sudo chmod 644 /etc/howdy/config.ini- Requires root privileges for all operations
- IR camera required for face authentication
- Ubuntu 24.04+ uses unofficial community PPA
- Some distributions require manual Howdy installation
- Configuration changes require script restart to take effect
- Certainty threshold: Lower values (e.g., 3.5-4.5) provide stricter authentication
- Multiple models: Register your face in different conditions (glasses, no glasses, different lighting)
- Timeout: Shorter timeouts reduce the window for unauthorized access attempts
- Disable for login: Consider disabling Howdy for login screen and using it only for sudo/apps
# Edit config file directly
sudo nano /etc/howdy/config.ini
# Or use Howdy's built-in editor
sudo howdy config# Add face model
sudo howdy add
# List models
sudo howdy list
# Remove specific model
sudo howdy remove <id>
# Clear all models
sudo howdy clear
# Test recognition
sudo howdy test
# Disable Howdy
sudo howdy disablehowdy-gui/
├── howdy-manager.sh # Main bash script (this tool)
└── README.md # This file
Contributions are welcome! Please ensure:
- Code follows bash best practices
- Error handling is comprehensive
- All distributions are properly supported
- Changes are tested on multiple distros
This project is provided as-is for managing Howdy face authentication.
- Howdy: boltgolt/howdy - The underlying face authentication system
- Ubuntu 24.04+ PPA: UbuntuHandbook - Community-maintained PPA
- v4l-utils: Video4Linux utilities for camera management
- Howdy GitHub Repository
- Howdy Documentation
- Ubuntu PPA (Official)
- Ubuntu PPA (Unofficial 24.04+)
- Fedora COPR
- AUR Package
- Interactive bash-based CLI tool
- Multi-distribution support with automatic detection
- Ubuntu 24.04+ support via unofficial PPA
- Comprehensive configuration management
- Face model management (add, list, remove, clear)
- Camera device configuration with auto-detection
- Enable/disable functionality
- Interactive testing interface