Как подключиться к WiFi из командной строки?

145

Другие сообщения, кажется, посвящены более сложным проблемам с сетевым подключением из командной строки.

Индикатор / кнопка Network на панели Unity иногда не слишком хорошо реагирует - он продолжает пытаться подключиться к сети, даже когда я нажимаю «отключить», и все в таком духе.

Поэтому я хочу перейти к командной строке для контроля. Я не люблю GUI в любом случае.

Нет ли какого-нибудь простого инструмента командной строки, который может сделать что-то вроде следующего?

wifi connect MyNetworkNameA
wifi disconnect
wifi connect MyNetworkNameB
CMO
источник
4
Зависит, какая беспроводная безопасность? Это подробно описано здесь - help.ubuntu.com/community/NetworkConfigurationCommandLine/…
Пантера
На Ubuntu 16.04 и 18.04, по-прежнему возникают проблемы с отключением Wi-Fi. Команда переподключения была бы хорошим взломом.
Алик Эльзин-килака

Ответы:

193

Я думаю, что вы хотите продолжать использовать управляемый интерфейс (от NetworkManager). nmcliявляется инструментом командной строки для управления NetworkManager.

  • Чтобы увидеть список сохраненных подключений, используйте ( <SavedWiFiConn>)

    nmcli c
    
  • Чтобы увидеть список доступных точек доступа WiFi ( <WiFiSSID>)

    nmcli d wifi list
    

    или же:

    sudo iwlist wlan0 scanning
    
  • Чтобы увидеть список интерфейсов ( <WifiInterface>)

    ifconfig -a
    

Просто измените <WifiInterface>, <WiFiSSID>, <WiFiPassword>следующие команды , чтобы отразить ваши настройки. Если информация Wi-Fi уже сохранена, проще использовать <SavedWiFiConn>имя соединения, как оно было сохранено в NetworkManager.

Ubuntu 16.04

##disconnect
nmcli d disconnect <WifiInterface>

##connect
nmcli d connect <WifiInterface>

По-другому:

##disconnect
nmcli c down <SavedWiFiConn>

##connect
nmcli c up <SavedWiFiConn>

Ubuntu 15.10 и предыдущие

##disconnect
nmcli d disconnect iface <WifiInterface>

##connect
nmcli d wifi connect <WiFiSSID> password <WiFiPassword> iface <WifiInterface>

По-другому:

##disconnect:
nmcli c down id <SavedWiFiConn>

##connect:
nmcli c up id <SavedWiFiConn>

Если ваш пароль не распознается автоматически, введите:

nmcli -a c up <SavedWiFiConn>

Ссылка: man nmcli

user.dz
источник
1
Работает как шарм! И, как подозревается, командная строка реагирует немедленно, в то время как GUI может быть вялым, неработоспособным, а иногда и не отвечающим.
Cmo
1
Это спасло мой день, когда я потерял панель инструментов и панель задач Unity, а диалоговое окно «Параметры сети» продолжало зависать при установлении любого типа сетевого подключения.
Джанака Бандара
1
@kirill_igum, извините, что опоздал тихий занят, Вы можете использовать cronдля планирования сканирования Wi-Fi с помощью iwlist wlan0 scanningили nmcli d wifi listзатем nmcli для подключения к соответствующей сети Wi-Fi в зависимости от ваших потребностей.
user.dz
1
Команда, которую я давал, давала ошибку. Я выдавал эту команду: nmcli c up id "Apollo III Connect" она выдала ошибку. Когда я выхожу из слова idи напечатал это он подключается без ошибок: nmcli c "Apollo III Connect". Теперь я понимаю, как это подключить. Вы говорите idв качестве параметра и говорите, замените слово idименем соединения, которое вы называете <WiFiConn>. Спасибо!
Л.Д. Джеймс
5
Чтобы сохранить настройку соединения: sudo nmcli dev wifi con "SSID_NAME" password PASSWORD "CONFIG_NAME"Чтобы автоматически найти сохраненные настройки соединения:nmcli c
Cirelli94
75

nmtui решение ncurses

Отличный интерактивный вариант сетевого менеджера ncurses:

nmtui

Поставляется в том же пакете, что и nm-applet(по умолчанию значок верхней панели), и nm-cli, следовательно, широко доступен.

Скриншот:

введите описание изображения здесь

Протестировано в Ubuntu 17.10.

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
источник
Спасибо! По какой-то причине мой Ubuntu отказался подключаться к Wi-Fi, поэтому я подключил кабель Ethernet и нажал «Активировать» на проводном подключении и BAM!
просит
@ Downvoters, пожалуйста, объясните, я никогда не
буду мстить
3
работает и на Ubuntu 16.01, классное решение!
Ян Сила
4
Это гораздо более интуитивное решение, чем то, что выше IMO. Если вы не пытаетесь узнать, как Linux / Unix подключается к WiFi, это кажется идеальным решением для выбора и нажатия ввода. Хорошо работает на Ubuntu 18
jamzsabb
19

Если ваша точка доступа Wi-Fi сохранена, она автоматически подключится. Включите или выключите беспроводную связь с помощью более простой команды:

nmcli nm wifi on
nmcli nm wifi off

на более новой версии:

nmcli radio wifi on
nmcli radio wifi off

Для справки см man nmcli.

LinuxLearner
источник
1
Как сделать так, чтобы NM автоматически включал Wi-Fi во время загрузки? Каждый раз, когда я перезагружаюсь, Network Manager запускается с отключенным Wi-Fi.
Церин
@Cerin, вы можете попробовать добавить эту команду для запуска приложений, см. Askubuntu.com/questions/243139/…
user.dz
А как сделать в Ubuntu> 14.04.
monitor35
3

Если вы хотите подключиться к сети под названием PrettyFlyForAWiFi-5G

nmcli -a d wifi connect PrettyFlyForAWiFi-5G

-a(или --ask) означает, что он попросит вас ввести пароль. Соединение будет сохранено и должно подключиться автоматически, если вы перезагрузите компьютер.

Вы можете добавить password <your password>в конец (буквальное слово, passwordза которым следует фактический пароль)

nmcli d wifi connect PrettyFlyForAWiFi-5G password 12345678

но, возможно, запустите unset HISTFILEзаранее, чтобы ваш WiFi-пароль не был сохранен в вашем ~/.bash_historyфайле.


Чтобы увидеть все сети WiFi вокруг вас ( --rescan yesнеобязательно, список сетей может быть до 30 секунд без него)

nmcli d wifi list --rescan yes

который будет выводить что-то вроде

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

Чтобы забыть соединение (которое было сохранено после запуска nmcli -a d wifi connect <name>)

nmcli c delete PrettyFlyForAWiFi-5G

Чтобы увидеть список всех сохраненных подключений

nmcli c

Вы можете использовать nmcli connectionвместо nmcli c <whatever>и nmcli deviceвместоnmcli d

nmcliявляется интерфейсом командной строки для NetworkManager (который является частью GNOME , среды рабочего стола Ubuntu по умолчанию) и уже установлен в Ubuntu.

Борис
источник