NVMe Temperature Monitor
Jednoduchá GUI aplikace v C++, která v reálném čase zobrazuje teploty NVMe disků.
Požadavky
- GTK 4 development balíčky
- Cairo development balíčky
- CMake >= 3.16
- GCC/Clang kompilátor s C++17
nvme-clibalíček nainstalovaný
Instalace závislostí (Ubuntu/Debian)
sudo apt-get install libgtk-4-dev libcairo2-dev cmake build-essential nvme-cli
Instalace závislostí (Fedora/RHEL)
sudo dnf install gtk4-devel cairo-devel cmake gcc-c++ nvme-cli
Instalace závislostí (Arch)
sudo pacman -S gtk4 cairo cmake base-devel nvme-cli
Kompilace
cd /home/kamma/projects/nvme-monitor
chmod +x build.sh
./build.sh
Spuštění
sudo ./build/nvme-monitor
Poznámka: Aplikace vyžaduje sudo oprávnění pro čtení informací z NVMe zařízení.
Funkce
- ✅ Detekce všech NVMe disků
- ✅ Čtení teplot z hlavního senzoru a dalších senzorů
- ✅ Reálný čas graf s více řadami (každý disk v jiné barvě)
- ✅ Nastavitelný interval obnovení (100-10000 ms)
- ✅ Tlačítko pro vymazání grafu
- ✅ Status bar s informacemi o počtu zařízení a odečtech
- ✅ Cairo kreslení pro hladké grafy
- ✅ Mřížka a popisky os
Struktura projektu
nvme-monitor/
├── CMakeLists.txt # Konfigurace CMake
├── src/
│ ├── main.cpp # Vstupní bod aplikace
│ ├── mainwindow.cpp # Hlavní okno UI (GTK)
│ ├── nvme_monitor.cpp # Logika čtení NVME dat
│ └── temperature_chart.cpp # Komponenta grafu (cairo)
├── include/
│ ├── mainwindow.h
│ ├── nvme_monitor.h
│ └── temperature_chart.h
└── build.sh # Build skript
Použití
- Spusťte aplikaci se sudo:
sudo ./build/nvme-monitor - Okno se otevře a začne automaticky číst teploty
- Používejte spinner pro změnu intervalu obnovení
- Stiskněte "Clear Data" pro vymazání grafu
- Stiskněte "Quit" pro ukončení aplikace
Poznámky
- Aplikace parsuje výstup z
nvme smart-logpříkazů - Podporuje více NVME zařízení, každé v jiné barvě
- Parsuje jak hlavní teplotu, tak dodatečné senzory teploty
- Graf drží posledních 300 datových bodů pro lepší výkon
- Kreslení grafů je implementováno s Cairo pro lepší flexibilitu
- Mřížka se automaticky škáluje podle rozsahu teplot
- Používejte spinner pro změnu intervalu obnovení
- Stiskněte "Clear Data" pro vymazání grafu
Poznamky
- Aplikace parsuje výstup z
nvme smart-logpříkazu - Podporuje více NVME zařízení, každé v jiné barvě
- Parsuje jak hlavní teplotu, tak dodatečné senzory teploty
- Graph drží posledních 300 datových bodů pro lepší výkon
Description
Languages
C++
96.1%
CMake
3%
CSS
0.7%
Shell
0.2%