βœ“ Stable v0.1.0

gartop

Real-time system monitor for the gardesk desktop

gartop is a daemon-based system monitor featuring real-time graphs for CPU, memory, network, and disk I/O. It includes an interactive process list with tree view, sorting, search, and kill functionality, plus automatic container detection for Docker, Podman, and Kubernetes. Built on gartk with a Catppuccin-themed interface and per-process network socket tracking.

🎯 RPM Available

Installation

Using DNF (Recommended)

$sudo dnf config-manager --add-repo https://repos.musicsian.com/musicsian.repo
$sudo dnf install gartop

Building from Source

$git clone https://github.com/espadon/gardesk.git
$cd gardesk/gartop
$cargo build --release
$sudo cp target/release/gartop /usr/local/bin/
$sudo cp target/release/gartopctl /usr/local/bin/

Quick Start

$# Launch the GUI (auto-starts daemon if needed)
$gartop
$# Or start daemon separately
$gartop daemon &
$gartop gui
$# Open directly to a specific tab
$gartop --pane memory
$gartop --pane network
$# Run daemon in foreground (debugging)
$gartop daemon --foreground

Keyboard Shortcuts

Key Action
Tab Cycle to next tab (CPU β†’ Memory β†’ Network β†’ Disk)
1 / 2 / 3 / 4 Jump to CPU / Memory / Network / Disk tab
Up / k Move selection up in process list
Down / j Move selection down in process list
Page Up Page up in process list
Page Down Page down in process list
Home / g Jump to first process
End / G Jump to last process
f Freeze/unfreeze updates (for manual navigation)
t Toggle tree view (process hierarchy)
/ or s Search/filter processes by name
k Kill selected process (sends SIGTERM)
K Force kill selected process (sends SIGKILL)
h / ? Show help overlay
q / Escape Quit (or clear search)

Features

Real-time Graphs

Time-series visualization with 5-minute history. Line graphs with optional fill, configurable grid lines, legend, and auto-scaled Y-axis.

Process Management

Tree view with parent-child hierarchy, 10 sort modes, search filter, freeze mode for navigation, and kill with SIGTERM/SIGKILL.

Per-Process Network

Socket tracking via netlink INET_DIAG. TCP/UDP counts, listen/established states, and bandwidth rates per process.

Container Detection

Automatic identification of Docker, Podman, Kubernetes, and LXC containers via cgroup path parsing.

Hardware Sensors

Temperature sensors from /sys/class/hwmon. GPU utilization, VRAM, clock speed, and power usage for AMD DRM devices.

IPC Control

JSON protocol over Unix socket. gartopctl for scripted queries, garbar integration, and real-time event subscription.