CrabMonitor (“Task Manager” in the app menu) — a fast, native task manager for KDE Plasma written in Rust with a Qt Quick / Kirigami interface — in the spirit of the Windows Task Manager, integrated with the Plasma desktop.
Built with CXX-Qt (Rust ↔ Qt bindings by KDAB), sysinfo and KDE's Kirigami + KQuickCharts frameworks, so the app automatically follows your Plasma color scheme, fonts and icon theme (light and dark).
Processes
- Live sortable table: name, PID, user, CPU %, memory, disk read/write, per-process network rate, state
- Applications shown with their real names and icons (“Zen Browser” instead of “zen-bin”), resolved from desktop entries and systemd cgroups
- Windows-style grouping: an application's processes collapse into one expandable row with summed resources; quiet unidentified daemons fold into a “Background services” group (both toggleable in Settings)
- Right-click → Open file location reveals the executable in the file manager
- Per-process network accounting via netlink sock_diag (TCP, unprivileged — covers your own processes)
- Instant search by name, user, command line or PID
- End (SIGTERM), Kill (SIGKILL), Suspend (SIGSTOP) and Resume (SIGCONT) processes
- Change process priority (nice) — with polkit elevation when needed (pkexec)
- Per-process details dialog (command line, executable, threads, virtual memory, run time)
- Optional display of kernel threads
Performance
- Click the CPU, Memory, Network or Disk card to see the top consumers of that resource
- CPU: total + per-core usage (normalized to whole-machine %, like Windows Task Manager), frequency, package temperature, load average, history graph
- Memory and swap usage with history graph
- GPUs: every GPU gets its own card — NVIDIA (via nvidia-smi, power-save aware — never wakes a suspended dGPU), AMD (via sysfs) and Intel iGPUs (busy % derived from RC6 residency, frequency); usage, VRAM, temperature
- Network down/up rates with history graph
- Disk I/O rates plus per-volume usage bars
- System info: OS, kernel, hostname, uptime
Startup (autostart management, like Windows' Startup tab)
- Lists user (
~/.config/autostart) and system (/etc/xdg/autostart) entries - Enable/disable any entry (user overrides for system entries, KDE-style
Hidden=handling) - Add custom startup commands, remove user entries
Services (systemd)
- Lists system and user services with live state and unit-file state
- Start / stop / restart units (polkit prompts for system units)
- Search and scope filtering
Settings
- Refresh interval, kernel-thread visibility, kill confirmation, per-column visibility for the process table, one-click reset to defaults
- Persisted to
~/.config/crabmonitor/settings.json
- Rust (stable)
- Qt 6 development files (
qt6-base,qt6-declarative) - KDE frameworks at runtime:
kirigami,kquickcharts, Breeze icons (already present on any Plasma 6 desktop)
On Arch: sudo pacman -S --needed rust qt6-base qt6-declarative kirigami kquickcharts
./install.sh # builds release binary, installs to ~/.local/bin + app menu entry
./install.sh --uninstallOr manually:
cargo build --release
./target/release/crabmonitorA portable, single-file build that runs on most distributions without installing Qt or KDE frameworks:
./packaging/build-appimage.sh # produces target/appimage/CrabMonitor-<version>-x86_64.AppImageThe bundle includes Qt, Kirigami, KQuickCharts, the org.kde.desktop style and the Breeze icon theme. CI builds an AppImage for every push (see Actions artifacts) and attaches one to tagged releases. AppImages run on distributions whose glibc is at least as new as the build host's — CI therefore builds on Ubuntu LTS.
Launch “Task Manager” from the application menu, or run crabmonitor.
Open a specific page directly with crabmonitor --page processes|performance|startup|services|settings.
src/*_model.rs,src/system_stats.rs— QObject singletons exposed to QML through CXX-Qt. Data collection runs on background Rust threads and is queued onto the GUI thread, so the UI never blocks on/procscans.qml/— Kirigami UI, compiled ahead-of-time by qmlcachegen and embedded in the binary.- No daemon, no D-Bus service: a single self-contained binary.