Protect your terminal with a screensaver and lock it with a password. Sclocka
runs on *BSD, macOS and Linux
Run external screensavers at your own risk, probably not all of them will work as expected, also they may crash and overall consequences (including security) may be unexpected or potentially dangerous.
DEC TV220, thanks @TheWanderer1983
- Plain screensaver mode (no password)
- Password protection via PAM (Pluggable Authentication Modules)
- Supported platforms:
- Linux
- macOS
- FreeBSD, NetBSD, OpenBSD
- Others to be done
- Sclocka as login shell
- Packages/ports
- Documentation
Changelog | Issues | Contributors
Build Requirements
- CLANG or GCC
- make
- PAM development libraries
# make install clean
Note, the default login
PAM service on FreeBSD doesn't check a user's password for the same login. To allow sclocka
perform password authentication via PAM, install unix-selfauth-helper:
# pkg install unix-selfauth-helper
Create and configure a special PAM service e.g. /etc/pam.d/sclocka:
auth sufficient pam_exec.so return_prog_exit_status expose_authtok /usr/local/libexec/unix-selfauth-helper
auth include system
account include system
Start sclocka
with -P sclocka
option:
$ sclocka -P sclocka
# make install clean
See notes about PAM helper from FreeBSD section
No PAM supported
# make without_pam install clean
# make install clean
Note, you may be prompted to install command line developer tools
Make sure you have everything to compile sources:
$ sudo apt-get install build-essential
$ sudo apt-get install libpam0g-dev
$ sudo make install clean
Make sure you have everything to compile sources:
$ sudo dnf groupinstall "Development Tools"
$ sudo dnf install pam-devel
$ sudo make install clean
# sclocka
Wait for a screensaver to appear
Sclocka
can be envoked with several options:
$ sclocka -h
Sclocka - screen saver/lock for terminals, v1.1.2.2
Usage:
sclocka [-b n|b|c|f] [-c] [-i n] [-s n] [-r]
[-p] [-P service]
sclocka [-B] [-b n|b|c|f] [-c] [-i n] [-r]
[-p] [-P service]
sclocka [-E "/path/to/saver arg1 .. argn"] [-b n|b|c|f] [-c] [-i n]
[-r] [-p] [-P service]
sclocka [-h]
[-B] Black-only, no screensaver animation
[-E "/path/to/saver arg1 .. argn"]
Execute an external screensaver program with arguments
[-b f] Screen restore: (n)one, (b)uffer, (c)apabilities, (f)ormfeed
[-c] Do not clear the window
[-i 5] Wait n minutes before launching the screensaver
[-s 64] Screensaver speed n in milliseconds
[-p] Disable PAM password check
[-P login] Use custom PAM service
[-r] Do not enable raw terminal mode
[-h] This message
Not so early stage of development, yet don't expect everything to work properly. If you have an idea, a question, or have found a problem, do not hesitate to open an issue or mail me: Mikhail Zakharov [email protected]