151

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
202

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 c
    
  • To see list of available WiFi hotspots (<WiFiSSID>)

    nmcli d wifi list
    

    or:

    sudo iwlist <WifiInterface> scanning
    
  • To 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

  • 1
    Works like a charm! And, as suspected, the command line responds immediately, while the GUI can be sluggish, uncooperative, and unresponsive sometimes. – cmo May 6 '14 at 15:55
  • 1
    Saved my day when I lost my Unity dash and taskbar, and the Network Settings dialog kept on crashing upon any kind of network connection establishment. – Janaka Bandara Nov 27 '14 at 1:21
  • 1
    @kirill_igum , sorry to be late quiet busy, You may use cron for scheduling wifi scan using iwlist wlan0 scanning or nmcli d wifi list then nmcli to connect to the corresponding wifi network depending on your needs. – user.dz Jan 11 '16 at 21:59
  • 1
    The command that I was issuing was giving an error. I was issuing this command: nmcli c up id "Apollo III Connect" It gave an error. When I leave out the word id and typed this it connects without error: nmcli c "Apollo III Connect". I understand how to connect it now. You're saying id as the parameter and saying replace the word id with the name of the connection, which you are naming <WiFiConn>. Thanks! – L. D. James Jun 15 '16 at 22:48
  • 5
    To save a connection setup: sudo nmcli dev wifi con "SSID_NAME" password PASSWORD "CONFIG_NAME" To find auto your saved connection setups: nmcli c – Cirelli94 Apr 13 '17 at 13:05
83

nmtui ncurses solution

Great interactive ncurses network manager option:

nmtui

Comes in the same package as nm-applet (the default top bar icon thing) and nm-cli, and is therefore widely available.

Screenshot:

enter image description here

Tested in Ubuntu 17.10.

  • Thanks! For some reason, my Ubuntu refused to connect to Wifi, so I plugged in the Ethernet cable and clicked Activate on Wired Connection and BAM! – asgs Nov 2 '17 at 15:12
  • @Downvoters please explain, I never retaliate ;-) – Ciro Santilli 新疆改造中心法轮功六四事件 Nov 13 '17 at 10:24
  • 3
    works on Ubuntu 16.01 as well, cool solution! – Jan Sila Dec 1 '17 at 8:57
  • 5
    This is a much more intuitive solution than what is above IMO. Unless you're trying to learn how Linux/Unix connects to WiFi, this seems like the ideal select and press enter solution. Works well on Ubuntu 18 – jamzsabb Jun 18 '18 at 18:56
  • This "just worked " on Ubuntu 18.04 – Ryre Dec 9 '19 at 3:32
19

If 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 off

on newer version:

nmcli radio wifi on
nmcli radio wifi off

For reference, see man nmcli.

  • 1
    How do you make NM enable wifi automatically during boot? Every time I reboot, Network Manager starts with wifi disabled. – Cerin Jul 25 '15 at 21:46
  • @Cerin, you may try adding this command to startup applications, see askubuntu.com/questions/243139/… – user.dz Jan 11 '16 at 21:47
  • And how do in Ubuntu > 14.04. – monitor35 Apr 18 '16 at 8:35
3

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 12345678

but 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 yes

which 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 WPA2

To forget a connection (that was saved after you ran nmcli -a d wifi connect <name>)

nmcli c delete PrettyFlyForAWiFi-5G

To see a list of all saved connections

nmcli c

You 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.

  • When using nmcli, there is a pop up to reask the password if it was miss-typed. Would you know whether there is a possibility of disabling this feature? Quite annoying when trying to use nmcli in a non-interactive script... – borizzzzz Oct 18 '19 at 12:24

Not the answer you're looking for? Browse other questions tagged or ask your own question.