Using i3lock with systemd-suspend
Published: Tuesday, January 8, 2019
It took me a few tries before figuring this one out. But I eventually found the [the easy] solution in an old thread on the Arch Linux forums [Link].
I started out by creating the file
/etc/systemd/system/i3lock.service with the following content:
[Unit] Description=Lock screen before suspend Before=sleep.target [Service] User=johan Type=forking Environment=DISPLAY=:0 ExecStart=/home/johan/Scripts/i3lock.sh [Install] WantedBy=sleep.target
I then enabled the service with the command:
# systemctl enable i3lock.service
That’s it! And for those curious, this is what my
i3lock.sh looks like:
#!/bin/bash icon="$HOME/.config/i3/lock.png" img="$HOME/.cache/i3lock.png" # Take a screenshot for our background scrot $img # Pixelate the background convert $img -scale 10% -scale 1000% $img # Add the lock-icon convert $img $icon -gravity center -composite $img # Finally run i3lock itself i3lock -u -i $img
It will now lock my screen before it goes to sleep, so it’s locked when it wakes up again.
If you want to leave feedback you can do so by sending me a message via e-mail.