dae 0.1.17

A Linux daemon management TUI and CLI with a subdued scrin interface.
dae-0.1.17 is not a library.
Visit the last successful build: dae-0.1.0

dae

dae is a Linux daemon management TUI and CLI for systemd services. It uses scrin for terminal UI structure with a red/orange flare dark palette by default and plain command output for direct service control.

Built by Trevor Knott and Knott Dynamics.

Install

cargo install dae

Run

dae

Run a direct CLI command when you do not need the TUI:

dae list
dae status
dae status nginx
dae check nginx
dae failed
dae journal nginx
dae events nginx
dae active nginx
dae enabled nginx
dae start nginx
dae stop nginx
dae restart nginx
dae try-restart nginx
dae reload nginx
dae reload-or-restart nginx
dae enable nginx
dae disable nginx
dae mask nginx
dae unmask nginx
dae daemon-reload
dae term nginx
dae kill nginx

dae status without a service prints a summary and the currently running services. dae status nginx prints the full systemctl status for nginx.service. Bare names such as nginx are treated as service units like nginx.service. Short aliases are available for common commands: ls, st, log, up, down, bounce, ror, is-active, and is-enabled.

Useful startup options:

dae --anomalies
dae --sort memory
dae --theme phosphor
dae --theme cypher
dae --lookback-hours 6
dae --page anomalies

What It Does

  • Lists Linux systemd services in a fast terminal cockpit.
  • Shows state, PID, memory, restart count, and anomaly signals.
  • Ranks services by a heuristic rarity/commonality score to surface custom or unusual daemons.
  • Keeps active services grouped above inactive rows, with inactive rows visually subdued.
  • Provides a dedicated anomaly page with severity, service, signal, and detail rows.
  • Opens service status, journal output, and notable event timelines for the selected daemon.
  • Flags failed units, restart storms, missing PIDs, non-success results, and high memory use.
  • Provides direct service commands through systemctl.
  • Also works as a plain CLI for scripts and quick daemon actions: dae <command> <service>.

Rendering

dae uses the current published scrin render path with an initial full repaint, resize full repaint, and dirty-bounds updates for steady-state frames. Text and table areas are forced back onto solid panel backgrounds so transparent terminals, background images, or old shell output do not bleed through the TUI while scrolling or hovering.

Controls

  • Tab: cycle active pane.
  • j / k: move selection or scroll the active pane.
  • Wheel: scroll the pane under the pointer one row at a time.
  • PgUp / PgDn: scroll by half a pane.
  • Home / End: jump within the active pane.
  • /: filter services.
  • a: anomaly-only view.
  • A: open anomaly page.
  • S: return to services page.
  • Enter: from anomaly page, jump to the selected service.
  • Ctrl+P / F1 / ?: command overlay.
  • / inside command overlay: search commands.
  • N: start a daemon by typing a service name.
  • H: action log for this session; j / k scroll it.
  • o: cycle sort mode.
  • p: cycle theme.
  • v: switch detail pane between journal, status, and events.
  • R: refresh services.
  • Enter / y: confirm a disruptive action prompt.
  • Esc / n: cancel a disruptive action prompt.

Daemon actions:

  • s: start selected service.
  • x: stop selected service.
  • r: restart selected service.
  • l: reload selected service.
  • t: send TERM.
  • K: send KILL.
  • e: enable selected service.
  • d: disable selected service.

stop, restart, disable, TERM, and KILL ask for confirmation before running.

Keywords

linux, daemon, systemd, scrin, aisling, dae, rust, Trevor Knott, Knott Dynamics

Cargo Package

The crate manifest uses a restrictive include list for source-controlled package inputs: Cargo.toml, README.md, LICENSE, and src/**. Cargo also generates package metadata such as .cargo_vcs_info.json, Cargo.lock, and Cargo.toml.orig. Local sessions, scratch notes, and workspace-only files stay out of releases.