Fingerprint GUI is an application providing fingerprint-based authentication on Linux desktops. Based on the libfprint library, it features a simple GUI for fingerprint management and a PAM module. Additionally, you may install the bundled non-free libbsapi library, in which case Fingerprint GUI will automatically support all fingerprint readers manufactured by UPEK, Inc.
The list of fingerprint readers supported by libfprint is available here.
If you install the libbsapi library, then all hardware by UPEK should be supported as well.
This project is built using the Qt 5 development framework. The required packages can be installed on any recent Debian-based Linux distributions with the command:
sudo apt install -y qtbase5-dev libqt5core5a qt5ct qt5-qmake qtchooser \
qttranslations5-l10n qtbase5-dev-tools qttools5-dev-tools libqt5x11extras5-dev \
qttools5-dev
In order to compile the software you will need cmake and the development packages for libfprint, libqca-qt5-2, libfakekey, libusb-1.0, libpolkit-qt5-1 and libpam.
If you are running a recent Debian-based distribution, use the following command:
sudo apt install -y cmake cmake-extras libfprint-dev libqca-qt5-2-dev \
libfakekey-dev libusb-1.0-0-dev libpolkit-qt5-1-dev libpam0g-dev
mkdir build && cd build
cmake ..
By default, everything gets installed under /usr/local/
. If you want to change
the prefix to /usr/
, you can alter the cmake invocation like this:
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
Additionally, libraries are installed into
$CMAKE_INSTALL_PREFIX/$CMAKE_INSTALL_LIBDIR
, helper executables go into
$CMAKE_INSTALL_PREFIX/$CMAKE_INSTALL_LIBEXECDIR
, and the PAM module is
installed into $CMAKE_INSTALL_LIBDIR/security
. The default value for both
$CMAKE_INSTALL_LIBDIR
and $CMAKE_INSTALL_LIBEXECDIR
is /lib
, which should
be suitable for most Linux distributions.
However, should you need to adjust the value of these two variables, you can set
them in the same way as $CMAKE_INSTALL_PREFIX
above. For instance, on recent
64-bit Fedora systems you would invoke cmake like this:
cmake -DCMAKE_INSTALL_LIBDIR=/lib64 -DCMAKE_INSTALL_LIBEXECDIR=/libexec ..
or with
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/lib64 \
-DCMAKE_INSTALL_LIBEXECDIR=/libexec ..
if you want to install into /usr
.
make -j$(nproc)
sudo make install
sudo make install-upek
Beginning with version 1.07 of Fingerprint GUI, the ownership and permissions of
users' fingerprint data in /var/lib/fingerprint-gui/
has been changed. To
apply the new ownership and permissions needed for version 1.07 and above to
fingerprint data from an older version, run:
sudo make user-data
Please note that every user that wants to use this library must be member of
group plugdev
. This group is created automatically. The following command will
add your current user account to the plugdev
group:
sudo usermod -a -G plugdev $(id -un)
See the following guides for instructions on how to modify your PAM stack to enable fingerprint-based authentication:
The lxdm developers should read the PAM documentation, specifically the "Linux PAM Application Developers Guide" located here. Because of the completely improper use of PAM authentication in lxdm it is not possible to use alternative authentication methods.
If you want to use fingerprint login for Lubuntu or other lxdm desktop environments you should install lightdm and lightdm-gtk-greeter and use those instead. That will work.
This software is released under GPL-3+. See LICENSE for the full text of the license.
Copyright © 2008-2016 Wolfgang Ullrich contact@ullrich-online.cc
Bugs can be sent directly to the author or posted in the forums.