(Last Updated On: July 29, 2018)

The aim of this short tutorial is to help you setup and Configure built-in Fingerprint Reader Login authentication on a Linux System. I tested this on My Arch Linux 64-bit Version running on HP Envy 15.
Previously I talked about

Easiest way to Install Nvidia 3D Graphics acceleration driver on Arch Linux

There are few packages that you’ll need to install from source to get Fingerprint reader to work. I cannot guarantee that this will work on your machine since I used it on HP only; just try it out.
This article will also explain how to use regular password for backup login method, we wouldn’t use Fingerprint scanner as main way of logging in.

Prerequisite

  1. You must have gcc installed
  2. git
  3. Fingerprint scanner

Installations

> Install all of the following Packages.
If you’re running Arch Linux, you can install fprintd and imagemagick

$ sudo pacman -S fprintd imagemagick

Install Libfprint
It is an open source software library designed to make it easy for application developers to add support for consumer fingerprint readers to their software.

git clone https://github.com/payden/libfprint.git
./autogen.sh 
./configure --prefix=/usr
make
sudo make install

Install  fprint_demo
It is a simple GTK+ application to demonstrate and test libfprint’s capabilities. It is written in C.It provides access to many of the features offered by the backing library, libfprint.

git clone git://github.com/dsd/fprint_demo.git
cd fprint_demo/
./autogen.sh 
./configure --prefix=/usr
make
sudo make install

Install pam_fprint
It is a simple PAM module which uses libfprint’s fingerprint processing and verification functionality for authentication.

git clone git://github.com/dsd/pam_fprint.git 
cd pam_fprint/
./autogen.sh 
./configure --prefix=/usr
make
sudo make install

After successfull installation, generate Fingerprint signature, To add a signature for a finger, just run:

$ fprintd-enroll

You will be asked to scan the given finger. After that, the signature is created in /var/lib/fprint/.
You can use GUI by running

$ fprint_demo

You may also use

pam_fprint_enroll

Since i used fprintd, i will add its module to PAM authentication conf file,

nano /etc/pam.d/system-local-login

The add pam_fprintd.so as sufficient to the top of the auth section

auth sufficient pam_fprintd.so

Save changes and exit. See screenshot below.

Restart your computer and see if you’ll be prompted to scan your finger to unlock Login.