i3wm: Bloquea la pantalla de forma original

Introducción

En i3wm podemos utilizar i3lock para bloquear la pantalla del ordenador, por defecto, i3lock utiliza un fondo blanco, pero podemos llegar a tener un fondo de pantalla con el mio:

i3wm-screen-01.png.

Script

Crea un fichero con el siguiente contenido

#!/bin/bash
revert() {
  rm /tmp/*screen*.png
  xset dpms 0 0 0
}
trap revert HUP INT TERM
xset +dpms dpms 0 0 5
scrot -d 1 /tmp/locking_screen.png
convert -blur 0x8 /tmp/locking_screen.png /tmp/screen_blur.png
convert -composite /tmp/screen_blur.png ~/Pics/Evil_Rick_Sprite.png -gravity South -geometry -20x1200 /tmp/screen.png
i3lock -i /tmp/screen.png
revert

Explicación del script

Este script toma una captura de pantalla del espacio de trabajo actual usando scrot, luego usará la utilidad de conversión de imagemagick para desenfocar la captura de pantalla.

Después superpondrá la imagen borrosa con la nuestra y, finalmente, utilizando i3lock, bloqueará la pantalla con las imágenes combinadas.

Después de 5 minutos de estar bloqueado, se apagará el monitor.

La próxima vez que se desbloquee la pantalla, se limpia y eliminan todos los archivos /tmp/*screen*.png gracias a la función revert.

Puedes encontrar la imagen que he utilizado aquí, aunque puedes utilizar la que mas te guste.

Instalación

Ahora configuraremos i3wm para que ejecute el script al pulsar una combinación de teclas, en mi caso la tecla Pausa.

He guardado el script en /.config/i3/scripts/, cambia la ruta por la ubicación en donde se en encuentre tu script.

# i3lock
bindsym Pause exec "~/.config/i3/scripts/i3lock.sh"

Bloqueo automático

Si instalamos xautolock podemos configurar para que pasado un tiempo sin actividad en el ordenador la pantalla se bloquee

#xautolock
exec --no-startup-id xautolock -time 10 -locker "~/.config/i3/scripts/i3lock.sh"

Espero que te haya gustado, pasa un buen día

Referencia