
nmlinux v1.7.11
Unified network toolkit for Linux — Python 3 + PySide6
NMLinux · v1.7.12
Un toolkit di rete unificato per Linux e macOS: ispeziona, connettiti, diagnostica.
NMLinux è un'unica GUI unificata che riunisce 29 moduli di rete in una finestra: monitoraggio interfacce, Wi-Fi, DNS, terminale SSH, visualizzatore firewall, mappa topologica, traceroute e altro. Sviluppato da zero in Python e PySide6 (Qt 6), con 8 lingue dell'interfaccia e nessuna dipendenza esterna oltre agli strumenti di sistema standard.
[!NOTE] NMLinux non è correlato al daemon di sistema Linux
/usr/bin/NetworkManager(NetworkManager di Red Hat/GNOME). NMLinux è un progetto autonomo sviluppato da zero in Python e PySide6.
Sviluppato con Claude Code (Anthropic) e il contributo del suo autore.
Processo di sviluppo
NMLinux è sviluppato con l'assistenza dell'IA — nello specifico Claude Code — e questo non è nascosto da nessuna parte in questo repository. Quasi ogni progetto software serio oggi usa l'IA da qualche parte nel proprio processo, che lo dichiari o meno. Quindi "se l'IA fosse coinvolta" non è la domanda interessante. La domanda interessante è: c'è qualcosa che intercetta gli errori dell'IA?
Ecco cosa lo fa, se preferisci verificare piuttosto che prendere la mia parola:
- 162 test —
pytest tests/ -v. Pura logica più una manciata di veri test dei widget Qt (menu, tabelle), senza simulare le parti interessanti. docs/Decisions-Techniques.md— ogni scelta tecnica non ovvia, le alternative scartate e i bug (inclusi quelli introdotti dall'IA) trovati e corretti, con il ragionamento documentato.docs/Architecture.mdedocs/Carte-des-Modules.md— la struttura reale del codice, mantenuta sincronizzata con ciò che viene distribuito.- Un controllo di coerenza i18n eseguito prima di ogni release per individuare chiavi di traduzione mancanti nelle 8 lingue supportate.
Nessuna di queste cose esiste perché l'IA non è affidabile. Esistono perché nulla dovrebbe essere distribuito senza un processo che lo verifichi — codice scritto a mano incluso. Giudica il risultato e come viene verificato, non lo strumento che ha aiutato a scriverlo.
Hai trovato comunque un bug? È utile, non imbarazzante — apri una segnalazione.
Comunità
Le discussioni su GitHub sono aperte — condividi feedback, segnala idee, fai domande o semplicemente saluta. L'autore ha oltre 30 anni di esperienza in infrastrutture e operazioni e ha creato questo strumento perché anche per Linux dovrebbe esistere software buono, gratuito e semplice.
Screenshot
Screenshot Linux dalla v1.2.7 — screenshot macOS dalla v1.3.5. L'app ora ha 29 moduli e 8 lingue dell'interfaccia (FR/EN/ES/DE/IT/PT/JA/ZH).
Linux (KDE)
| Dashboard | Topology |
|---|---|
![]() | ![]() |
| Traceroute | Wi-Fi |
|---|---|
![]() | ![]() |
macOS
| Dashboard | Traceroute |
|---|---|
![]() | ![]() |
Registro delle modifiche
v1.7.12 — 2026-08-12
- Traceroute — correzione: in Flatpak (v1.7.11, vedi sotto — ora rimosso),
tracerouteveniva sempre risolto suPATHtramite lo shim dell'host anche quando sull'host non era installato un vero binariotraceroute, quindi il worker non ripiegava mai sutracepathe la traccia terminava all'istante senza hop e senza errori mostrati. Ora ripiega sutracepathogni volta chetraceroutenon produce alcun output analizzabile, indipendentemente dal motivo del fallimento. - Terminale SSH — correzione askpass: quando
DISPLAY/WAYLAND_DISPLAYsono impostati (qualsiasi sessione GUI) e ssh non ha una tty pulita, può provare a usare$SSH_ASKPASSper la richiesta della password invece del terminale integrato — facendo fallire silenziosamente l'autenticazione se non è installato un helper askpass.SSH_ASKPASS_REQUIRE=neverora impone che le richieste di password passino sempre dal terminale stesso. - Packaging Flatpak rimosso: il manifest locale KDE Linux distribuito nella v1.7.11 è stato interrotto. L'indagine sul bug della richiesta password SSH sopra ha portato alla luce una limitazione a livello di kernel: un processo inoltrato tramite
flatpak-spawn --hostnon può mai diventare il proprietario del terminale di controllo della pty inoltrata (TIOCSCTTYrifiutato conEPERM— una sessione diversa e non correlata la possiede già; questo è un confine di sicurezza intenzionale del kernel, non un bug). L'unica soluzione alternativa (script, che alloca una nuova pty) risolve la richiesta della password ma rompe la propagazione live del ridimensionamento del terminale per quella sessione — ritenuta una scelta peggiore rispetto a non distribuire affatto Flatpak. AUR e AppImage sono i percorsi di installazione Linux supportati d'ora in poi.
v1.7.11 — 2026-08-03
- Packaging Flatpak (KDE Linux): un manifest di build locale in
packaging/flatpak/è destinato a KDE Linux e ad altre distribuzioni solo-Flatpak. Gli strumenti CLI dell'host a cui nmlinux delega l'esecuzione (nmcli,pkexec,mount.cifs,ssh,nmap, …) vengono collegati tramite shimflatpak-spawn --hostsuPATHinvece di mettere in sandbox ciascuno singolarmente; PySide6 proviene dalio.qt.PySide.BaseAppdi Flathub piuttosto che dalla wheel PyPI. Non pubblicato su Flathub — un singolo bundle.flatpakviene creato conpackaging/flatpak/build-bundle.she allegato a ogni release, esattamente come già avviene per l'AppImage. Interrotto nella v1.7.12 — vedi sopra.





