fprint (Español)

Esta traducción de
fprint
fue revisada el
2024-03-08
. Si existen
cambios
puede
actualizarla
o avisar al
equipo de traducción
.
Artículos relacionados
Fingerprint GUI (Español)
ThinkFinger (Español)
Desde
la página web de fprint
:
El proyecto fprint pretende llenar un vacío en el escritorio Linux: soporte para dispositivos lectores de huellas dactilares de uso doméstico.
La idea es utilizar el lector de huellas dactilares integrado en algunos portátiles para iniciar sesión utilizando
PAM
. Este artículo también explicará cómo usar una contraseña normal como método de respaldo para iniciar sesión (no se recomienda usar únicamente el lector de huellas dactilares debido a numerosas razones).
Prerrequisitos
Nota
La lista de dispositivos compatibles no se actualiza regularmente y no está completa. Merece la pena probar su dispositivo siguiendo las instrucciones de esta página aunque no aparezca en esa lista, antes de recurrir a los paquetes de
AUR
.
Puedes comprobar si tu dispositivo es compatible consultando la
lista de dispositivos compatibles
o la
lista de dispositivos no compatibles
. Para comprobar cuál tienes, escribe:
$ lsusb
La herramienta
lsusb
está disponible dentro del paquete
usbutils
.
Installation
Instale
el paquete
fprintd
.
imagemagick
también puede ser necesario.
Algunos dispositivos requieren un "fork" diferente de
libfprint
, los cuales no han sido combinados (¿todavía?) con el paquete principal
libfprint
:
libfprint-tod
— Para sensores táctiles.
https://gitlab.freedesktop.org/3v1n0/libfprint/-/tree/tod
||
libfprint-tod-git
AUR
libfprint-elanmoc2
— Para ELAN
04f3:0c4c
. Esperando
merge
.
https://gitlab.freedesktop.org/Depau/libfprint/-/tree/elanmoc2
||
libfprint-elanmoc2-git
AUR
libfprint-elanmoc2-newdrvs
—
Experimental
para
04f3:0c4c
o un
04f3:0c00
. Esperando
merge
.
https://gitlab.freedesktop.org/geodic/libfprint/-/tree/elanmoc2
[
enlace roto
2025-04-05]
||
libfprint-elanmoc2-newdrvs-git
AUR
Configuración
Configuración de inicio de sesión
Nota
Si usas
GDM
, la opción de huella digital ya está disponible en el menú de inicio de sesión (si no, añádase al
grupo de usuario
input
). ¡Puedes saltarte esta sección!
Si utiliza
SDDM
, consulte
SDDM#Using a fingerprint reader
.
Añade
pam_fprintd.so
como
sufficient
al principio de la sección auth de
/etc/pam.d/system-local-login
:
/etc/pam.d/system-local-login
auth      sufficient pam_fprintd.so
auth      include   system-login
...
Esto intentara utilizar el inicio de sesión mediante huella dactilar y, si falla o no encuentra ninguna firma de huella dactilar en el directorio personal del usuario, procede al inicio de sesión mediante contraseña.
También puede modificar otros archivos en
/etc/pam.d/{login,su,sudo,gdm,lightdm}
de la misma manera. Por ejemplo
/etc/pam.d/polkit-1
para la autenticación basada en
polkit
(GNOME y muchos otros entornos de escritorio) o
/etc/pam.d/kde
para desbloquear la pantalla de bloqueo de KDE.
Añadiendo
pam_fprintd.so
como
sufficient
a cualquier fichero de configuración en
/etc/pam.d/
cuando una firma de huella dactilar está presente sólo preguntará por la autenticación de huella dactilar. Esto evita el uso de una contraseña si no puedes utilizar
Ctrl+c
en el escaneo de la huella digital (debido a la falta de un shell). Para utilizar tanto una contraseña como una huella digital en una interfaz gráfica, añada la siguiente línea al principio de cualquier archivo necesario:
auth		sufficient  	pam_unix.so try_first_pass likeauth nullok
auth		sufficient  	pam_fprintd.so
...
Esto solicitará una contraseña; si se pulsa
Enter
en un campo en blanco, se procederá a la autenticación de la huella dactilar.
Si desea solicitar la huella dactilar y la contraseña al mismo tiempo, puede utilizar
pam-fprint-grosshack
AUR
. Esto puede ser necesario para algunos programas gráficos que no permiten la introducción de contraseñas en blanco, como el agente polkit integrado de Gnome. Para utilizar este paquete, añada las siguientes líneas al principio de cualquier archivo necesario:
auth		sufficient  	pam_fprintd_grosshack.so
auth		sufficient  	pam_unix.so try_first_pass nullok
...
Crear firma de huella digital
Necesitará tener un
agente de autenticación
en ejecución antes de poder enrolar.
Para añadir una firma para un dedo, ejecute:
$ fprintd-enroll
o crear una nueva firma para todos los dedos:
$ fprintd-delete "$USER"
$ for finger in {left,right}-{thumb,{index,middle,ring,little}-finger}; do fprintd-enroll -f "$finger" "$USER"; done
Se le pedirá que escanee el dedo indicado. Pase el dedo índice derecho
cinco veces
. Después de eso, la firma se crea dentro de
/var/lib/fprint/
.
También puede enrolar sin un agente de autenticación:
# fprintd-enroll
user
Para verificar la huella digital recién creada, utilice:
$ fprintd-verify
Para obtener más información, consulte
fprintd(1)
.
Restringir el enrolamiento
De forma predeterminada, todos los usuarios pueden registrar nuevas huellas dactilares sin que se les solicite la contraseña o la huella digital. Puede cambiar este comportamiento mediante reglas
polkit
.
Hay dos ubicaciones que contienen los archivos de configuración de polkit:
/etc/polkit-1/rules.d/
/usr/share/polkit-1/rules.d/
Nota
No deberías
modificar
los archivos bajo
/usr/share/polkit-1/rules.d/
porque serán sobreescritos en la actualización. Cópialos primero dentro de
/etc/polkit-1/rules.d/
.
En el siguiente ejemplo, sólo root puede registrar huellas digitales:
/etc/polkit-1/rules.d/50-net.reactivated.fprint.device.enroll.rules
polkit.addRule(function (action, subject) {
  if (action.id == "net.reactivated.fprint.device.enroll") {
    return subject.user == "root" ? polkit.Result.YES : polkit.Result.NO
  }
})
Solución de problemas
No devices available (No hay dispositivos disponibles)
Si su
dispositivo compatible
no se encuentra o se afirma que ya está abierto (en uso), compruebe los registros
fprintd.service
en el
journalctl
.
Puede encontrar entradas de registro como:
fprintd[2936592]: Corrupted message received
fprintd[2936592]: Ignoring device due to initialization error: unsupported firmware version
Asegúrate de que el firmware de tu dispositivo está actualizado con
Fwupd
.
gdm se bloquea al mostrar el prompt de login después de suspender
Este problema se describe en
en el repositorio de libfprint
. La respuesta de los desarrolladores es:
Mi conjetura ahora mismo es que estamos desconectando el dongle BT (Bluetooth) USB mientras se está inicializando. Entonces todo se atasca mientras btusb está tratando de cargar el firmware (esto tiene un tiempo de espera de 10s, explicando el bloqueo de poco menos de 10s que estamos viendo). Desconectar el dongle bluetooth de esta manera se espera que suceda cuando el interruptor rfkill se activa, por lo que es normal. Sólo parece que el caso en que el dispositivo se desconecta de repente no se maneja correctamente y los tiempos de espera.
Traducido del Ingles
La solución propuesta es
crear
:
/etc/modprobe.d/bluetooth-blacklist.conf
blacklist btusb
O ejecutar directamente:
# rmmod btusb
Entonces no debería intentar inicializar el dispositivo.
Error inesperado al suspender el dispositivo
Este problema está descrito
en el repositorio libfprint
:
Necesitas configurar tu laptop para que no suspenda a RAM sino que haga s2idle. Puede que necesites cambiar la BIOS a "modo Windows".
La autenticación por huella dactilar no está surtiendo efecto en el agente Polkit.
After adding fingerprint rules to Linux PAM, fingerprint recognition only works for
SDDM
and
sudo
, but not for
polkit
.
Copie el archivo
50-default.rules
en
/etc/
y cambie el nombre del grupo
wheel
por su grupo de usuario.
# cp /usr/share/polkit-1/rules.d/50-default.rules /etc/polkit-1/rules.d/
/etc/polkit-1/rules.d/50-default.rules
polkit.addAdminRule(function(action, subject) {
    return ["unix-group:wheel"];
});
Depuración
Utilice la siguiente variable de entorno y bandera de línea de comandos:
# G_MESSAGES_DEBUG=all /usr/lib/fprintd -t