Visto il parto che ha coinvolto me e un altro utente del forum sull'attivazione del lettore di impronte digitali UPEK dell'ACER AS6930G, ho deciso di postare questa guida su come ho fatto a risolvere il problema.
NB io ho fatto tutto su Ubuntu 9.04. Per le versioni precedenti
CREDO si possa applicare aggiungendo due sorgenti che vi indicherò in seguito.
Inoltre prima di attuare questo procedimento ho provato con la guida per il lettore Thomson che c'è nel Wiki e il risultato è che ho dovuto formattare poichè mi si bloccava la finestra di accesso sempre con la scritta "password errata" (soluzione drastica ma non sapevo cosa fare :p). Per cui se anche voi avete provato quella guida, NON CONTINUATE CON QUESTA, a meno che non ripristiniate tutto alla perfezione.
Per prima cosa verifichiamo che il vostro lettore sia quello in causa. Aprite il terminale e digitate
lsusb
Nella lista dovrebbe apparirvi una riga simile:
Bus 004 Device 002: ID 147e:1000
Se scrivete (dove 004 è il Bus e 002 è Device)
lsubs -v -s 004:002
dovreste avere, tra i tanti, questo risultato:
iManufacturer 1 TouchStrip
iProduct 2 Fingerprint Sensor
Bene se tutto vi risulta come sopra allora potete continuare.
Se avete una versione precedente alla 9.04, dovete aggiungere questi due sorgenti (Sistema/Amministrazione/Sorgenti Software/Software di terze parti), cambiando la versione (in questo caso intrepid):
deb http://ppa.launchpad.net/jon-oberheide/ubuntu intrepid main
deb-src http://ppa.launchpad.net/jon-oberheide/ubuntu intrepid main
Apriamo Synaptic e installiamo le due librerie:
libfakekey0 e
libfprint0.
Ora scarichiamo l'ultima versione del software
FingerprintGUI cliccando qui. Estraiamo l'archivio e apriamo il Terminale. Spostiamoci nella cartella dove l'abbiamo estratto.
Ora digitiamo il comando:
sudo ./install.sh --with-upek
Ora è stato installato software e drivers.
Apriamo il Terminale e digitiamo questo comando:
sudo gedit /etc/modules
e aggiungiamo la riga (se non c'è già):
uinput
Apriamo
Sistema/Amministrazione/Utenti e gruppi. Clicchiamo su
Sblocca e poi su
gestione gruppi. Aggiungiamo un gruppo chiamato
plugdev e assegniamogli tutti gli utenti, compreso root.
Ora scriviamo nel Terminale:
sudo nautilus
e ricordiamoci di non chiudere mai la finestra che si aprirà se no dovremo ridigitare il comando.
Creiamo una cartella
/var/upek_data e cambiamo i suoi permessi in modo che tutti abbiano permessi di lettura e scrittura in questo modo:
Ora spostiamoci in
/etc/ e creiamo un file chiamato
upek.cfg e inseriamoci questa stringa:
nvmprefix="/var/upek_data/.NVM"
Salviamo e chiudiamo.
Ora apriamo un altro Terminale e usate questo comando per cambiare i permessi alle periferiche USB:
chmod -R 666 /dev/bus/usb
Chiudiamo questo Terminale.
Ora creiamo questo file:
/etc/udev/rules/50-libfprint.rules e copiamoci dentro questa stringa:
ATTRS{idVendor}=="147e", ATTRS{idProduct}=="1000", MODE="0664", GROUP="plugdev"
A questo punto andiamo in
Sistema/Preferenze/Fingerprint GUI e inseriamo le nostre impronte in questo modo:
1 - selezioniamo "
Upek (0x147e) unknown device (0x1000)" e premiamo
Next;
2 - scegliamo un dito e premiamo
Next;
3 - passiamo la nostra impronta 3 volte e premiamo
Next;
4 - clicchiamo su
Finish.
Ricordiamoci di lasciare vuoto un dito per root.
Ora apriamo il Terminale e scriviamo
sudo fingerprintGUI
e ripetiamo la procedura per il dito lasciato libero prima.
Ora torniamo alla nostra finestra aperta con sudo nautilus.
Andiamo in
/etc/pam.d e creiamo una copia del file
common-auth rinominando uno dei due file
common-auth.fingerprint.
Apriamo
common-auth.fingerprint e cerchiamo la riga:
auth [success=1 default=ignore] pam_unix.so nullok_secure
e sostituiamola con:
auth sufficient libpam_fingerprint.so debug
auth [success=1 default=ignore] pam_unix.so try_first_pass nullok_secure
Salviamo e chiudiamo.
Ora apriamo il Terminale e scriviamo:
sudo gdmsetup
andiamo in sicurezza e disabilitiamo
Abilita accesso automatico e
Abilita accesso temporizzato.Chiudiamo finestra e Terminale.
Ora modificheremo i file per modificare la procedura di login per tutti i componenti di Ubuntu. Vi raccomando di provare almeno una delle cose prima di modificare quella di login, altrimenti rischiate di non riuscire più accedere al sistema. Inoltre dovete settare una password a root (con il comando sudo passwd root).
Modificare la sicurezza di "su":Apriamo il file /etc/pam.d/su e cerchiamo la riga:
@include common-auth
e modifichiamola con:
@include common-auth.fingerprint
Salviamo e chiudiamo. Se vogliamo provare la procedura, riavviamo il PC, apriamo il terminale e digitiamo
su. Alla richiesta di password dovrebbe apparire la schermata dell'impronta (a me questo non funziona però non compromette nulla).
Modificare la sicurezza di "sudo":Apriamo il file /etc/pam.d/sudo e cerchiamo la riga:
@include common-auth
e modifichiamola con:
@include common-auth.fingerprint
Salviamo e chiudiamo. Se vogliamo provare la procedura, riavviamo il PC, apriamo il terminale e digitiamo
sudo gnome-terminal. Se tutto è ok dovrebbe apparire la finestra dell'impronta (a me funziona).
Modificare la sicurezza di "login":Apriamo il file /etc/pam.d/login e cerchiamo la riga:
@include common-auth
e modifichiamola con:
@include common-auth.fingerprint
Salviamo e chiudiamo. Per provare basta semplicemente riavviare e alla finestra di accesso dovrebbe apparire l'impronta.
Modifichiamo la sicurezza si "gdm":Apriamo il file /etc/pam.d/gdm e cerchiamo la riga:
@include common-auth
e modifichiamola con:
@include common-auth.fingerprint
Eliminiamo la riga
auth requisite pam_nologin.so
Ecco fatto. In teoria è possibile abilitare anche la sicurezza per lo Screensaver ma non sono riuscito a tradurre ed aplicare del tutto questo paragrafo:
Gnome-screensaver needs a plugin to display the fingerprint GUI widget to the user while
unlocking. To start this plugin with the gnome-screensaver-dialog open the gconf-editor, find the
“apps | gnome-screensaver” entry and enable the “embedded_keyboard_enabled” item. Then
invoke the string “/usr/local/bin/fingerprintPlugin -d” as the “/apps/gnome-
screensaver/embedded_keyboard_command” and close gconf-editor. This step needs to be taken
by every user who wants to unlock his/her gnome-screensaver by fingerprint on that machine!
Non capisco cosa intenda per "invoke the string"... Se qualcuno collabora completiamo la guida.
E questo è tutto. Spero sia tutto ok, ma sarei grato a qualche Guru del forum di controllare. A me funziona tutto alla perfezione e ogni volta che mi viene chiesta la password appare la finestrina per l'impronta, passo l'impronta e il PC mi riconosce subito, per cui è inutile dire che non mi assumo nessuna responsabilità di eventuali casini. Io suggerirei di inserire la guida nel wiki.