Me gustaría configurar mi computadora portátil para que si se ingresa una contraseña incorrecta cuando la pantalla está bloqueada, se toma una foto usando la cámara web de la computadora portátil. Examiné xlock
(del paquete xlockmore ), pero no hay ninguna opción para ejecutar una acción personalizada cuando se ingresa una contraseña incorrecta.
Hay una pregunta similar en SuperUser, pero solo se dirige a Windows: tomar una foto después de ingresar una contraseña incorrecta .
(Para aquellos a quienes les gustan las fotos divertidas de gatos: mi computadora portátil está configurada para tomar una foto después de 3 intentos de contraseña incorrecta ).
Respuestas:
Copié esta publicación en ask Ubuntu por gertvdijk , señalado por mazs en los comentarios. En el esfuerzo de cerrar esta pregunta.
Basado en esta publicación en los foros de Ubuntu de BkkBonanza .
Este es un enfoque que utiliza PAM y funcionará para todos los intentos fallidos de inicio de sesión. Con SSH, un terminal virtual o mediante la pantalla de inicio de sesión normal, no importa, ya que PAM se encarga de todo al final.
Instale ffmpeg , vamos a usar esto como una forma de línea de comando para capturar las imágenes de la cámara web. Actualización: ffmpeg se elimina cuando actualiza a Ubuntu 14.04. Podemos usar avconv en lugar de ffmpeg en el siguiente script. No es necesario instalar nada por separado.
Cree un pequeño script en algún lugar, por ejemplo,
/usr/local/bin/grabpicture
con el siguiente contenidoCambie / dev / video0 con el dispositivo de video real de su cámara web y elija una ruta donde se guardarán las imágenes. Simplemente elijo
/tmp
. En la versión más nueva de Ubuntu, use enavconv
lugar deffmpeg
(sudo apt-get install libav-tools
).Hazlo ejecutable, por ejemplo
chmod +x /usr/local/bin/grabpicture
.Prueba de ello, con sólo llamar que:
/usr/local/bin/grabpicture
. Comprueba si ves archivos apareciendo/tmp/vid....jpg
.Configure PAM para llamar a esto en cada intento fallido.
Nota: haga esto con cuidado: si esto falla, no podrá volver a acceder a su sistema de manera regular.
Abra
/etc/pam.d/common-auth
en su editor favorito, por ejemplo, haciendogksudo gedit /etc/pam.d/common-auth
. Tenga en cuenta para los siguientes pasos que el orden de las líneas en este archivo es importante.Localice la línea a continuación. Por defecto, hay una línea antes de la que tiene
pam_deny.so
. En mi sistema 12.04 se ve así:En esta línea, cambie el éxito = 1 a éxito = 2 para que omita nuestro script en caso de éxito. Este es un paso importante.
Justo debajo de allí, agregue uno nuevo para llamar al script real:
Guarde y cierre el archivo. No es necesario reiniciar nada.
Pruébalo.
su -l username
iniciar sesión como otro usuario con nombre de usuariousername
(cambie con uno real, por supuesto). Ingrese deliberadamente la contraseña incorrecta. Compruebe si esto da como resultado una nueva imagen.Si las pruebas han tenido éxito, puede cerrar sesión en su DE (Unity / KDE / ...) y debería ver lo mismo al ingresar una contraseña incorrecta desde la pantalla de inicio de sesión.
fuente