Cómo configurar el reconocimiento facial para iniciar sesión en Ubuntu y otras distribuciones de Linux

A pesar de toda la preocupación, el reconocimiento facial se está volviendo popular entre los consumidores. Los dispositivos Android e iOS más recientes tienen la función de desbloquear el dispositivo con autenticación facial.

Una vez que se acostumbre al desbloqueo facial o al desbloqueo de huellas dactilares, escribir la contraseña se siente como una tarea tediosa y aburrida.

En el sistema operativo Windows, Microsoft proporciona la Windows Hello que permite la autenticación instantánea basada en su rostro.

En Linux, el desbloqueo facial no es una función incorporada. Ninguna distribución de Linux, hasta donde yo sé, ofrece una función de desbloqueo facial lista para usar.

Pero como dice el refrán, hay un caparazón, hay un camino. En Linux, a menudo encontrará cosas y herramientas alternativas que puede configurar para una determinada tarea. ¿Recuerda el tutorial que escribí para compartir mouse y teclado entre dispositivos Linux y Raspberry Pi?

En este tutorial, le mostraré cómo configurar el desbloqueo facial en Ubuntu. También puede usar el tutorial para otras distribuciones de Linux.

Debe sentirse cómodo con la terminal y los comandos de Linux porque utilizará la herramienta de línea de comandos de Linux.

Howdy: Un sistema de autenticación de reconocimiento facial con estilo Windows Hello para Linux

Hola es un software de código abierto que le brinda la posibilidad de iniciar sesión en su sistema Linux con reconocimiento facial. Considérelo una alternativa de código abierto a Windows Hello para Linux. Aquí, sus datos se almacenan localmente en su computadora.

Howdy utiliza la combinación de emisores de infrarrojos y cámara web incorporados para reconocer su rostro. Está construido usando OpenCV y Python.

Howdy usa el sistema de autenticación PAM, lo que significa que no solo puede iniciar sesión en su sistema con su cara, sino que también puede usarlo para sudo, su y en la mayoría de situaciones en las que necesita utilizar la contraseña de su cuenta. Sin embargo, en mis pruebas, no pudo desbloquear el llavero en Ubuntu.

En este tutorial, le mostraré cómo instalar Howdy y cómo configurarlo para el reconocimiento facial. El proceso no es demasiado complicado, pero no debería sentirse demasiado incómodo al usar el terminal aquí.

Instalación de Howdy en Ubuntu y otras distribuciones de Linux

El desarrollador de Howdy proporciona un útil PPA eso hace que la instalación de Howdy sea más fácil de instalar en distribuciones basadas en Ubuntu.

Abra una terminal y use los siguientes comandos en Ubuntu:

sudo add-apt-repository ppa:boltgolt/howdy
sudo apt update
sudo apt install howdy

Howdy es un gran software e instala una gran cantidad de bibliotecas de software. Para mí, mostró alrededor de 140 MB de tamaño de descarga y 600 MB de tamaño de disco después de la instalación.

Durante la instalación, le pide que elija entre el tipo de autenticación Rápido, Equilibrado y Seguro. Elegí Balanced en este paso porque no quiero esperar demasiado pero tampoco quiero que sea menos seguro.

Durante la instalación, se queja de agregar / usr / local / bin en el PATH pero para mí ya estaba allí. Puede verificarlo para su sistema.

Instalación de Howdy en otras distribuciones de Linux

Para Debian, puede descargar el archivo DEB. Los usuarios de Arch / Manjaro pueden instalarlo desde AUR.

Fedora los usuarios tienen la opción de utilizar el repositorio COPR:

sudo dnf copr enable luya/howdy
sudo dnf install howdy

Los usuarios de openSUSE pueden encontrar las instrucciones de instalación. aquí.

Como último recurso, puede obtener el código fuente en su repositorio de GitHub.

Como estoy usando Ubuntu 20.04 en este tutorial, algunos pasos pueden usar el comando apt, pero creo que puede usar el administrador de paquetes de su distribución en esos pasos.

Configurar el desbloqueo facial en Ubuntu y otros Linux con Howdy

Veamos cómo configurarlo para el reconocimiento facial.

Cambiar archivo de configuración

Antes de usar Howdy, debe cambiar el archivo de configuración para especificar su dispositivo de cámara web.

En la mayoría de los sistemas Linux, / dev / video0 debería ser el dispositivo para la cámara web, pero debería asegurarse de hacerlo utilizando el comando v4l2-ctl.

Instale v4l-utils primero:

sudo apt install v4l-utils

Ahora use el comando v4l2-ctl para listar sus dispositivos

[email protected]:~$ v4l2-ctl --list-devices
Integrated_Webcam_HD: Integrate (usb-0000:00:14.0-5):
/dev/video0
/dev/video1

¿Por qué dos (o más) dispositivos de video? Deberá verificar las capacidades del dispositivo. El dispositivo debe tener capacidad de captura de video, no solo captura de metadatos.

Puede verificarlo con un comando como v4l2-ctl –device = / dev / video0 –all y luego buscar en la sección de capacidades. La mayoría de las veces, debería ser el primer dispositivo, es decir, / dev / video0.

Ahora, debe establecer la ruta del dispositivo en la configuración Howdy. Puede hacerlo abriendo manualmente el /lib/security/howdy/config.ini archivo para editar o use el comando a continuación para abrir el archivo de configuración y editarlo en su editor de texto predeterminado basado en terminal:

sudo howdy config

Busque la línea que comienza con device_path. Cambie su valor a / dev / video0 o cualquiera que sea la ruta para su dispositivo de cámara web.

Save y salga del archivo. Estás listo para partir ahora.

Agregue su rostro para el reconocimiento facial

Howdy es una herramienta de línea de comandos. Tienes que hacer todo en la terminal.

Ahora que tiene configurada la ruta correcta del dispositivo, es hora de agregar algún rostro en su base de datos para el reconocimiento.

Utilice el siguiente comando para asociar una cara al usuario actualmente conectado, es decir, usted.

sudo howdy add

No muestra cómo se ve su rostro al abrir una cámara, por lo que debe mirar a la cámara web para capturar su rostro correctamente.

Le pedirá que agregue un identificador a la cara. Puedes nombrarlo como quieras. Usé términos como gafas, con auriculares, etc.

Sugiero agregar algunas variantes más de su cara, especialmente si usa anteojos. Solo ejecuta el sudo hola agregue comando cada vez que desee agregar una cara.

Howdy está listo para usar tan pronto como agregue una cara. Para probarlo, abra una nueva terminal y ejecute un comando con sudo. Notarás que tu cámara web parpadea e intenta detectar un rostro. Si no se reconoce la cara, mostrará un mensaje de error y le pedirá que use su contraseña.

Para agregar una cara para algún otro usuario, también debe proporcionar el nombre de usuario:

sudo howdy -U username add

No necesita preocuparse por iniciar Howdy después de reiniciar. Howdy se inicia automáticamente en cada arranque.

Enumere todos los modelos faciales conocidos de un usuario

Puede ver qué modelos de rostro están asociados a un usuario con el list opción. Si no especifica el nombre de usuario, muestra la salida para el usuario actual.

sudo howdy list

Borrar algunos o todos los modelos faciales

Cuando enumera todos los modelos de rostro de un usuario, puede utilizar la opción de eliminar para eliminar un determinado modelo de rostro. Deberá proporcionar la identificación del modelo de rostro, no la etiqueta.

sudo howdy remove face_ID

Puede eliminar todos los modelos de caras con el siguiente comando:

sudo howdy clear

Deshabilitar y volver a habilitar Howdy

Puede deshabilitar temporalmente Howdy usando este comando:

sudo howdy disable 1

Puede volver a habilitarlo usando la misma opción de inhabilitación pero con 0 como argumento:

sudo howdy disable 0

Eliminando Howdy de tu sistema

Puede usar el administrador de paquetes de su distribución para eliminar Howdy.

En Ubuntu, use el siguiente comando:

sudo apt remove howdy

También debe eliminar el PPA:

sudo add-apt-repository -r ppa:boltgolt/howdy

Para otras distribuciones, utilice el método de desinstalación que corresponda al método de instalación que utilizó.

Conclusión

Es divertido configurar el desbloqueo facial en Linux. Creo que esto podría proporcionar la base para algunos buenos proyectos de Raspberry Pi. Es un divertido ejercicio de fin de semana hacer algo como esto.

Sin embargo, no recomendaré configurarlo en infraestructura o servidores críticos. El reconocimiento facial no es muy seguro..

Usar el desbloqueo facial en su sistema Linux personal es una cosa, pero no lo use en servidores o máquinas de trabajo.

Espero que les haya gustado este tutorial de bricolaje (si se me permite llamarlo). Avíseme si le gustaría ver más tutoriales de este tipo sobre It’s FOSS en el futuro.