XSECURELOCK(1)
π¦ XSECURELOCK(1) β XSecureLock, the X11 screen lock utility π
okay so bestie, welcome to the manual page for XSecureLock, the X11 screen lock utility, and ngl this thing takes security so seriously it's giving bodyguard energy π. everything below is the real deal, no cap β all the options, all the defaults, all the little warnings. let's go π
πΈ NAME
XSecureLock β X11 screen lock utility β¨
π SYNPOSIS
[options] xsecurelock [β command-to-run-when-locked]
π DESCRIPTION
XSecureLock is an X11 screen lock utility designed with the primary goal of security. like, that's the vibe. it's not here to be cute, it's here to be secure π‘οΈ
it locks the current X11 session, and only allows unlocking if the user authenticates to it (typically with the login password). no password, no entry, periodt π
while locked, it can launch a screen saver process and then waits for input events. upon an input event, it displays a login dialog to allow for unlocking. so like, the second you touch anything, boom, login prompt, main character energy β¨
β¨ OPTIONS β¨
okay so here's the thing bestie β options are set as environment variables prior to invoking XSecureLock. not flags, not args, environment variables. the following variables are available:
XSECURELOCK_AUTHβ specifies the desired authentication module (the part that displays the authentication prompt) πXSECURELOCK_AUTHPROTOβ specifies the desired authentication protocol module (the part that talks to the system) π‘XSECURELOCK_AUTH_BACKGROUND_COLORβ specifies the X11 color (see manpage ofXParseColor) for the background of the auth dialog π¨XSECURELOCK_AUTH_CURSOR_BLINKβ if set, the cursor will blink in the auth dialog. enabled by default, and you can set it to0to disable it. so like, off means off π«₯XSECURELOCK_AUTH_SOUNDSβ specifies whether to play sounds during authentication to indicate status. sounds are defined as follows:- High-pitch ascending: prompt for user input π΅
- High-pitch constant: an info message was displayed βΉοΈ
- Low-pitch descending: an error message was displayed π
- Medium-pitch ascending: authentication successful π
XSECURELOCK_AUTH_FOREGROUND_COLORβ specifies the X11 color (see manpage ofXParseColor) for the foreground text of the auth dialog βοΈXSECURELOCK_AUTH_TIMEOUTβ specifies the time (in seconds) to wait for response to a prompt byauth_x11before giving up and reverting to the screen saver β³XSECURELOCK_AUTH_WARNING_COLORβ specifies the X11 color (see manpage ofXParseColor) for the warning text of the auth dialog β οΈXSECURELOCK_BACKGROUND_COLORβ specifies the X11 color (see manpage ofXParseColor) for the background of the main and saver windows πXSECURELOCK_BLANK_TIMEOUTβ specifies the time (in seconds) before telling X11 to fully blank the screen; a negative value disables X11 blanking. the time is measured since the closing of the auth window orxsecurelockstartup. setting this to0is rather nonsensical, as key-release events (e.g. from the keystroke to launchxsecurelockor from pressing escape to close the auth dialog) always wake up the screen. like,0does nothing for you bestie πXSECURELOCK_BLANK_DPMS_STATEβ specifies which DPMS state to put the screen in when blanking (one ofstandby,suspend,offandon, where "on" means to not invoke DPMS at all) π€XSECURELOCK_BURNIN_MITIGATIONβ specifies the number of pixels the prompt ofauth_x11may be moved at startup to mitigate possible burn-in effects due to the auth dialog being displayed all the time (e.g. when spurious mouse events wake up the screen all the time) π₯οΈXSECURELOCK_BURNIN_MITIGATION_DYNAMICβ if set to a non-zero value,auth_x11will move the prompt while it is being displayed, but stay within the bounds ofXSECURELOCK_BURNIN_MITIGATION. the value of this variable is the maximum allowed shift per screen refresh. this mitigates short-term burn-in effects but is probably annoying to most users, and thus disabled by default. so like, it works but your prompt is out here vibing around the screen πXSECURELOCK_COMPOSITE_OBSCURERβ create a second full-screen window to obscure window content in case a running compositor unmaps its own window. helps with some instances of bad compositor behavior (such as compositor crashes/restarts, but also compton has been caught at drawing notification icons above the screen locker when not using the GLX backend), should prevent compositors from unredirecting as it's 1 pixel smaller than the screen from every side, and should otherwise be harmless, so it's enabled by default π«ΆXSECURELOCK_DATETIME_FORMATβ the date format to show. defaults to the locale settings. (seeman datefor possible formats) πXSECURELOCK_DEBUG_ALLOW_LOCKING_IF_INEFFECTIVEβ normally we don't allow locking sessions that are likely not any useful to lock, such as the X11 part of a Wayland session (one could still use Wayland applications when locked) or VNC sessions (as it'd only lock the server side session while users will likely think they locked the client, allowing for an easy escape). these checks can be bypassed by setting this variable to1. not recommended other than for debuggingXSecureLockitself via such connections π¨XSECURELOCK_DEBUG_WINDOW_INFOβ when complaining about another window misbehaving, print not just the window ID but also some info about it. uses thexwininfoandxproptools πXSECURELOCK_DIM_ALPHAβ linear-space opacity to fade the screen to π«οΈXSECURELOCK_DIM_COLORβ X11 color to fade the screen to π¨XSECURELOCK_DIM_FPSβ target framerate to attain during the dimming effect ofdimmer. ideally matches the display refresh rate ποΈXSECURELOCK_DIM_MAX_FILL_SIZEβ maximum size (in width or height) to fill at once using anXFillRectanglecall. low values may cause performance loss or noticeable tearing during dimming; high values may cause crashes or hangs with some graphics drivers or a temporarily unresponsive X server. so like, pick your poison wisely π¬XSECURELOCK_DIM_OVERRIDE_COMPOSITOR_DETECTIONβ when set to1, always try to use transparency for dimming; when set to0, always use a dither pattern. default is to autodetect whether transparency will likely work π€XSECURELOCK_DIM_TIME_MSβ milliseconds to dim for when abovexss-lockcommand line withdimmeris used; also used bywait_nonidleto know when to assume dimming and waiting has finished and exit β±οΈXSECURELOCK_DISCARD_FIRST_KEYPRESSβ if set to0, the key pressed to stop the screen saver and spawn the auth child is sent to the auth child (and thus becomes part of the password entry). by default we always discard the key press that started the authentication flow, to prevent users from getting used to type their password on a blank screen (which could be just powered off and have a chat client behind or similar). lowkey a big deal, don't turn this off π«£XSECURELOCK_FONTβ X11 or FontConfig font name to use forauth_x11. you can get a list of supported font names by runningxlsfontsandfc-listπ€XSECURELOCK_FORCE_GRABβ when grabbing fails, try stealing the grab from other windows (a value of2steals from all descendants of the root window, while a value of1only steals from client windows). this works only sometimes and is incompatible with many window managers, so use with care. see the "Forcing Grabs" section below for details. β οΈ careful bestieXSECURELOCK_GLOBAL_SAVERβ specifies the desired global screen saver module (by default this is a multiplexer that runsXSECURELOCK_SAVERon each screen) πXSECURELOCK_IDLE_TIMERSβ comma-separated list of idle time counters used byuntil_nonidle. typical values are either empty (relies on the X Screen Saver extension instead),IDLETIMEandDEVICEIDLETIMEnwhere n is an XInput device index (runxinputto see them). if multiple time counters are specified, the idle time is the minimum of them all. all listed timers must have the same unit βXSECURELOCK_IMAGE_DURATION_SECONDSβ how long to show each still image played bysaver_mpv. defaults to1πΌοΈXSECURELOCK_KEY_%s_COMMANDwhere%sis the name of an X11 keysym (find usingxev) β a shell command to execute when the specified key is pressed. useful e.g. for media player control. beware: be cautious about what you run with this, as it may yield attackers control over your computer. π¨ like fr fr, think before you paste a command in hereXSECURELOCK_LIST_VIDEOS_COMMANDβ shell command to list all video files to potentially play bysaver_mpvorsaver_mplayer. defaults tofind ~/Videos -type fπΌXSECURELOCK_NO_COMPOSITEβ disables covering the composite overlay window. this switches to a more traditional way of locking, but may allow desktop notifications to be visible on top of the screen lock. not recommended πXSECURELOCK_NO_PAM_RHOSTβ do not setPAM_RHOSTto localhost, despite recommendation (http://www.linux-pam.org/Linux-PAM-html/adg-security-user-identity.html) to do so by the Linux-PAM Application Developers' Guide. this may work around bugs in third-party PAM authentication modules. if this solves a problem for you, please report a bug against said PAM module πXSECURELOCK_NO_XRANDRβ disables multi monitor support using XRandR π₯οΈπ₯οΈXSECURELOCK_NO_XRANDR15β disables multi monitor support using XRandR 1.5 and fall back to XRandR 1.2. not recommended πXSECURELOCK_PAM_SERVICEβ pam service name. you should have a file with that name in/etc/pam.dπXSECURELOCK_PASSWORD_PROMPTβ choose password prompt mode:asterisks: shows asterisks, like classic password prompts. this is the least secure option because password length is visible. π¬
***_
*******_
cursor: shows a cursor that jumps around on each key press. this is the default. π
________|_______________________
___________________|____________
disco: shows dancers, which dance around on each key press. requires a font that can handle Unicode line drawing characters, and FontConfig. πΊπ
β(ο½₯oο½₯)β βͺ β(ο½₯oο½₯)β βͺ β(ο½₯oο½₯)β βͺ β(ο½₯oο½₯)β βͺ β(ο½₯oο½₯)β
β(ο½₯oο½₯)β βͺ β(ο½₯oο½₯)β βͺ β(ο½₯oο½₯)β βͺ β(ο½₯oο½₯)β βͺ β(ο½₯oο½₯)β
emoji: shows an emoji, changing which one on each key press. requires a font that can handle emoji, and FontConfig. π
π
πΆ
π
emoticon: shows an ascii emoticon, changing which one on each key press. π
:-O
d-X
X-\
hidden: completely hides the password, and there's no feedback for keypresses. this would almost be most secure β however as it gives no feedback to input whatsoever, you may not be able to notice accidentally typing to another computer and sending your password to some chatroom. π imaginekaomoji: shows a kaomoji (Japanese emoticon), changing which one on each key press. requires a Japanese font, and FontConfig. πΈ
(Β°ΚΒ°)
(οΌΎο½οΌΎ)
Β―\_(γ)_/Β―
okay that's the options done bestie, but we're not done yet β part 2 is coming and it's got more sections, so don't go anywhere πβ¨
timeβ okay so every single keystroke it shows the current time since the epoch. This may be the most secure mode, because it gives feedback to keystroke based exclusively on public information, and it does not carry over any state between keystrokes whatsoever β not even some form of randomness. It's giving amnesia, but make it secure. π
1559655410.922329
time_hexβ same astime, but in microseconds and hexadecimal. The original says βBecause we canβ and honestly? iconic. β¨
0x58a7f92bd7359
XSECURELOCK_SAVERβ specifies the desired screen saver module. Pick your fighter. πXSECURELOCK_SAVER_RESET_ON_AUTH_CLOSEβ specifies whether to reset the saver module when the auth dialog closes. Resetting is done by sendingSIGUSR1to the saver, which may either just terminate, or handle this specifically to do a cheaper reset. Choose your adventure. π¦XSECURELOCK_SHOW_DATETIMEβ whether to show local date and time on the login. Disabled by default, so if you want clock energy you gotta turn it on. β°XSECURELOCK_SHOW_HOSTNAMEβ whether to show the hostname on the login screen ofauth_x11. Possible values are0for not showing the hostname,1for showing the short form, and2for showing the long form. It's giving name tag vibes. π·οΈXSECURELOCK_SHOW_KEYBOARD_LAYOUTβ whether to show the name of the current keyboard layout. Enabled by default, so yes bestie, you'll see it unless you turn it off. β¨οΈXSECURELOCK_SHOW_USERNAMEβ whether to show the username on the login screen ofauth_x11. Simple as that. π€XSECURELOCK_SINGLE_AUTH_WINDOWβ whether to show only a single auth window fromauth_x11, as opposed to one per screen. Sometimes less is more. πͺXSECURELOCK_SWITCH_USER_COMMANDβ shell command to execute whenWin-OorCtrl-Alt-Oare pressed (think βother userβ). Typical values could belxdm -c USER_SWITCH,dm-tool switch-to-greeter,gdmflexiserverorkdmctl reserve, depending on your desktop environment. Pick the one that matches your DE, no cap. πXSECURELOCK_VIDEOS_FLAGSβ flags to append when invokingmpv/mplayerwithsaver_mpvorsaver_mplayer. Defaults to empty. So if you want extra sauce, this is where you put it. π¬XSECURELOCK_WAIT_TIME_MSβ milliseconds to wait after dimming (and before locking) when thatxss-lockcommand line from earlier is used. Should be at least as large as the period time set usingxset s. Also used bywait_nonidleto know when to assume dimming and waiting has finished and exit. Timing is everything, bestie. β³XSECURELOCK_SAVER_DELAY_MSβ milliseconds to wait after starting children process and before mapping windows to let children be ready to display and reduce the black flash. We love a smooth transition. β¨XSECURELOCK_SAVER_STOP_ON_BLANKβ specifies if saver is stopped when screen is blanked (DPMSorXSS) to save power. Your call, but eco queen behavior. π±XSECURELOCK_XSCREENSAVER_PATHβ location where XScreenSaver hacks are installed for use bysaver_xscreensaver. Point it at the goods. π
Additionally, XSecureLock spawns the command-to-run-when-locked once locking is complete; this can be used as a notification mechanism if desired. Cute, right? π
π REPORTING BUGS π
Found a bug? The official bug tracker is at https://github.com/google/xsecurelock/issues/. Go spill the tea there. π
π COPYRIGHT π
The code is released unser the Apache 2.0 license β yes, the page literally says βunserβ, and we're keeping it because facts are facts. See the LICENSE file for more details. π
π SEE ALSO π
xss-lock (1),xautolock (1).
The README.md file included with XSecureLock contains full documentation. Go read, bestie. π
The XSecureLock source code and all documentation may be downloaded on https://github.com/google/xsecurelock/.
π AUTHORS π
Rudolf Polzer. Thank you for your service. π«Ά
That's the whole manual, bestie β XSecureLock User Manual, dated April 15, 2019, for XSECURELOCK(1). Stay secure, stay slay. π
β¨
π¦ where this page comes from
- debian trixie: xsecurelock 1.9.0-1 Β· Apache-2.0
- ubuntu noble: xsecurelock 1.9.0-1build1 Β· Apache-2.0
- ubuntu questing: xsecurelock 1.9.0-1build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms