
2026/05/31 1:40
HN: BornToBeRoot が作った無料の Linux 版 NETworkManager です
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
NMLinux v1.2.9 は 2026 年 5 月 30 日にリリースされ、BornToBeRoot の NETworkManager に基づいたフリーの Python/PySide6 アプリケーションである NMLinux の重要なアップデートです。これは Red Hat の
/usr/bin/NetworkManager のポートではなく、从头書き直されたものです。このスタンドアロンツールは、システム固有のデーモンや GNOME Breeze などのデフォルトアイコンテーマに依存せず、一般的なネットワークユーティリティを一つのグラフィカルインターフェース上で統一します。
v1.2.9 の主なアップデートには、TigerVNC サポートを含む VNC 管理モジュール、macOS ARD 互換性(DH30 認証)、そして機密認証情報がローカルに決して保存されないことを保証する強化されたセキュリティ対策が含まれます。以前のバージョンでは多数の機能が追加されました:
- v1.2.8 は
を外部プロセスとして起動するリモートデスクトップ(RDP)モジュールを追加しました。xfreerdp - v1.2.7 は QSvgRenderer 経由でシステムアイコンテーマ(Breeze や Adwaita など)への依存を排除するため、21 つの Lucide SVG アイコン(#60a5fa)をバンドルしました。
- v1.2.6 は各種 Linux ディストリビューションでの互換性問題を修正し、
によるテーマ自動検知を改善しました。gsettings - v1.2.5 はリアルタイム診断用の埋め込み
、ライブロス/RTT テーブル、CSV/TXT エクスポート機能を備え、依存関係のない Speed Test をmtr
と Cloudflare を使用して実装しました。curl - v1.2.0 はダッシュボードでのサブネットマスク可視化、ネットワークスキャン用エクスポートボタン、そしてフルランタイムライト/ダークテーマ切り替えを導入しました。
- v1.1.1 は pyte サポートによる VT100/xterm エミュレーション、256 色対応、および広範なスクロールバック履歴を含む完全な SSH ターミナル書き換えを含むことを特徴としています。
- v1.1.0 はホップごとのライブジオロケーションを持つビジュアルトラースルーート世界地図を搭載しました。
最初のリリース(v1.0.0)は 2026 年 5 月 14 日に登場し、ダッシュボード、インターフェース、Wi-Fi、サブネット計算機、DNS ランクアップ、ピングモニター、IP スキャナ、ポートスキャナ、Nmap、Whois、SNMP、SNTP/NTP、SSH の計 13 モジュールを備えていました。NMLinux は
iproute2、networkmanager、bind-tools、nmap、whois、net-snmp、curl などの主要なシステムツールをサポートし、必要に応じて xfreerdp/xfreerdp3 や vncviewer(TigerVNC)といった外部ツールも利用します。
カスタム SVG アイコンをバンドルし、ライトテーマとダークテーマの両方をサポートすることで、NMLinux は異なる Linux ディストリビューションでも一貫した視覚体験を提供します。今後の開発では、進化続ける Python フレームワークとの互換性を維持しつつ、サードパーティ製ツールの統合を拡大していくことを目指しています。究極的には、このプラットフォームは、冗長な外部依存関係の管理やシステム固有のテーマ競合を気にすることなく、複雑なネットワークタスクを安全に実行することを専門家へ提供します。
本文
NMLinux v1.2.9 - 日本語解説文書
NMLinux は、Python および PySide6(Qt 6) でゼロから再実装された Linux 向けのオープンソース・ネットワーク管理ツールの独立したプロジェクトです。NETworkManager(作者:BornToBeRoot)のコンセプトに触発され、システム管理者やパワーユーザーが Linux デスクトップ上で必要とする一般的なネットワークツールを単一の統合されたグラフィカルインターフェースで提供することを目的としています。
注釈: NMLinux は、Red Hat/GNOME 社製のシステムデモンド
(/usr/bin/NetworkManager)とは関係ありません。名称の由来は Windows 向けの同名ツールの「NETworkManager」にあります。NetworkManager
スクリーンショット機能
| カテゴリ | 説明 |
|---|---|
| ダッシュボード | ローカルマシンの概要表示 |
| トポロジー図 | LAN デバイスの自動発見とインタラクティブなグラフ表示 |
| トレースルート | ワールドマップ上の経路可視化、Live 位置情報 |
| Wi-Fi | 利用可能なネットワークの監視と管理 |
バージョン履歴詳細
v1.2.9 — 2026 年 5 月 30 日
- VNC 機能追加:
- VNC コネクションプロフィールを管理する新モジュール。SSH/RDP と同様、グループ/サブグループをサポート。
(TigerVNC)を起動し、macOS ARD 認証もネイティブ対応。vncviewer- パスワードは一切保存せず。インストール検出機能付き。
- 「ツールとサービス」セクション: アプリ依存サードパーティツールおよび API のリスト追加。
- 国際化(i18n)の進展: ハードコードフランス語から 4 ユーザー言語(FR/EN/ES/DE)へ翻訳。23 つのナビゲーションヒントを追加。トポロジー図、接続、サブネットなどのラベル修正。
v1.2.8 — 2026 年 5 月 30 日
- リモートデスクトップ (RDP) 機能追加:
- Windows RDP コネクションプロフィール管理モジュールの追加。
を外部プロセスとして起動し、グループ/サブグループをサポート。xfreerdp- パスワードは接続時のみ求められ、一切保存されません。
- ホスト名、ポート、ユーザー名、ドメイン、解像度、画面全面表示などの設定可能。
v1.2.7 — 2026 年 5 月 26 日
- 内蔵 Lucide アイコン:
- MIT ライセンスの 21 つの SVG アイコンをバンドルし、
を使用してレンダリング。QSvgRenderer - システムアイコンテーマ(Breeze, Adwaita など)に依存しないため、環境に適応。
- MIT ライセンスの 21 つの SVG アイコンをバンドルし、
v1.2.6 — 2026 年 5 月 24 日
- GNOME / Adwaita 互換性向上:
- KDE 以外でもアイコン表示が安定。「main.py」で
を通じて GTK テーマを自動検出・適用。gsettings - Wi-Fi、MTR など複数機能のフォールバックチェーン拡張。
- KDE 以外でもアイコン表示が安定。「main.py」で
- NixOS / KDE 互換性向上:
- Breeze 6.x SVGZ 対応。Nix ウラッパー経由で Qt のレンダリング環境を整備。
- アイコンサイズ判定ロジックの改善(22px→24px など)。
v1.2.5 — 2026 年 5 月 23 日
- MTR:
- 内蔵マイ・トレースルート機能の実装。
出力をリアルタイム解析。mtr --report - Loss %, RTT(最後・平均・最良・最悪・ジッター)を含むライブテーブル表示。
- 損失状況による色分け、連続モード、CSV/TXT エクスポート対応。
- 内蔵マイ・トレースルート機能の実装。
- スピードテスト:
- curl と Cloudflare を使用した、外部ツール不要なスループット測定(DL/UL/Ping)。
- 履歴グラフ表示(最大 5 回の試行分保持)。
- ファイアウォール表示:
- Root 権限なしで
および/etc/nftables.conf
の読み込みが可能。/etc/iptables/*.rules
を用いたライブルールセット表示機能。pkexec nft list ruleset
- Root 権限なしで
- UI 改善: ナビゲーションエントリーに**「?」バッジ**追加。ホバー時にツールヒントを表示。
v1.2.0 — 2026 年 5 月 22 日
- テーマ適応: ライト/ダークモードのフルサポート。「is_dark()」などの新しいコア機能導入。
- サブネットマスク表示: CIDR プレフィスから自動的に点線小数形式(例:255.255.255.0)を導出・表示。
- 帯域幅モニター改善: 不安定な自動開始を「明確な開始/停止ボタン」に置き換え。
- CSV/TXT エクスポート: Nmap およびトレースルート完了時に即時実行ボタンが表示。
v1.1.1 — 2026 年 5 月 16 日
- SSH 端末の完全再実装:
(VT100/xterm) とpyte
を使用。QPainter- スクロールバック(2000 ライン)、カーソル 깜빡임、256 色対応。
- 視覚的トレースルート:
- ワールドマップ(Natural Earth)、Live 位置情報、ズーム/パン機能。
- 帯域幅モニター強化: 各インタフェースごとのリアルタイムスループット表示、60 秒スライディンググラフ。
- ウェイクオンLAN (WoL): 純粋な Python マジックパケット生成。永続的なホストブック(JSON)機能。
- IP スキャナー: DNS/mDNS/NetBIOS を含むホスト名解決、MAC アドレス、ベンダー情報の表示。
v1.0.0 — 2026 年 5 月 14 日
- 初の公開リリース(13 モジュール搭載:ダッシュボード、インタフェース、Wi-Fi、サブネット計算機、DNS ルックアップ、PING モニター、IP スキャナー、ポートスキャナー、Nmap、Whois、SNMP、SNTP/NTP、SSH)。
機能一覧
| モジュール | 主な機能と説明 |
|---|---|
| ダッシュボード | ローカルマシンの情報(ゲートウェイ、パブリック IP、位置情報、DNS) |
| 接続マネージャー | による NetworkManager プロフィールの管理(フィルタ、接続/切断、編集) |
| インタフェース | 詳細情報(ip + nmcli)を含むネットワークインタフェーステーブル表示 |
| Wi-Fi | 利用可能なネットワーク、信号強度バー、セキュリティ情報のハイライト表示 |
| サブネット計算機 | CIDR からネットワーク/ブロードキャスト範囲の導出(最大 4096 エントリ) |
| DNS ルックアップ | を用いた A, AAAA, MX, TXT, NS, CNAME, PTR, SOA, ANY のクエリ |
| PING モニター | 複数ホストへの連続 Ping、RTT 統計、パケット損失率表示 |
| IP スキャナー | CIDR/範囲スキャン(50 スレッド)、MAC、ベンダー(OUI)、CSV/TXT エクスポート |
| ポートスキャナー | TCP 接続スキャン(200 スレッド)、サービスプリセット対応 |
| Nmap | 7 スキャンモード、XML 出力解析、詳細テーブル表示、エクスポート機能 |
| Whois | 生 whois 出力をモノスペースフォントで表示 |
| SNMP | 、v1/v2c、オイドプリセット対応 |
| SNTP / NTP | RFC 4330 UDP クライアントによる時間同期(オフセット/遅延計測) |
| SSH | 埋め込み PTY テルミナル(pyte)、キー認証、スクロールバック対応 |
| リモートデスクトップ | RDP プロフィール管理、 起動、パスワード非保持機能付き |
| VNC | VNC プロファイル管理、TigerVNC () 起動、macOS ARD 互換性あり |
| 視覚的トレースルート | ワールドマップ上の経路表示、Live 位置情報(ip-api.com)、ズーム/パン |
| MTR | 内蔵マイ・トレースルート。Loss %, RTT 統計のリアルタイム解析と色分け表示 |
| ファイアウォール表示 | Root 不要な nftables/iptables ルールセット読み込み、ライブフィルタリング |
| スピードテスト | Cloudflare 経由の DL/UL/Ping、履歴グラフ表示(最後の 5 回) |
| 帯域幅 | インターフェース別リアルタイムスループット、60 秒スライディンググラフ |
| ウェイクオン LAN | Python によるマジックパケット生成、永続ホストブック機能 |
| トポロジーマップ | による LAN デバイス発見、インタラクティブなノード図 |
| 設定 | 言語選択(FR/EN/ES/DE)と各種環境の永続化設定 |
システム要件
必須システムツール
大部分は標準 Linux に搭載されています。ディストリビューションに応じたインストールコマンドを参照してください。
Arch / EndeavourOS
sudo pacman -S iproute2 networkmanager bind-tools nmap whois net-snmp iputils mtr curl
Debian / Ubuntu
sudo apt install iproute2 network-manager dnsutils nmap whois snmp mtr-tiny curl
Fedora
sudo dnf install iproute NetworkManager bind-utils nmap whois net-snmp-utils mtr curl
オプションツール一覧
| ツール | 機能 | Arch パッケージ | Debian パッケージ | Fedora パッケージ |
|---|---|---|---|---|
| xfreerdp | リモートデスクトップ (RDP) | | | |
| vncviewer | VNC 接続クライアント | | | |
| nm-connection-editor | 接続編集用 GUI (オプション) | | - | - |
| traceroute | 代替トレースツール | | - | - |
Python 依存関係
- Python 3.11 以上
- PySide6 6.6 以上
- ptyprocess 0.7 以上
- pyte 0.8 以上 (
またはpip install pyte
)sudo pacman -S python-pyte
インストール方法
オプション 1 — Arch Linux / Manjaro / EndeavourOS (AUR)
すべての依存関係(PySide6, ptyprocess, pyte など)が AUR パッケージ内で自動的に解決されます。
オプション 2 — ウィール (Wheel) [全ディストリビューション向け]
最新のリリースから
.whl ファイルをダウンロードしてインストールします:
pip install nmlinux-1.2.9-py3-none-any.whl nmlinux
オプション 3 — ソースコードからのビルド
git clone https://github.com/thongor77/nmlinux.git cd nmlinux pip install PySide6 ptyprocess pyte python3 -m nmlinux.main
オプション 4 — デスクトップエントリの設定 (KDE / GNOME など)
アプリケーションランチャーに表示させるため、
.desktop ファイルをインストールします:
cp data/nmlinux.desktop ~/.local/share/applications/ update-desktop-database ~/.local/share/applications/
- 必要に応じて
パスを変更してください。Exec=
実行方法
以下いずれかのコマンドを実行してください:
./nmlinux.sh # または、pip install 後: nmlinux # または直接モジュールから: python3 -m nmlinux.main
プロジェクト構造
以下の階層構成でソースコードが配置されています。
- nmlinux/ (メインディレクトリ)
- core/ (コア機能とデータ管理)
: 翻訳システム(fr/en/es/de)、i18n.py
関数tr(key)
: アイコンマネージャ(QSvgRenderer を使用した Lucide SVG)icons.py
: アプリ設定(AppSettings データクラス、JSON 永続化)settings.py
: SSH 接続管理クラス (ssh.py
,SshConnection
)SshStore
: RDP 接続管理クラス (rdp.py
,RdpConnection
)RdpStore
: VNC 接続管理クラス (vnc.py
,VncConnection
)VncStore
: SSH ターミナルバックエンド(QThread + PTY)terminal.py
: CLI 対応バーのシングルトンクラスcli_bar.py
- pages/ (各機能ページ)
: 概要・クレジット情報about.py
: バンド幅モニター(スライディンググラフ)bandwidth.py
: 接続マネージャーconnection_manager.py
: ダッシュボード表示dashboard.py
,dns.py
,firewall.py
: それぞれの機能実装interfaces.py
,ip_scanner.py
,mtr.py
: スキャン系ツールnmap_scan.py
,ping.py
: ピング/ポートスキャナport_scanner.py
,rdp.py
,ssh.py
: リモート接続マネージャvnc.py
,snmp.py
: SNMP/NTP クライアントsntp.py
: スピードテスト(curl + Cloudflare)speedtest.py
: サブネット計算機subnet.py
: トポロジーマップ(インタラクティブグラフ)topology.py
: 視覚的トレースルートtraceroute.py
,whois.py
,wifi.py
: それぞれの機能実装wol.py
- assets/ (リソースファイル)
: バンドルされた Lucide SVG アイコン群 (#60a5fa)icons/
: 各国境界データ(Natural Earth 110m)world.geojson
: メインウィンドウ構成(サイドバー + QStackedWidget)window.py
: アプリケーションのエントリポイントmain.py
- core/ (コア機能とデータ管理)
デスクトップ環境互換性
v1.2.7 以降、NMLinux はQSvgRendererを使用して 21 つのバンドルされた Lucide SVG アイコンをレンダリングします。これにより、アプリはシステムアイコンテーマ(Breeze, Adwaita など)に依存する必要がなくなり、KDE、GNOME、XFCE などあらゆるデスクトップ環境で正しく表示されます。Qt スタイルも自動適応します。
制限事項と注意点
- Linux 専用:
、nmcli
、ip
、dig
およびサードパーティツール(Subprocess)への依存があります。ping - root/polkit の必要性:
- 特権レベルが必要なツール(一部の Nmap モード、生ソケットなど)は
を使用して手動で実行する必要があります。sudo - アプリ自体は root/polkit との統合を持っていません。
- 特権レベルが必要なツール(一部の Nmap モード、生ソケットなど)は
- SSH エージェント: パスワード認証およびキーベース認証はサポートしていますが、エージェントフォワーディングはまだ実装されていません。
クレジットと謝辞
- BornToBeRoot: NETworkManager の着想、機能、および UX デザインへの参考資料を提供。
- Anthropic (Claude Code): プロジェクト構築を支援した AI アシスタント。
- 著者: ビジョンの提示、テストの実施、方向性の決定を担当。
ライセンス
GPL-2.0 (LICENSE ファイル参照)
免責事項: このプロジェクトは独立した再実装であり、NETworkManager のコードは一切使用または翻訳されていません。