Skip to content

Repository files navigation

Vitals

A terminal resource monitor for Linux built with notcurses.

C++20License: GPL v3PlatformCMakenotcurses

Debian 12 (Bookworm)Debian 13 (Trixie)Ubuntu 22.04 (Jammy)Ubuntu 24.04 (Noble)

Overview

Settings

⚡ Installation

Quick Install

Install the latest version with a single command:

bash <(curl -fsSL https://raw.githubusercontent.com/rebootless/vitals/main/install.sh)

The installer automatically:

  • Installs the required build dependencies
  • Clones the notcurses source
  • Builds the project
  • Installs vitals to /usr/local/bin
  • Installs the required libraries to /usr/local/lib

Safe to run multiple times.

Quick Uninstall

Remove vitals and the notcurses files installed alongside it with a single command:

bash <(curl -fsSL https://raw.githubusercontent.com/rebootless/vitals/main/uninstall.sh)

The uninstaller:

  • Reads the manifest left by install.sh and removes every file it installed (binary, notcurses libraries/headers/pkgconfig files)
  • Prunes any directories left empty
  • Removes the /etc/ld.so.conf.d entry added for /usr/local/lib and refreshes the linker cache
  • Asks before deleting your saved config at ~/.config/vitals

If vitals was installed a different way (no manifest present), it falls back to a best-effort removal of the vitals binary and matching notcurses libraries.

Build from Source(click to expand)

Clone the repository:

git clone https://github.com/rebootless/vitals.git
cd vitals

Prepare the build environment:

chmod +x setup.sh
./setup.sh

Build:

cmake -B build -DCMAKE_BUILD_TYPE=Release -DUSE_PANDOC=OFF
cmake --build build -j$(nproc)

Install:

sudo cmake --install build
echo"/usr/local/lib"| sudo tee /etc/ld.so.conf.d/usr_local_lib.conf
sudo ldconfig
Run Without Installing(click to expand)
git clone https://github.com/rebootless/vitals.git
cd vitals
chmod +x setup.sh
./setup.sh
cmake -B build -DCMAKE_BUILD_TYPE=Release -DUSE_PANDOC=OFF
cmake --build build -j$(nproc)
LD_LIBRARY_PATH="$(pwd)/build/notcurses" ./build/vitals

📊 Panels

PanelData sourceWhat it shows
CPU/proc/stat, cpufreqCPU usage, per-core activity, frequencies, history
GPUDRM sysfs, hwmon, nvidia-smiUtilization, VRAM, temperature, power
Memory/proc/meminfoRAM and swap usage
Network/proc/net/devPer-interface RX/TX throughput
Storage/proc/diskstats, statvfsFilesystem usage and disk I/O
Thermal/sys/class/thermal, /sys/class/hwmonCPU, GPU, and motherboard sensors

Note

The GPU panel is displayed only when a supported device is detected. Otherwise, the CPU panel expands to use the available space.

⌨️ Controls

KeyAction
qQuit
EscOpen the settings menu
TabSelect the next option
/ Change the selected value
EnterSave changes and close
Esc(in settings)Discard changes and close

📋 Requirements

  • Linux (kernel ≥ 4.x)
  • GCC or Clang with C++20 support
  • CMake ≥ 3.14
  • Internet access (required to download notcurses during setup)
  • Debian 12 / 13 or Ubuntu 22.04 / 24.04

📄 License

Licensed under the GNU General Public License v3.0. See the LICENSE file for details.

About

A terminal resource monitor for Linux built with notcurses.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages