Como configurar o reconhecimento facial para fazer login no Ubuntu e em outras distribuições Linux

Apesar de toda a preocupação, o reconhecimento facial está se tornando popular entre os consumidores. Os dispositivos Android e iOS mais recentes possuem o recurso de desbloquear o dispositivo com autenticação facial.

Como configurar o reconhecimento facial para fazer login no Ubuntu e em outras distribuições Linux

Apesar de toda a preocupação, o reconhecimento facial está se tornando popular entre os consumidores. Os dispositivos Android e iOS mais recentes possuem o recurso de desbloquear o dispositivo com autenticação facial.

Depois de se acostumar com o desbloqueio facial ou com impressão digital, digitar a senha parece uma tarefa tediosa e enfadonha.

No sistema operacional Windows, a Microsoft fornece o Windows Hello que permite autenticação instantânea com base em seu rosto.

No Linux, o desbloqueio facial não é um recurso de fábrica. Nenhuma distribuição Linux, até onde eu sei, fornece o recurso de desbloqueio facial pronto para uso.

Mas, como diz o ditado, para tudo existe uma solução. No Linux, você geralmente encontrará coisas e ferramentas alternativas que pode configurar para uma determinada tarefa. Lembra do tutorial que escrevi para compartilhamento de mouse e teclado entre dispositivos Linux e Raspberry Pi?

Neste tutorial, vou mostrar como configurar o desbloqueio facial no Ubuntu. Você também pode usar o tutorial para outras distribuições Linux.

Você precisa estar familiarizado com o terminal e os comandos do Linux, pois usará a ferramenta de linha de comando do Linux.

Howdy: um sistema de autenticação de reconhecimento facial no estilo Windows Hello para Linux

Desbloqueio facial no Linux

Howdy é um software de código aberto que permite que você faça login no seu Sistema Linux com reconhecimento facial. Considere-o uma alternativa de código aberto do Windows Hello para Linux. Aqui, seus dados são armazenados localmente em seu computador.

O Howdy usa os emissores de infravermelho integrados e a combinação de webcam para reconhecer seu rosto. Ele é construído usando OpenCV e Python.

O Howdy usa o sistema de autenticação PAM, o que significa que você não só pode acessar seu sistema com o seu rosto, mas também pode usá-lo para sudo, su e na maioria das outras situações em que você precisa usar a senha da sua conta. No entanto, em meus testes, ele não conseguiu desbloquear o chaveiro no Ubuntu.

Neste tutorial, mostrarei como instalar o Howdy e como configurá-lo para reconhecimento facial. O processo não é muito complicado, mas você não pode ter medo de usar o terminal aqui.

Instalando Howdy no Ubuntu e outras distribuições Linux

O desenvolvedor do Howdy fornece um PPA útil que torna a instalação do Howdy mais fácil de instalar em distribuições baseadas no Ubuntu.

Abra um terminal e use os seguintes comandos no Ubuntu:

Comandos para usar no terminal

sudo add-apt-repository ppa: boltgolt/howdy

sudo apt update

sudo apt install howdy

Howdy é um grande software e instala um grande número de bibliotecas de software. Para mim, ele mostrou cerca de 140 MB de tamanho de download e 600 MB de requisito de tamanho de disco após a instalação.

Durante a instalação, ele pede que você escolha o tipo de autenticação: Rápida, Equilibrada e Segura. Escolhi Equilibrado nesta etapa porque não quero esperar muito, mas também não quero que seja menos seguro.

Selecione o nível de desbloqueio facial Ubuntu

Durante a instalação, ele reclama sobre a adição de /usr/local/bin no PATH, mas para mim ele já estava lá. Você pode verificar isso para o seu sistema.

Instalando o Howdy em outras distribuições Linux

Para o Debian, você pode baixar o arquivo DEB. Os usuários do Arch/Manjaro podem instalá-lo em AUR.

Os usuários do Fedora têm a opção de usar o repositório COPR:

Comandos para usar no terminal

sudo dnf copr enable luya/howdy

sudo dnf install howdy

Usuários do openSUSE podem encontrar as instruções de instalação aqui.

Como último recurso, você pode obter o código-fonte em seu repositório GitHub.

Como estou usando o Ubuntu 20.04 neste tutorial, algumas etapas podem usar o comando apt, mas acredito que você pode usar o gerenciador de pacotes da sua distribuição nessas etapas.

Configurando o desbloqueio facial no Ubuntu e outro Linux com Howdy

Vamos ver como configurá-lo para reconhecimento facial.

Alterar arquivo de configuração

Antes de usar o Howdy, você deve alterar o arquivo de configuração para especificar seu dispositivo de webcam.

Na maioria dos sistemas Linux, /dev/video0 deve ser o dispositivo para webcam, mas você deve ter certeza disso usando o comando v4l2-ctl.

Instale primeiro v4l-utils:

Comandos para usar no terminal

sudo apt install v4l-utils

Agora use o comando v4l2-ctl para listar seus dispositivos

v4l2-ctl --list-devices

Integrated_Webcam_HD: Integrate (usb-0000:00:14.0-5):

    /dev/video0

    /dev/video1

Por que dois (ou mais) dispositivos de vídeo? Você terá que verificar os recursos do dispositivo. O dispositivo deve ter capacidade de Captura de Vídeo, não apenas Captura de Metadados.

Você pode verificá-lo com um comando como v4l2-ctl –device =/dev/video0 –all e então olhar na seção de recursos. Na maioria das vezes, deve ser o primeiro dispositivo, por exemplo, /dev/video0.

Agora, você precisa definir o caminho do dispositivo na configuração do Howdy. Você pode fazer isso abrindo manualmente o arquivo /lib/security/howdy/config.ini para edição ou usando o comando abaixo para abrir o arquivo de configuração para edição em seu editor de texto baseado em terminal padrão:

Comandos para usar no terminal

sudo howdy config

Procure a linha que começa com device _path. Mude seu valor para /dev/video0 ou qualquer que seja o caminho para o seu dispositivo de webcam.

Configuração do Howdy para desbloqueio facial no Ubuntu

Salve e saia do arquivo. Você está pronto para ir agora.

Adicione seu rosto para reconhecimento facial

Howdy é uma ferramenta de linha de comando. Você tem que fazer tudo no terminal.

Agora que você tem o caminho correto do dispositivo definido, é hora de adicionar alguns rostos em seu banco de dados para o reconhecimento.

Use o seguinte comando para associar um rosto ao usuário atualmente conectado, ou seja, você.

Comandos para usar no terminal

sudo howdy add

Ele não mostra um preview do seu rosto ao abrir uma câmera, então você deve olhar para a webcam para capturar seu rosto corretamente.

Ele pedirá que você adicione um identificador ao rosto. Você pode nomeá-lo como quiser. Usei termos como óculos, com fones de ouvido etc.

Adicionar novo rosto para Linux de reconhecimento facial

Sugiro adicionar mais algumas variantes de seu rosto, especialmente se você usar óculos. Basta executar o comando sudo howdy add cada vez que quiser adicionar um rosto.

O Howdy está pronto para ser usado assim que você adicionar um rosto. Para testá-lo, abra um novo terminal e execute um comando com sudo. Você notará que sua webcam pisca e tenta detectar um rosto. Se o rosto não for reconhecido, aparecerá uma mensagem de erro e pedirá para você usar sua senha.

Use Sudo com desbloqueio facial

Para adicionar um rosto para algum outro usuário, você também deve fornecer o nome de usuário:

Comandos para usar no terminal

sudo howdy -U username add

Você não precisa se preocupar em iniciar o Howdy após a reinicialização. O Howdy inicia automaticamente a cada inicialização.

Liste todos os modelos de rosto conhecidos para um usuário

Você pode ver quais modelos de rosto estão associados a um usuário com a opção de lista. Se você não especificar o nome de usuário, ele mostra a saída para o usuário atual.

Comandos para usar no terminal

sudo howdy list

Howdy List Face Models

Limpe alguns ou todos os modelos de rosto

Quando você lista todos os modelos de face de um usuário, pode usar a opção remover para excluir um determinado modelo de face. Você terá que fornecer o ID do modelo de rosto, não o rótulo.

Comandos para usar no terminal

sudo howdy remove face _ID

Remover Face Model Linux

Você pode remover todos os modelos de face com o seguinte comando:

Comandos para usar no terminal

sudo howdy clear

Desativar e reativar Howdy

Você pode desativar temporariamente o Howdy usando este comando:

Comandos para usar no terminal

sudo howdy disable 1

Você pode reativá-lo usando a mesma opção de desativação, mas com 0 como argumento:

Comandos para usar no terminal

sudo howdy disable 0

Removendo o Howdy de seu sistema

Você pode usar o gerenciador de pacotes de sua distribuição para remover o Howdy.

No Ubuntu, use o seguinte comando:

Comandos para usar no terminal

sudo apt remove howdy

Você também deve deletar o PPA:

Comandos para usar no terminal

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

Para outras distribuições, use o método de desinstalação que corresponde ao método de instalação usado.

Conclusão

É divertido configurar o desbloqueio facial no Linux. Acho que isso poderia fornecer uma base para alguns bons projetos do Raspberry Pi. É um exercício divertido de fim de semana fazer algo assim.

No entanto, não recomendo configurá-lo em infraestrutura ou servidores críticos. O reconhecimento facial não é muito seguro.

Usar o desbloqueio facial em seu sistema Linux pessoal é uma coisa, mas não o use em servidores ou máquinas de trabalho.

Espero que tenham gostado deste tutorial "faça você mesmo" (se assim posso chamá-lo). Deixe-me saber se você gostaria de ver mais tutoriais sobre isso no futuro.

Última atualização deste artigo: 31 de august de 2020