.de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .TH i38lock 1 "JUNE 2026" Linux "User Manuals" .SH NAME I38Lock \- accessible screen locker for I38 .SH SYNOPSIS .B i38lock .RB [\|\-v\|] .RB [\|\-n\|] .RB [\|\-b\|] .RB [\|\-i .IR image.png \|] .RB [\|\-c .IR color \|] .RB [\|\-t\|] .RB [\|\-p .IR pointer\|] .RB [\|\-u\|] .RB [\|\-f\|] .SH RECOMMENDED USAGE .RB xss-lock .RB --transfer-sleep-lock .RB -- .RB i38lock .RB --nofork Using .B xss-lock ensures that your screen is locked before your laptop suspends. Notably, using a systemd service file is not adequate, as it will not delay suspend until your screen is locked. .SH DESCRIPTION .B I38Lock is an accessible screen locker based on i3lock. After starting it, you will see a white screen (you can configure the color/an image). You can return to your screen by entering your password. .SH IMPROVEMENTS .IP \[bu] 2 I38Lock forks, so you can combine it with an alias to suspend to RAM (run "i38lock && echo mem > /sys/power/state" to get a locked screen after waking up your computer from suspend to RAM) .IP \[bu] You can specify either a background color or a PNG image which will be displayed while your screen is locked. .IP \[bu] You can specify whether I38Lock should bell upon a wrong password. .IP \[bu] I38Lock uses PAM and therefore is compatible with LDAP, etc. .SH OPTIONS .TP .B \-v, \-\-version Display the version of your .B i38lock .TP .B \-n, \-\-nofork Don't fork after starting. .TP .B \-b, \-\-beep Enable beeping. Be sure to not do this when you are about to annoy other people, like when opening your laptop in a boring lecture. .TP .B \-u, \-\-no-unlock-indicator Disable the unlock indicator. I38Lock will by default show an unlock indicator after pressing keys. This will give feedback for every keypress and it will show you the current PAM state (whether your password is currently being verified or whether it is wrong). .TP .BI \-i\ path \fR,\ \fB\-\-image= path Display the given PNG image instead of a blank screen. .TP .BI \fB\-\-raw= format Read the image given by \-\-image as a raw image instead of PNG. The argument is the image's format as x:. The supported pixel formats are: \(aqnative', \(aqrgb', \(aqxrgb', \(aqrgbx', \(aqbgr', \(aqxbgr', and \(aqbgrx'. The "native" pixel format expects a pixel as a 32-bit (4-byte) integer in the machine's native endianness, with the upper 8 bits unused. Red, green and blue are stored in the remaining bits, in that order. .BR Example: .Vb 6 \& --raw=1920x1080:rgb .Ve .BR You can use ImageMagick’s .IR convert(1) program to feed raw images into I38Lock: .BR .Vb 6 \& convert wallpaper.jpg RGB:- | i38lock --raw 3840x2160:rgb --image /dev/stdin .Ve This allows you to load a variety of image formats without I38Lock having to support each one explicitly. .TP .BI \-c\ rrggbb \fR,\ \fB\-\-color= rrggbb Turn the screen into the given color instead of white. Color must be given in 3-byte format: rrggbb (i.e. ff0000 is red). .TP .B \-t, \-\-tiling If an image is specified (via \-i) it will display the image tiled all over the screen (if it is a multi-monitor setup, the image is visible on all screens). .TP .BI \-p\ win|default \fR,\ \fB\-\-pointer= win|default If you specify "default", .B I38Lock does not hide your mouse pointer. If you specify "win", .B I38Lock displays a hardcoded Windows-Pointer (thus enabling you to mess with your friends by using a screenshot of a Windows desktop as a locking-screen). .TP .B \-f, \-\-show-failed-attempts Show the number of failed attempts, if any. .TP .B \-k, \-\-show-keyboard-layout Show the current keyboard layout. .TP .B \-\-debug Enables debug logging. Note, that this will log the password used for authentication to stdout. .SH ACCESSIBILITY When Cthulhu or Orca is running, I38Lock automatically sends password-entry feedback to the screen reader over its D-Bus remote-controller interface. Feedback includes lock state, accepted characters as the word "star", backspace results, modifier-lock changes, verification, and authentication failure. Password characters are never sent. Empty passwords are rejected locally without invoking PAM. .SH PAM CONFIGURATION On Linux, .B /etc/pam.d/i38lock must exist and be readable before I38Lock will lock the screen. This prevents an absent service policy from creating a session that cannot be unlocked. .SH DPMS The \-d (\-\-dpms) option was removed from i3lock in version 2.8. There were plenty of use-cases that were not properly addressed, and plenty of bugs surrounding that feature. While features are not normally removed from i3 and its tools, we felt the need to make an exception in this case. Users who wish to explicitly enable DPMS only when their screen is locked can use a wrapper script around I38Lock like the following: .Vb 6 \& #!/bin/sh \& revert() { \& xset dpms 0 0 0 \& } \& trap revert HUP INT TERM \& xset +dpms dpms 5 5 5 \& i38lock -n \& revert .Ve The \-I (-\-inactivity-timeout=seconds) was removed because it only makes sense with DPMS. .SH SEE ALSO .IR xss-lock(1) \- hooks up I38Lock to the systemd login manager .IR convert(1) \- feed a wide variety of image formats into I38Lock .SH AUTHOR Michael Stapelberg