Gostaria de configurar meu laptop para que, se uma senha errada for digitada quando a tela estiver bloqueada, uma foto seja tirada usando a webcam do laptop. Examinei xlock
(do pacote xlockmore ), mas não há opção para executar uma ação personalizada quando uma senha incorreta é inserida.
Existe uma pergunta semelhante no SuperUser, mas apenas o Windows é direcionado: Tirar uma foto depois de digitar a senha incorreta .
(Para quem gosta de fotos engraçadas de gatos: Meu laptop está configurado para tirar uma foto após três tentativas incorretas de senha .)
Respostas:
Copiei este post no ask Ubuntu por gertvdijk , apontado por mazs nos comentários. No esforço de encerrar esta questão.
Baseado neste post no Ubuntuforums do BkkBonanza .
Essa é uma abordagem usando o PAM e funcionará para todas as tentativas de login com falha. Usando o SSH, um terminal virtual ou através da tela de login normal, não importa, pois tudo é tratado pelo PAM no final.
Instale o ffmpeg , vamos usar isso como uma forma de linha de comando para capturar as imagens da webcam. Atualização: o ffmpeg é removido quando você atualiza para o Ubuntu 14.04. Podemos usar o avconv no lugar do ffmpeg no script abaixo. Não é necessário instalar nada separadamente.
Crie um pequeno script em algum lugar, por exemplo,
/usr/local/bin/grabpicture
com o seguinte conteúdoMude o / dev / video0 com o dispositivo de vídeo real da sua webcam e escolha um caminho onde as fotos serão salvas - eu apenas escolhi
/tmp
. Na versão mais recente do Ubuntu, use emavconv
vez deffmpeg
(sudo apt-get install libav-tools
).Torne executável, por exemplo
chmod +x /usr/local/bin/grabpicture
.Testá-lo, por apenas chamando-o:
/usr/local/bin/grabpicture
. Verifique se você vê os arquivos aparecendo/tmp/vid....jpg
.Configure o PAM para chamar isso em todas as tentativas com falha.
Nota: faça isso com cuidado - se isso falhar, você não poderá obter acesso ao seu sistema novamente de maneira regular.
Abra
/etc/pam.d/common-auth
no seu editor favorito, por exemplo, fazendogksudo gedit /etc/pam.d/common-auth
. Lembre-se das etapas a seguir que importam a ordem das linhas neste arquivo.Localize a linha abaixo. Por padrão, há uma linha antes da linha com
pam_deny.so
. No meu sistema 12.04, fica assim:Nesta linha, mude o sucesso = 1 para o sucesso = 2 para que ele pule o script com sucesso. Este é um passo importante.
Logo abaixo, adicione um novo para chamar o script real:
Salve e feche o arquivo. Não há necessidade de reiniciar nada.
Teste-o.
su -l username
fazer login como outro usuário com nome de usuáriousername
(mude com o nome real, é claro). Digite deliberadamente a senha errada. Verifique se isso resulta em uma nova imagem.Se os testes foram bem-sucedidos, você pode sair do seu DE (Unity / KDE / ...) e verá o mesmo ao digitar uma senha errada na tela de login.
fonte