
🛜 리눅스에서 Network Manager를 사용한 wifi/ethernet/vpn 관리를 위한 TUI

impala는 훌륭한 WiFi TUI이지만 iwd와 통신합니다. 당신의 배포판이 이미 NetworkManager를 실행 중이라면 (대부분이 그렇습니다 — GNOME, KDE, Ubuntu, Fedora, Pop, …), 스택을 뜯어내지 않고는 impala를 바로 사용할 수 없습니다. wlctl은 impala의 UX를 유지하면서 NetworkManager를 대상으로 하므로, DE가 이미 하고 있는 작업과 함께 그냥 작동합니다.
wlctl doctor — rfkill, 드라이버, 연결, IP, DHCP, 게이트웨이, DNS, 인터넷을 점검합니다# crates.io
cargo install wlctl
# Arch (AUR)
yay -S wlctl-bin
# Nix (실행하지 않고 사용)
nix run github:aashish-thapa/wlctl
# 소스에서
git clone https://github.com/aashish-thapa/wlctl && cd wlctl
cargo build --release
NixOS에서는 flake를 입력으로 추가하고 wlctl.packages.${system}.default를 사용하거나, nix shell github:aashish-thapa/wlctl로 셸에 바로 넣을 수 있습니다.
NetworkManager가 실행 중이어야 합니다. Nerd Fonts는 선택 사항이며 아이콘에 사용됩니다.
TUI를 실행하려면 wlctl. 문제가 생겼을 때 어떤 계층에 문제가 있는지 확인하려면 wlctl doctor.
| 동작 | 키 |
|---|---|
| 패널 전환 | Tab / Shift+Tab |
| 이동 | j k / 화살표 |
| 어댑터 모드 전환 (스테이션 ↔ AP) | Ctrl+R |
| VPN 연결 | v |
| 종료 | q / Ctrl+C |
| 팝업 닫기 | Esc |
| 동작 | 키 |
|---|---|
| 연결 / 해제 | Space 또는 Enter |
| 자동 연결 전환 | t |
| 네트워크 삭제 | d |
| 이것을 인터넷 경로로 설정 | u |
| 모두 표시 | a |
| QR 공유 | p |
속도 테스트 (speedtest-cli 필요) | Shift+S |
WiFi와 이더넷이 모두 활성화되어 있을 때, NetworkManager가 실제로 인터넷을 라우팅하는 링크가 녹색으로 강조 표시되고 상자 하단에 표시됩니다 ( Internet: WiFi · <ssid>). 이더넷 행 또는 연결된 WiFi에서 u를 누르면 기본 경로가 해당 링크로 전환됩니다 (다른 링크는 계속 활성 상태).
장치 상자 하단에는 활성 어댑터의 LAN IP가 표시됩니다 (예: wlan0 · 192.168.1.20). 따라서 ip addr을 실행하지 않고도 SSH로 접속할 수 있습니다.
| 동작 | 키 |
|---|---|
| 연결 / 해제 | Space 또는 Enter |
| 숨겨진 네트워크 연결 | h |
| 이름으로 필터링 | / |
| 모두 표시 | a |
/를 누르면 입력하는대로 SSID로 스캔 목록을 필터링합니다. Enter는 필터를 유지하고, Esc는 지웁니다.
v로 열기)| 동작 | 키 |
|---|---|
| 켜기/끄기 전환 | Space 또는 Enter |
| 자동 연결 전환 | a |
프로필 삭제 (y/n 확인) | d |
| WireGuard 구성 가져오기 | i |
| 닫기 | Esc |
선택한 터널의 할당된 IP와 가동 시간이 터널이 작동 중일 때 목록 아래에 표시됩니다.
WireGuard 구성 가져오기: i를 누른 다음 전체 구성을 붙여넣거나 (대부분의 제공업체(Proton, Mullvad)는 텍스트를 제공합니다) .conf 파일의 경로를 입력하고 Enter를 누르세요. wlctl이 이를 파싱하여 NetworkManager 프로필을 생성합니다 — nmcli가 필요 없습니다. 붙여넣은 구성은 서버 엔드포인트의 이름으로 지정되고, 파일 가져오기는 파일 이름으로 지정됩니다. 경로에서 ~는 확장됩니다. 프로필은 자동 연결 없이 추가됩니다. Enter로 켜기/끄기를 전환하세요. OpenVPN .ovpn 파일은 여기서 지원되지 않습니다 — 해당 파일은 nmcli connection import type openvpn file <path>로 가져오세요 (NetworkManager-openvpn 플러그인이 필요합니다).
| 동작 | 키 |
|---|---|
| 어댑터 정보 | i |
| 전원 전환 | o |
| 닥터 | ? |
| 동작 | 키 |
|---|---|
| 스캔 | s |
| 동작 | 키 |
|---|---|
| AP 시작 | n |
| AP 중지 | x |
~/.config/wlctl/config.toml. 모든 키를 다시 바인딩할 수 있습니다.
switch = "r"
mode = "station"
esc_quit = false
vpn = "v"
[device]
infos = "i"
toggle_power = "o"
doctor = "?"
[station]
toggle_scanning = "s"
[station.known_network]
toggle_autoconnect = "t"
remove = "d"
show_all = "a"
share = "p"
speed_test = "S"
prefer = "u"
[station.new_network]
show_all = "a"
connect_hidden = "h"
filter = "/"
[access_point]
start = "n"
stop = "x"
| impala | wlctl | |
|---|---|---|
| 백엔드 | iwd | NetworkManager |
| 기본 데스크톱 네트워크 스택과 공존 | 아니오 | 예 |
| 다중 어댑터 선택기 | — | 예 |
| VPN 연결 전환 | — | 예 |
doctor 하위 명령어 | — | 예 |
pythops/impala에서 포크되었습니다. UI와 아키텍처는 그들의 것입니다.
GPLv3