Howdy - ArchWiki

# Howdy

From ArchWiki
Jump to navigation Jump to search

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.

## Installation

Install the howdyAUR package.

## 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`.

Note: gedit must be installed for `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`.

Category:

- Authentication