peanutbutter(1)
π peanutbutter(1) β like, the actual manual page, bestie
okay so this is the manual page for peanutbutter, and we're gonna get you fluent in it. it's a Wayland screen locker for touch-based Linux mobile devices β yes, phone-shaped Linux. iykyk. π
β¨ NAME β¨
peanutbutter β a Wayland screen locker for touch-based Linux mobile devices π«Ά
πΈ SYNOPSIS πΈ
peanutbutter [options]
that's it. that's the whole vibe. options only, no positional nonsense. π
π¦ DESCRIPTION π¦
it's a lock screen for Linux mobile, bestie. specifically designed for Sxmo (wayland edition). so if you're on Sxmo wayland, this is literally your girl. β¨
π OPTIONS π
-d,--debugβ debug mode, which does two things: it lets you quit on any keypress, and it prints verbose logging. it's insecure, so likeβ¦ be aware. π-T,--notouchβ disables touch support.-F,--nofeedbackβ disables touch feedback.-f,--fontfont β sets the font family.-t,--triestries β how many incorrect touches you get before the locker goes into a deeper lock.0means unlimited, and the default is10.-L,--deeplockseconds β timeout in seconds for deeplock mode, during which the device cannot be unlocked. default is20.-p,--paranoidβ paranoid mode! the deeplock timeout gets doubled every single time it's reached, so successive attempts get harder and harder. no cap.-1β 1x1 touch grid. insecure. see CONTROLS.-2β 2x2 touch grid (1=topleft,4=bottomright). see CONTROLS.-3β 3x3 touch grid (1=topleft,9=bottomright). see CONTROLS.-4β 4x4 touch grid (0=topleft,f=bottomright). see CONTROLS.-s,--statuscommandcommand β runs this command for a status line. it should run continuously, and each new output line becomes the status line. β οΈ this parameter should be the last parameter provided! any further parameters get passed to the command. π
π CONTROLS π
by default, the screen is segregated into 4 quadrants β that's resolution 2, for the record:
- Top left
- Top right
- Bottom left
- Bottom right
the passcode is literally any combination of these, and you configure it through the environment variable PEANUTBUTTER_PASSCODE, which takes a sequence of digits representing the quadrants. like 1132 = top left, top left, bottom left, top right. and fun fact: that's also the default passcode if the environment variable isn't set. π
there is no confirm or clear option, bestie. the passcode is checked after each touch and stored in a stack with the exact length of the passcode. so if you mess up, just start tapping the sequence anew. that's the whole strategy. π
a touch gets acknowledged by flipping the background β and note that this only provides an indication of whether the touch was registered, not whether it's a valid touch in the passcode sequence. plus the feedback covers the entire screen and will not specifically highlight the quadrant you tapped. that's on purpose, as a security measure. π§
π₯ SECURITY π₯
for extra security, visual feedback can be disabled entirely by passing the -F or --nofeedback option. slay.
another way to level up your security is to set the parameter -3 and change the resolution to 3 (3x3 = 9 quadrants), which gives you this configuration:
1 2 3
4 5 6
7 8 9
you can even go up to -4, which gives you this next configuration (4x4 = 16 quadrants):
0 1 2 3
4 5 6 7
8 9 a b
c d e f
by default, if a certain number of touches (10 by default) did not lead to a successful unlock, the locker goes into a deeper lock state and shows a red background. this is a time-out state during which the device cannot be unlocked β it times out after a number of seconds (20 by default) and goes back to normal lock mode. it's a security measure to prevent brute-force attacks. periodt.
the number of tries is configured via --tries, and the timeout (in seconds) via --deeplock. you can set --paranoid to make the timeout double each time the deep lock state is reached β which may lead to the timeout being so long that you need to force a hard reboot. π like, genuinely. be careful with that one.
this program implements the ext-session-lock-v1 protocol. so if peanutbutter inadvertently crashes, your information is not exposed. π«Ά iconic behaviour, honestly.
π ENVIRONMENT π
PEANUTBUTTER_PASSCODEβ the passcode to use, each character refers to a quadrant. see CONTROLS. β
π AUTHORS π
- Anjandev Momi
<anjan@momi.ca> - Maarten van Gompel
<proycon@anaproy.nl>
π COPYRIGHT π
Peanutbutter is licensed under the GNU Affero General Public License v3.
π SEE ALSO π
and that's the page!! π¦ this version is dated 2025-07-01, straight out of the General Commands Manual β so go forth, lock your phone, tap your quadrants, and don't forget --paranoid is a commitment. πβ¨π
π¦ where this page comes from
- alpine 3.24: peanutbutter-doc 0.5.1-r0 Β· AGPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms