Sasquatch
A task manager for Linux where Ctrl+Alt+Del still answers when the desktop is frozen.
Pre-alpha, in development
Description
On Windows, Ctrl+Alt+Del always answers: the chord is caught below the shell, and the task manager it summons runs where an ordinary program cannot cover it. Linux has no equivalent. KDE's System Monitor is a normal window on a normal compositor shortcut, so it dies with the session it is supposed to police. Sasquatch rebuilds that contract on Linux plumbing, for the moment everything else is misbehaving.
Block diagram
- Keyboard evdev
- sasquatchd
- D-Bus summon
- Slint GUI
Decisions
Two tiers behind one chord
Ctrl+Alt+Del is read from the keyboard by the root daemon, so the chord arrives even when the compositor's input handling is gone. If the GUI acknowledges, a KWin rule holds it above whatever is fullscreen. If no acknowledgement comes back, or the chord is pressed again, the daemon switches to a text-mode process killer on a spare VT. Installing the daemon masks ctrl-alt-del.target so the chord cannot reboot the machine, and uninstalling reverts it.
One root binary, and no exec API
Only the daemon runs as root. It exposes a fixed set of process operations and nothing that accepts a command or a path to execute, and a test rejects any exec-shaped D-Bus surface. polkit gates each action class separately, and process mutations bind the pid to its start time and signal through a pidfd. Service and session actions go straight to systemd and logind, which enforce their own polkit.
A sampling engine with no GUI in it
sasquatch-core parses /proc and /sys into the per-process and per-core figures the tabs draw, including the cgroup classifier that separates apps from background work. It depends on no GUI toolkit, no D-Bus and no async runtime, so the delta maths is tested against recorded procfs fixtures. The rescue console has no D-Bus dependency for a related reason: it has to work when the session stack is what broke.
Errata
- There is no packaged release yet. The PKGBUILD, hardened unit and full install flow are planned for 1.0.0.
- The rescue console needs a framebuffer console on its VT. Where one is missing, such as with nvidia-drm fbdev off, only the GUI tier answers.
Revision history
| Version | Changes |
|---|---|
| 0.13.0 | Startup apps tab: toggles write or remove only files Sasquatch generated, after rechecking the scanned bytes. |
| 0.12.0 | Services tab: start, stop, restart, enable and disable through systemd with interactive polkit. |
| 0.11.0 | Polkit executor: other-user End task and Details actions route through the daemon. |
| 0.10.0 | VT rescue tier: hard chord, missing acknowledgement and repeat presses all reach the text-mode killer. |