
nmlinux v1.7.11
Toolkit de rede unificado para Linux — Python 3 + PySide6
NMLinux · v1.7.12
Um kit de ferramentas de rede unificado para Linux e macOS — inspecione, conecte, diagnostique.
O NMLinux é uma GUI única e unificada que reúne 29 módulos de rede em uma única janela: monitoramento de interfaces, Wi-Fi, DNS, terminal SSH, visualizador de firewall, mapa de topologia, traceroute e muito mais. Construído do zero em Python e PySide6 (Qt 6), com 8 idiomas de interface e sem dependências externas além das ferramentas padrão do sistema.
[!NOTE] O NMLinux não está relacionado ao daemon do sistema Linux
/usr/bin/NetworkManager(NetworkManager da Red Hat/GNOME). O NMLinux é um projeto independente construído do zero em Python e PySide6.
Construído com Claude Code (Anthropic) e a contribuição do seu autor.
Processo de desenvolvimento
O NMLinux é construído com assistência de IA — Claude Code, especificamente — e isso não está escondido em nenhum lugar deste repositório. Quase todo projeto de software sério hoje usa IA em algum lugar do seu pipeline, quer diga ou não. Portanto, "a IA esteve envolvida" não é a pergunta interessante. A pergunta interessante é: existe algo que detecte quando a IA erra?
Aqui está o que faz isso, se preferir verificar em vez de aceitar minha palavra:
- 162 testes —
pytest tests/ -v. Lógica pura mais um punhado de testes reais de widgets Qt (menus, tabelas), sem simular as partes interessantes. docs/Decisions-Techniques.md— cada decisão técnica não óbvia, as alternativas que foram rejeitadas e os bugs (incluindo os introduzidos por IA) que foram encontrados e corrigidos, com o raciocínio documentado.docs/Architecture.mdedocs/Carte-des-Modules.md— a estrutura real do código, mantida em sincronia com o que é distribuído.- Uma verificação de consistência i18n executada antes de cada lançamento para detectar chaves de tradução ausentes nos 8 idiomas suportados.
Nada disso existe porque a IA não pode ser confiável. Existe porque nada deveria ser lançado sem um processo que o verifique — código escrito à mão incluído. Julgue o resultado e como ele é verificado, não a ferramenta que ajudou a escrevê-lo.
Encontrou um bug mesmo assim? Isso é útil, não embaraçoso — abra uma issue.
Comunidade
GitHub Discussions estão abertos — compartilhe feedback, relate ideias, faça perguntas ou apenas diga olá. O autor tem mais de 30 anos em infraestrutura e operações, e construiu esta ferramenta porque software bom, gratuito e simples também deveria existir para Linux.
Capturas de tela
Capturas de tela do Linux da v1.2.7 — capturas de tela do macOS da v1.3.5. O aplicativo agora tem 29 módulos e 8 idiomas de interface (FR/EN/ES/DE/IT/PT/JA/ZH).
Linux (KDE)
| Dashboard | Topologia |
|---|---|
![]() | ![]() |
| Traceroute | Wi-Fi |
|---|---|
![]() | ![]() |
macOS
| Dashboard | Traceroute |
|---|---|
![]() | ![]() |
Registro de alterações
v1.7.12 — 2026-08-12
- Traceroute — correção: sob Flatpak (v1.7.11, veja abaixo — agora removido),
traceroutesempre resolvia noPATHvia o shim do host mesmo quando o host não tinha um binário real detracerouteinstalado, então o worker nunca recorria aotracepathe o trace terminava instantaneamente sem hops e sem erro exibido. Agora ele recorre aotracepathsempre quetraceroutenão produz nenhuma saída analisável, independentemente do motivo da falha. - Terminal SSH — correção do askpass: quando
DISPLAY/WAYLAND_DISPLAYestão definidos (qualquer sessão GUI) e o ssh não tem um tty limpo, ele pode tentar$SSH_ASKPASSpara o prompt de senha em vez do terminal embutido — falhando silenciosamente na autenticação se nenhum helper askpass estiver instalado.SSH_ASKPASS_REQUIRE=neveragora força os prompts de senha a sempre passarem pelo próprio terminal. - Empacotamento Flatpak removido: o manifesto local para KDE Linux distribuído na v1.7.11 foi descontinuado. A investigação do bug do prompt de senha SSH acima revelou uma limitação em nível de kernel: um processo retransmitido via
flatpak-spawn --hostnunca pode se tornar o proprietário do terminal de controle do pty encaminhado (TIOCSCTTYrecusado comEPERM— uma sessão diferente e não relacionada já o possui; isso é um limite de segurança intencional do kernel, não um bug). A única alternativa viável (script, alocando um pty novo) corrige o prompt de senha, mas quebra a propagação de redimensionamento do terminal ao vivo para essa sessão — considerado um trade-off pior do que não distribuir Flatpak. AUR e o AppImage são os caminhos de instalação Linux suportados daqui em diante.
v1.7.11 — 2026-08-03
- Empacotamento Flatpak (KDE Linux): um manifesto de build local sob
packaging/flatpak/tem como alvo KDE Linux e outras distros somente Flatpak. As ferramentas CLI do host que o nmlinux invoca (nmcli,pkexec,mount.cifs,ssh,nmap, …) são conectadas via shimsflatpak-spawn --hostnoPATHem vez de sandboxar cada uma individualmente; o PySide6 vem doio.qt.PySide.BaseAppdo Flathub em vez da wheel do PyPI. Não publicado no Flathub — um único bundle.flatpaké construído compackaging/flatpak/build-bundle.she anexado a cada lançamento, da mesma forma que o AppImage já é. Descontinuado na v1.7.12 — veja acima.





