Getting your fingerprint reader to work in Ubuntu
Project fprint homepage: http://reactivated.net/fprint/wiki/Main_Page
Packages for fprint: http://www.madman2k.net/comments/105
Note: These instructions are intended for Ubuntu Jaunty.
The fprint project aims to plug a gap in the Linux desktop: support for consumer fingerprint reader devices.
Previously, Linux support for such devices has been scattered amongst different projects (many incomplete) and inconsistent in that application developers would have to implement support for each type of fingerprint reader separately. For more information on where we came from, see the project history page.
We're trying to change that by providing a central system to support all the fingerprint readers we can get our hands on. The software is open source and in the long term we're shooting for adoption by distributions, integration into common desktop environments, etc.
First off, remember that fprint is not entirely stable, and may not work all the time. A list of supported devices is here, and the list of unsupported devices is here.
1. Next, update your sources and install fprint:
2. Now you can enroll your fingers using either the terminal or a graphical user interface.
sudo apt-get update
sudo apt-get install fprint-demo libfprint-dev libfprint0 libpam-fprint aes2501-wy
3. Last thing to do is configure PAM so that the fingerprint reader can be useful. Open up your PAM authentication file and edit it:
4. If you want the fingerprint to be sufficient, add this at the top of the commands (do it multiple times for however many attempts you want to allow):
sudo gedit /etc/pam.d/common-auth
Use this if you want to require the fingerprint and the password.
auth sufficient pam_fprint.so
5. For programs using gksudo/gksu, you should get the wrapper attached to this post and to add fingerprint support and enter the following code:
auth required pam_fprint.so
sudo mv ./gksu.py /usr/local/bin/gksu
sudo chmod 755 /usr/local/bin/gksu
sudo apt-get install python-gnome2-extras python-pexpect
7. Enjoy your fingerprint reader support!
Steps 4 and 5 tell Ubuntu to check your fingerprint, and if that fails, then ask your password. This rule has some exceptions, one that I have encountered is on the login screen. I have to scan my fingerprint before typing my password. One thing I did notice is that when you use sudo in the terminal, it asks for your fingerprint, which I thought was pretty cool. One disadvantage is that anything using gksu does not seem to work properly, specifically because it does not tell you to scan your finger when needed.
The one problem I ran into when using fprint was that I could not run fprint_demo without sudo. It failed with the error message below:
I decided to post my problem here on the forums.
uru4000:error [dev_init] interface claim failed
fp:error [fp_dev_open] device initialisation failed, driver=uru4000
Here is the solution. You have to add yourself to the plugdev group and then change the permissions of the usb folder to allow access to the plugdev group. You can verify you are in the plugdev group by using groups:
Then try running fprint_demo, and hopefully it will work:
sudo usermod -a -G plugdev $USER
groups | grep plugdev # Make sure there is output from this
sudo chgrp -R plugdev /dev/bus/usb/