
nmlinux v1.7.11
Унифицированный сетевой инструментарий для Linux — Python 3 + PySide6
NMLinux · v1.7.12
Единый сетевой инструментарий для Linux и macOS — проверка, подключение, диагностика.
NMLinux — это единый унифицированный GUI, объединяющий 29 сетевых модулей в одном окне: мониторинг интерфейсов, Wi-Fi, DNS, SSH-терминал, просмотр файрвола, карта топологии, traceroute и многое другое. Создан с нуля на Python и PySide6 (Qt 6), поддерживает 8 языков интерфейса и не требует внешних зависимостей, кроме стандартных системных инструментов.
[!NOTE] NMLinux не связан с системным демоном Linux
/usr/bin/NetworkManager(NetworkManager от Red Hat/GNOME). NMLinux — это самостоятельный проект, созданный с нуля на Python и PySide6.
Создан с помощью Claude Code (Anthropic) и при участии его автора.
Процесс разработки
NMLinux создан с помощью ИИ — а именно Claude Code — и это нигде не скрыто в этом репозитории. Почти каждый серьёзный программный проект сегодня использует ИИ где-то в своём конвейере, независимо от того, заявляет он об этом или нет. Поэтому вопрос «участвовал ли ИИ» не интересен. Интересен вопрос: что ловит ошибки, когда ИИ ошибается?
Вот что это, если вы предпочитаете проверить, а не верить мне на слово:
- 162 теста —
pytest tests/ -v. Чистая логика плюс несколько реальных тестов виджетов Qt (меню, таблицы), без имитации интересных частей. docs/Decisions-Techniques.md— каждое неочевидное техническое решение, отклонённые альтернативы и найденные и исправленные ошибки (включая ошибки, внесённые ИИ), с записанными обоснованиями.docs/Architecture.mdиdocs/Carte-des-Modules.md— фактическая структура кода, поддерживаемая в синхронизации с тем, что поставляется.- Проверка согласованности i18n, выполняемая перед каждым релизом для выявления отсутствующих ключей перевода во всех 8 поддерживаемых языках.
Ничего из этого не существует потому, что ИИ нельзя доверять. Это существует потому, что ничего не должно выпускаться без процесса проверки — включая код, написанный вручную. Оценивайте результат и то, как он проверяется, а не инструмент, который помог его написать.
Всё равно нашли ошибку? Это полезно, а не постыдно — откройте issue.
Сообщество
GitHub Discussions открыты — делитесь отзывами, сообщайте об идеях, задавайте вопросы или просто поздоровайтесь. У автора более 30 лет опыта в инфраструктуре и эксплуатации, и он создал этот инструмент, потому что хорошее, бесплатное и простое программное обеспечение должно существовать и для Linux.
Скриншоты
Скриншоты Linux из v1.2.7 — скриншоты macOS из v1.3.5. Приложение теперь имеет 29 модулей и 8 языков интерфейса (FR/EN/ES/DE/IT/PT/JA/ZH).
Linux (KDE)
| Dashboard | Топология |
|---|---|
![]() | ![]() |
| Traceroute | Wi-Fi |
|---|---|
![]() | ![]() |
macOS
| Dashboard | Traceroute |
|---|---|
![]() | ![]() |
Журнал изменений
v1.7.12 — 2026-08-12
- Traceroute — исправление: в Flatpak (v1.7.11, см. ниже — теперь удалено)
tracerouteвсегда разрешался наPATHчерез хост-шим, даже когда на хосте не был установлен реальный бинарникtraceroute, поэтому рабочий процесс никогда не переключался наtracepath, и трассировка завершалась мгновенно без хопов и без показа ошибки. Теперь он переключается наtracepathвсякий раз, когдаtracerouteвообще не выдаёт разбираемый вывод, независимо от причины сбоя. - SSH-терминал — исправление askpass: когда установлены
DISPLAY/WAYLAND_DISPLAY(любая GUI-сессия) и у ssh нет чистого tty, он может попытаться использовать$SSH_ASKPASSдля запроса пароля вместо встроенного терминала — что молча приводит к сбою аутентификации, если не установлен askpass-хелпер.SSH_ASKPASS_REQUIRE=neverтеперь заставляет запросы пароля всегда проходить через сам терминал. - Удалена упаковка Flatpak: локальный манифест для KDE Linux, поставлявшийся в v1.7.11, прекращён. Расследование ошибки запроса пароля SSH выше выявило ограничение на уровне ядра: процесс, переданный через
flatpak-spawn --host, никогда не может стать владельцем управляющего терминала пересылаемого pty (TIOCSCTTYотклоняется сEPERM— другую, несвязанную сессию уже владеет им; это намеренная граница безопасности ядра, а не ошибка). Единственный обходной путь (script, выделяющий новый pty) исправляет запрос пароля, но ломает передачу изменения размера живого терминала для этой сессии — признано худшим компромиссом, чем вообще не поставлять Flatpak. AUR и AppImage — поддерживаемые пути установки Linux в дальнейшем.
v1.7.11 — 2026-08-03
- Упаковка Flatpak (KDE Linux): локальный манифест сборки в
packaging/flatpak/нацелен на KDE Linux и другие дистрибутивы только с Flatpak. Хост-инструменты CLI, к которым обращается nmlinux (nmcli,pkexec,mount.cifs,ssh,nmap, …), связываются через шимыflatpak-spawn --hostнаPATHвместо песочницы для каждого по отдельности; PySide6 берётся изio.qt.PySide.BaseAppна Flathub, а не из колеса PyPI. Не опубликовано на Flathub — вместо этого собирается один пакет.flatpakс помощьюpackaging/flatpak/build-bundle.shи прикрепляется к каждому релизу, так же, как уже делается с AppImage. Прекращено в v1.7.12 — см. выше.
v1.7.10 — 2026-08-03
- SSH-терминал — исправление: исправлена гонка, из-за которой PTY мог запускаться с неправильным (по умолчанию 24×80) размером, если фактический размер виджета терминала ещё не был известен на момент запуска сессии, что молча отбрасывало запрос на изменение размера. Это рассинхронизировало удалённые полноэкранные приложения (например, Claude Code CLI, htop, vim) с реальным размером окна, вызывая устаревший/остаточный текст внизу экрана, который очищался только при прокрутке нового вывода. Сообщено пользователем; воспроизведено с реальной интерактивной сессией





