Lulo Documentation
Design and technical reference for Lulo — a terminal Linux management and observability tool. Last updated 2026-06-29.
Lulo is built on a three-process architecture: a Notcurses TUI frontend (lulo),
an unprivileged user/session daemon (lulod), and a privileged system daemon
(lulod-system). The frontend never writes a system file — all privilege is
concentrated behind two Unix-socket protocols and reached through an authenticated RW lease.
These pages document each component from its real implementation: the scheduler engine, the IPC
and auth model, the focus providers, and every TUI page.
Architecture & Design
-
Architecture Overview
CORE
The three processes, the privilege boundary, source layout, and design rules.
-
Process Model & IPC
CORE
The two sockets, the wire protocol, the embedded polkit auth agent, the RW lease, edit sessions, and proc tracing.
-
Scheduler
CORE
Sparse-overlay profiles, fnmatch matchers, the exclude/focus/rule/background resolution, and continuous syscall-level enforcement.
-
Focus Providers
CORE
KDE and GNOME focused-window detection over one session-bus contract, with opposite data directions.
TUI Pages
-
CPU & Process View
PAGE
The decoupled CPU/proc sampling pipeline, per-core heatmap, arena-built process tree, and tracing.
-
Disk View
PAGE
A daemon-free, synchronous multi-panel dashboard over /proc, /sys/block, and the mount tables.
-
Cgroups View
PAGE
A live /sys/fs/cgroup browser bridged to the systemd unit definitions that shape each limit.
-
Systemd View
PAGE
A merged system + user inventory over sd-bus, with true reverse-dependency closures.
-
Tune View
PAGE
A live tunables explorer with staged edits, portable .ltune bundles, and a privileged apply path.
-
Udev View
PAGE
Rules, hwdb, and live device records read straight from /run/udev/data — no libudev.
Build & Operations
-
Install & Packaging
OPS
Build targets, the /usr footprint, the two systemd units, the GNOME extension step, and packaging.
Lulo by Jordan Johnston — github.com/nine7nine/lulo
Terminal Linux management & observability | 2026-06-29