SWAYLOCKD(1)

πŸ“¦ version 0.1.0, in alpine 3.24

πŸ’… SWAYLOCKD(1) β€” the manual, but make it make sense

okay so bestie, you're looking at the swaylockd manual page (that's the SWAYLOCKD(1) one, yes) and I promise it's way less scary than it sounds. it's literally just a tiny little launcher that babysits your screen locker. let's get into it 🫢


✨ NAME ✨

swaylockd β€” launches swaylock(1), and re-launches it if it dies. that's the whole personality. πŸ’€


🌸 SYNOPSIS 🌸

All arguments are directly passed to swaylock(1).

like, all of them. every single argument you give goes straight through to swaylock(1). no filtering, no vibes check, no nothing. πŸŽ€


πŸ¦‹ DESCRIPTION πŸ¦‹

swaylockd is, and I quote the energy here, a dumb launcher β€” it spawns swaylock(1) and then makes sure it's running no matter what. 🫑

the way it does this:

  • it immediately restarts swaylock(1) if it gets terminated by a signal (like, say, the process crashed 😭)
  • it blocks all signals β€” yep, all of them β€” except SIGKILL and SIGSTOP. those two are built different and cannot be stopped.
  • it also makes sure only one instance per user is running, using flock(2). no clones, no duplicates, one icon only. πŸ‘‘
IMPORTANT: swaylockd is not compatible with the swaylock(1) option --daemonize! like, do not. it will not slay. πŸ’€

🌈 ENVIRONMENT 🌈

  • XDG_RUNTIME_DIR β€” this variable must be set, and it has to contain the path to the existing directory where the lock file will be created. pls go read the "XDG Base Directory Specification" if you want the full tea. πŸ“

πŸ’œ FILES πŸ’œ

  • ${XDG_RUNTIME_DIR}/swaylockd.lock β€” a lock file that gets created when swaylockd is executed, and removed right before it quits. cute little life cycle. ✨

πŸ”₯ LOGGING πŸ”₯

error messages generated by swaylockd(1) get printed to STDERR and logged to syslog with the ident string "swaylockd" and facility code 1 (user). so if something goes wrong, it's not ghosting you β€” it's telling on itself in two places. πŸ“’


🧚 HISTORY 🧚

swaylockd was developed mainly as a workaround for the swaylock(1) stability issues (see, like, issue #181 <https://github.com/swaywm/swaylock/issues/181>). πŸ› οΈ

and okay, this part is serious, so listen up: swaylock(1) is a critical piece of security software. as a screen locker, any bug in the program that causes it to crash will cause the screen to unlock. as soon as swaylock(1) is no longer running, the screen is no longer locked. 😭 therefore, great care must be taken to ensure that it never crashes. no cap. this is the whole reason this thing exists.


πŸ‘‘ AUTHORS πŸ‘‘

Jakub Jirutka πŸ’–


πŸ™ˆ REPORTING BUGS πŸ™ˆ

report bugs to the project's issue tracker at https://github.com/jirutka/swaylockd/issues β€” they want the feedback fr fr. 🫢


⭐ SEE ALSO ⭐

  • swaylock(1) β€” the main character this whole page is about πŸ’…

and that's the whole page, bestie!! 🌸 this was SWAYLOCKD(1) β€” that's the manual name right there β€” dated 2022-10-24, the version/date combo at the bottom of the original. go forth and lock your screen responsibly, mwah πŸ˜˜πŸŽ€

πŸ“¦ where this page comes from