Widget monitor sistem untuk desktop Linux — CPU per core, RAM, jaringan, NVMe + SMART, kesehatan baterai, usia instalasi, sensor, database, web server, firewall, dan Docker, langsung di atas wallpaper kamu.
🇮🇩 Bahasa Indonesia · 🇬🇧 English
| 🧠 CPU | Penggunaan tiap core dengan grafik riwayat, rata-rata, dan frekuensi |
| 💾 Memori & Swap | RAM, memori tersedia, dan semua swap (swap file, zram) terpisah |
| 🌐 Jaringan | Status internet + latensi, SSID & sinyal WiFi, kecepatan download/upload |
| ⚡ NVMe | Status controller, model SSD & firmware, suhu, I/O baca/tulis, kapasitas tiap partisi |
| 🩺 SMART NVMe | Kesehatan, cadangan, keausan, data ditulis/dibaca, jam nyala, siklus daya, shutdown tak aman |
| 🔋 Baterai | Kapasitas, kesehatan (penuh vs desain), siklus, daya, model |
| 🕰️ Usia instalasi | Sudah berapa lama Linux terpasang di komputer |
| 📊 Dashboard | Jendela terpisah: ringkasan dengan pie, bar, dan grafik garis, plus tab detail per layanan |
| 🌡️ Sensor | Semua sensor suhu dan kipas |
| 🌐 Web & firewall | Nginx, Apache, UFW — status, versi, proses, memori |
| 🗄️ Database | PostgreSQL, MariaDB, MongoDB, Redis — status, versi, proses, memori, latensi |
| 🐳 Docker | Daftar container (status/health) dan image (ukuran, sedang dipakai atau tidak) |
| 🎨 Tampilan | 8 tema (background + warna teks serasi), hilangkan background, selalu di atas, 3 font, efek glow |
| 🚦 Indikator warna | 🟢 bagus · 🟡 hati-hati · 🔴 tinggi |
| 🌍 Dua bahasa | Indonesia dan English, ganti dari menu |
| 🔔 System tray | Ikon di tray, autostart saat login (bisa diatur on/off) |
Tidak butuh root. Cek database tanpa username/password — hanya memeriksa apakah server merespons.
📸 Lebih banyak tampilan
Tanpa background
Tema Hijau (Matrix) + font Monospace
English
Screenshot dibuat dengan
scripts/screenshots.py. Grafik riwayat, container Docker, dan nama WiFi di gambar adalah data demo.
Unduh .deb terbaru dari halaman Releases, atau langsung dari folder dist/ di repo ini (desktop-htop_<versi>_all.deb), lalu:
sudo apt install ./desktop-htop_*_all.deb
desktop-htopSetelah terpasang, widget jalan otomatis saat login. Kalau ikon di launcher belum berubah:
kbuildsycoca6 --noincremental # KDE Plasma 6; atau login ulangsudo apt install python3-psutil python3-pyqt5 lm-sensors network-manager smartmontools
git clone https://github.com/<username>/<repo>.git
cd <repo>
python3 htop_widget.pyButuh dpkg-deb, python3, python3-pyqt5, python3-psutil (dan lintian, desktop-file-utils untuk make lint). Versi diambil dari file VERSION. Hasil build di dist/ ikut di-commit supaya orang bisa langsung memakainya.
make deb # hasil: dist/desktop-htop_<versi>_all.deb
make lint # lintian + validasi .desktop- Drag dengan klik kiri untuk memindahkan widget (posisi tersimpan).
- Arahkan mouse ke chart mana pun untuk melihat nilainya (grafik garis punya garis penanda; irisan donut menampilkan persen).
- Klik kanan widget atau ikon tray untuk membuka menu.
- Dashboard langsung tampil saat aplikasi dibuka. Klik kiri ikon tray untuk menyembunyikan/menampilkannya; menutup jendela hanya menyembunyikan (aplikasi tetap di tray).
- Widget kecil di desktop bersifat opsional: centang Tampilkan widget di desktop di menu.
| Menu | Fungsi |
|---|---|
| Kunci posisi | Cegah widget tergeser tidak sengaja |
| Buka Dashboard | Jendela dashboard: tab Ringkasan + satu tab per layanan (CPU, Memori, Jaringan, NVMe, Baterai, Sistem, database, web server, UFW, Docker) |
| Tampilkan di atas | Widget selalu di depan window lain (bawaan: di bawah, di atas wallpaper) |
| Tampilkan background | Matikan untuk teks langsung di atas wallpaper |
| Transparansi background | Tipis / Sedang / Pekat |
| Layanan monitoring | Per layanan: tampilkan/sembunyikan dan ubah port; Docker: tampilkan/sembunyikan |
| Efek visual (glow) | Gradasi, glow, fade-in |
| Tema | Default, Hitam, Biru, Hijau (Matrix), Amber, Ungu, Merah, Terang — warna background dan teks ikut berganti |
| Jenis font | Sans, Monospace, Serif |
| Bahasa / Language | Bahasa Indonesia, English |
| Interval update | 1 detik, 5 detik, 30 detik, 1 menit |
| Jalankan otomatis saat login | On/off |
💡 Tema Terang (teks gelap) cocok untuk wallpaper terang; matikan background kalau ingin teks langsung di wallpaper.
Semua pilihan disimpan di ~/.config/desktop_htop.json:
{
"x": 40, "y": 60,
"opacity": 140, "show_bg": true, "fx": true,
"theme": "Default", "font": "Sans", "lang": "id",
"interval": 1, "locked": false,
"services": {
"PostgreSQL": {"show": true, "port": 5432},
"MariaDB": {"show": true, "port": 3306},
"MongoDB": {"show": true, "port": 27017},
"Redis": {"show": true, "port": 6379},
"Nginx": {"show": true, "port": 80},
"Apache": {"show": true, "port": 80},
"UFW": {"show": true},
"Docker": {"show": true}
}
}Autostart disimpan di ~/.config/autostart/desktop-htop.desktop dan menimpa pengaturan bawaan paket.
| Data | Sumber |
|---|---|
| CPU, RAM, jaringan, sensor, baterai | psutil |
| Swap | /proc/swaps |
| NVMe | /sys/class/nvme/… + psutil |
| SMART NVMe | smartctl -j (dicek tiap 5 menit) |
| Baterai | /sys/class/power_supply/BAT* (kesehatan = energy_full / energy_full_design) |
| Usia instalasi | waktu pembuatan /var/log/installer, atau filesystem root (stat %W) |
| Nginx / Apache | HEAD / ke port lokal + cek proses |
| UFW | /etc/ufw/ufw.conf dan /etc/default/ufw (tanpa root; daftar aturan hanya jika terbaca) |
| WiFi (SSID, sinyal) | nmcli |
| Internet | koneksi TCP ke 1.1.1.1:53 / 8.8.8.8:53 |
| PostgreSQL | SSLRequest ke port 5432 |
| MariaDB / MySQL | membaca handshake greeting (versi server) |
| MongoDB | perintah buildInfo (OP_MSG), tanpa autentikasi |
| Redis | PING lalu INFO server (-NOAUTH tetap dianggap hidup) |
| Docker | Engine API lewat /var/run/docker.sock (user harus ada di grup docker) |
Pengecekan layanan jalan di thread terpisah dan hanya untuk layanan yang ditampilkan, jadi UI tetap ringan.
- Diuji di Debian 13 + KDE Plasma (X11). Di Wayland, penempatan window "di bawah semua window" bisa berbeda.
- SMART NVMe butuh akses root. Setelah
smartmontoolsterpasang, klik tombol Login root… di bagian SMART (isi password root; tidak disimpan), atau jalankan sekalisudo desktop-htop-smart-setup(menambah aturan sudoers sempit untuk satu perintah baca; cabut dengan--remove). Hanya/dev/nvme0. - Usia instalasi adalah perkiraan dari waktu pembuatan filesystem/log installer.
- Docker: belum menampilkan CPU/memori per container.
- Jumlah proses & memori database dihitung dari nama proses lokal; database di dalam container Docker hanya terlihat statusnya lewat port.
| Masalah | Solusi |
|---|---|
| Dashboard tidak kelihatan | Klik ikon tray, atau klik kanan → Tampilkan / sembunyikan dashboard |
| Widget desktop tidak kelihatan | Centang Tampilkan widget di desktop. Widget berada di bawah semua window; tampilkan desktop atau aktifkan Tampilkan di atas |
| Ikon tray tidak muncul | Pastikan System Tray aktif di panel |
| Docker: "akses ditolak" | sudo usermod -aG docker $USER, lalu login ulang |
| Ikon launcher lama | kbuildsycoca6 --noincremental atau login ulang |
| SMART: "smartctl belum terpasang" | sudo apt install smartmontools |
| SMART: "butuh izin root" | Klik Login root… dan isi password root, atau sudo desktop-htop-smart-setup. Kalau akun root dikunci (Ubuntu), pakai sudo desktop-htop-smart-setup |
| Tidak mau autostart | Cek centang Jalankan otomatis saat login di menu |
- CPU/memori per container Docker
- Dukungan GPU (NVIDIA/AMD)
- Peringatan notifikasi saat nilai melewati ambang
- Ambang warna yang bisa diatur
Issue dan pull request dipersilakan. Struktur repo:
htop_widget.py # seluruh aplikasi (PyQt5)
packaging/ # pohon paket Debian (control, .desktop, ikon, man page)
scripts/ # build-deb.sh, make_icons.py, screenshots.py
docs/ # logo dan screenshot
.github/workflows/ # CI: build .deb
Terjemahan ada di katalog I18N pada htop_widget.py — menambah bahasa cukup menambah satu kolom.
GPL-3.0 © 2026 Suryo Adhy Chandra
Ikon petir adalah gambar sendiri dan bukan logo resmi pihak mana pun.


