Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aggstam/tui-monitor
Simple Terminal UI to monitor processes like a stats curse script, htop and others.
https://github.com/aggstam/tui-monitor
bash curses htop monitoring-tool temp-sensor tmux tui weather-info
Last synced: about 2 months ago
JSON representation
Simple Terminal UI to monitor processes like a stats curse script, htop and others.
- Host: GitHub
- URL: https://github.com/aggstam/tui-monitor
- Owner: aggstam
- License: gpl-3.0
- Created: 2022-11-14T11:17:01.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-18T11:15:02.000Z (11 months ago)
- Last Synced: 2024-02-18T12:26:24.542Z (11 months ago)
- Topics: bash, curses, htop, monitoring-tool, temp-sensor, tmux, tui, weather-info
- Language: Shell
- Homepage:
- Size: 180 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# tui-monitor
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 |## Dependencies
The following packages must be installed in your system:
1. `tmux`
2. `htop`
3. `cava`
4. `curl`
5. `lm-sensors`
6. `nvidia-settings`
7. `smartctl`
8. `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
```## Configuration
This section describes all the configuration needed to create your monitorring dashboard.### monitor.sh
Script contains 3 processes to monitor:
1. `stats_curse.sh` script
2. `htop`
3. `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:![Screenshot](https://github.com/aggstam/tui-monitor/blob/main/screenshot.png)
### stats_curse.sh
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!
## Execution
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.## References
[1] Bash Simple Curses: https://github.com/metal3d/bashsimplecurses
[2] Open-Meteo: https://open-meteo.com/