Files
2026-06-02 17:29:55 -04:00

194 lines
5.2 KiB
Groff
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
.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 <width>x<height>:<pixfmt>. 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 ImageMagicks
.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 <michael+i3lock at stapelberg dot de>