A recent update to the kbd package has caused it to conflict with the vlock package. kbd now offers its own vlock which is significantly limited in comparison to the standalone vlock. Unfortunately, kbd is required by systemd, so I can't just remove it and use the standalone vlock instead.
Still, I can make the kbd-vlock work with my setup. I was manually calling it and it was working just fine, but then I decided to try to get my standalone vlock systemd script hook to work with kbd-vlock. Unfortunately, what seems like something that should be compatible breaks. After trying to do some tests, now all I get is the following error:
vlock: could not open /dev/tty: No such device or address.
/dev/tty certainly does exist, though.
Here's the sleep hook:
#!/bin/sh ASUSER=whef LOCK="vlock -a" test "$1" = "post" && su -c "$LOCK" - "$ASUSER"
Note: I'm testing for post (waking up) because of the issues detailed on this thread. I haven't been able to confirm if the same problem exists with kbd-vlock.
My preferred solution is to get kbd-vlock working.
I just posted on the kbd mailing list about this. Hopefully I'll get an answer soon enough so a fix can be made upstream I also use vlock for locking my computer, as it's a small and elegant way of locking your pc.
You could always rebuild kbd without vlock and use standalone vlock until upstream fixes it - if I was still using vlock, that's what I would do.