El siguiente script escribirá el tiempo de bloqueo / desbloqueo en un archivo time_xprofile
en su hogar.
#!/bin/bash
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" | \
( while true
do read X
if echo $X | grep "boolean true" &> /dev/null; then
echo "locking at $(date)" >> $HOME/time_xprofile
elif echo $X | grep "boolean false" &> /dev/null; then
echo "unlocking at $(date)" >> $HOME/time_xprofile
fi
done )
Guarda el guión. Dale permiso de ejecución.
chmod +x script.sh
Como correr
./script.sh &
Nota El script debe ejecutarse en segundo plano. No lo mates. Si activa / desactiva el bloqueo de pantalla mientras el script se ejecuta en segundo plano, su tiempo de bloqueo / desbloqueo se registrará en el time_xprofile
archivo de su hogar. Se puede usar para ejecutar algún comando o script en el bloqueo / desbloqueo de pantalla.
Tenga en cuenta que si cierra la terminal actual, su secuencia de comandos se eliminará. Puedes usar
nohup ./script.sh &
Luego continuará ejecutándose incluso después de cerrar la terminal.
Cómo matar el guión
Para matar el proceso, use en la terminal
ps ax| grep "[s]cript.sh" | cut -d' ' -f2 | xargs kill
El guión anterior está inspirado en esta respuesta