Simple Terminal UI to monitor processes like a custom stats curse script, htop and others.
Two scripts are provided:
Name | Description |
---|---|
monitor.sh |
TUI tmux script to monitor multiple processes |
stats_curse.sh |
Curse script to monitor system information and others, based on Bash Simple Curses |
The following packages must be installed in your system:
tmux
htop
cava
curl
lm-sensors
nvidia-settings
smartctl
udisksctl
All package names provided are for Gentoo, so the naming in different distros may vary.
We are using Bash Simple Curses[1] repo as a git
submodule, so on initial pull:
% git submodule update --init
To pull updates:
% git pull --recurse-submodules
This section describes all the configuration needed to create your monitorring dashboard.
Script contains 3 processes to monitor:
stats_curse.sh
scripthtop
cava
Since this is a normal tmux
script, you can add more processes to monitor.
Don't forget to configure panes sizes for a nicer output.
Example dashboard:
Script uses Open-Meteo API[2] to retrieve current weather information, so we must provide our latitude and longitude at lines 31 and 32. Example:
lat=52.52
long=13.41
Now we can configure what we want to display in our window inside main function at line 217!
Default configuration dispays basic system info like user, hostname, time, date and weather.
Additionally we have system temperatures, like CPU, GPU and disks temperatures.
A function to retrieve each component type temperature is provided, so you need to configure devices accordingly and append their records in main function.
You can remove or add anything you want!
Both scripts can be executed by using their name:
% ./monitor.sh
# ./stats_curse.sh
We unfortunately need su
priviledges to execute smartctl
command, which is used to retrieve NVMe drives temperatures.
Feel free to suggest a non su
utility to replace smartctl
, and/or remove it entirely if you don't use NVMe drives.
[1] Bash Simple Curses: https://github.com/metal3d/bashsimplecurses
[2] Open-Meteo: https://open-meteo.com/