wifi-menu
Connect to Wi-Fi networks from the terminal
TLDR
Set up a wireless connection interactively
Interactively set up a connection to a network and obscure the password
Display help
SYNOPSIS
wifi-menu [interface]
wifi-menu [-o | --old] [interface]
wifi-menu [-h | --help]
PARAMETERS
interface
Specifies the wireless network interface to configure (e.g., wlan0, wlp2s0). If not provided, wifi-menu attempts to detect the first available wireless interface.
-o, --old
Uses an older, simpler interface for network selection and configuration. This might be useful in environments with limited terminal capabilities or for a more basic workflow.
-h, --help
Displays a brief help message and exits.
DESCRIPTION
wifi-menu is a command-line utility designed to simplify the process of configuring wireless network connections on Linux systems, primarily those utilizing the netctl network management framework, common in Arch Linux environments. It provides a user-friendly, ncurses-based (text-based graphical) interface that guides users through scanning for available Wi-Fi networks, selecting a network from a list, and entering necessary credentials such as passphrases.
Upon successful configuration, wifi-menu automatically generates a netctl profile for the selected network and stores it in the /etc/netctl/ directory. This profile can then be managed and activated using other netctl commands like netctl start profile_name or netctl enable profile_name for automatic connection at boot. Its primary goal is to abstract away the complexities of direct wpa_supplicant and iw commands, offering a quick and intuitive way to get online with Wi-Fi.
CAVEATS
netctl Dependency: wifi-menu is part of the netctl package and requires it to be installed and operational on the system. It is not a standalone Wi-Fi management tool for other network frameworks like NetworkManager or systemd-networkd.
Arch Linux Focus: While usable on other distributions that install netctl, wifi-menu is most commonly associated with and maintained for Arch Linux and its derivatives.
Interface Requirement: It operates exclusively on wireless network interfaces. Ensure your wireless adapter is recognized and its kernel module is loaded.
Limited Advanced Configuration: While excellent for basic WPA/WPA2-PSK networks, it may not directly support highly advanced configurations (e.g., enterprise EAP methods, static IP for Wi-Fi) without subsequent manual editing of the generated netctl profile.
Interactive Nature: It requires an interactive terminal session to display its ncurses interface. It is not suitable for non-interactive scripts without additional wrappers.
PROFILE GENERATION LOCATION
After a successful configuration, wifi-menu generates a new netctl profile file in the /etc/netctl/ directory. The file name typically corresponds to the chosen SSID. This profile can then be manually edited for advanced settings or managed using other netctl commands.
REQUIRED DEPENDENCIES
wifi-menu relies on several external utilities to function correctly. These include dialog or whiptail for its interactive ncurses interface, and wpa_supplicant for handling Wi-Fi authentication and encryption processes.
HISTORY
wifi-menu was developed as an integral part of the netctl project, which emerged as a lightweight and robust network configuration utility primarily for Arch Linux. Its creation addressed the need for an easy-to-use, interactive tool for setting up wireless connections, bridging the gap between manual configuration using tools like wpa_supplicant and more complex desktop-environment-integrated network managers. Since its inception, wifi-menu has been a staple for Arch Linux users, offering a consistent and reliable way to get Wi-Fi operational, especially during initial system setup or in minimal environments. Its development has focused on maintaining simplicity and tight integration with the netctl profile system.
SEE ALSO
netctl(8), netctl-auto(8), netctl-ifplugd(8), wpa_supplicant(8), iw(8)