How to connect to WiFi from the command line?
Matthew Martinez
Other posts seems to be addressing more complicated network connection issues from the command line.
The Unity panel Network indicator/button doesn't respond too well sometimes - it keeps trying to connect to a network even when i click on "disconnect", stuff like that.
So I want to go command line for the control. I don't like GUIs anyway.
Is there not some simple command line tool which can do something like the following?
wifi connect MyNetworkNameA
wifi disconnect
wifi connect MyNetworkNameB 2 4 Answers
I think you want to keep using managed interface (by NetworkManager). nmcli is a command‐line tool for controlling NetworkManager.
To see list of saved connections, use (
<SavedWiFiConn>)nmcli cTo see list of available WiFi hotspots (
<WiFiSSID>)nmcli d wifi listor:
sudo iwlist <WifiInterface> scanningTo see list of interfaces (
<WifiInterface>)ifconfig -a
Just change <WifiInterface>, <WiFiSSID>, <WiFiPassword> in the following commands to reflect your setup. If WiFi info already saved, easier way using <SavedWiFiConn> name of connection as it was saved in NetworkManager.
Ubuntu 16.04
##disconnect
nmcli d disconnect <WifiInterface>
##connect
nmcli d connect <WifiInterface>Another way:
##disconnect
nmcli c down <SavedWiFiConn>
##connect
nmcli c up <SavedWiFiConn>Ubuntu 15.10 & previous
##disconnect
nmcli d disconnect iface <WifiInterface>
##connect
nmcli d wifi connect <WiFiSSID> password <WiFiPassword> iface <WifiInterface>Another way:
##disconnect:
nmcli c down id <SavedWiFiConn>
##connect:
nmcli c up id <SavedWiFiConn>If your password isn't automatically recognized type this:
nmcli -a c up <SavedWiFiConn>Reference: man nmcli
nmtui ncurses solution
Great interactive ncurses network manager option:
nmtuiIf for some reason it is not installed, the Debian package is:
sudo apt install network-managerComes in the same package as nm-applet (the default top bar icon thing) and nm-cli, and is therefore widely available.
Screenshot:
Tested in Ubuntu 17.10.
6If your wi-fi access point is saved, it will auto-connect. Turn wireless on or off with a simpler command:
nmcli nm wifi on
nmcli nm wifi offon newer version:
nmcli radio wifi on
nmcli radio wifi offFor reference, see man nmcli.
If you want to connect to a network called PrettyFlyForAWiFi-5G
nmcli -a d wifi connect PrettyFlyForAWiFi-5G-a (or --ask) means it will ask you for the password. The connection will be saved and should connect automatically if you restart your computer.
You could append password <your password> to the end (the literal word password followed by the actual password)
nmcli d wifi connect PrettyFlyForAWiFi-5G password 12345678but maybe run unset HISTFILE beforehand, so that your WiFi password isn't saved to your ~/.bash_history file.
To see all the WiFi networks around you (--rescan yes is optional, the list of networks might be up to 30 seconds old without it)
nmcli d wifi list --rescan yeswhich will output something like
IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY PrettyFlyForAWiFi-5G Infra 44 405 Mbit/s 59 ▂▄▆_ WPA2 PrettyFlyForAWiFi Infra 6 195 Mbit/s 41 ▂▄__ WPA1 WPA2To forget a connection (that was saved after you ran nmcli -a d wifi connect <name>)
nmcli c delete PrettyFlyForAWiFi-5GTo see a list of all saved connections
nmcli cYou can use nmcli connection instead of nmcli c <whatever> and nmcli device instead of nmcli d
nmcli is the command line interface for NetworkManager (which is part of GNOME, Ubuntu's default desktop environment) and is already installed on Ubuntu.
Don't forget to set up your country code for using the perfect regulations:
sudo iw reg set <2 letter country code>
sudo nano /etc/default/crda 1