Как управлять приоритетом доступной беспроводной сети?

67

Я хотел бы перемещаться вверх и вниз по доступным точкам беспроводного доступа, устанавливая приоритеты, как мы можем это сделать в Microsoft Windows. Я не могу вспомнить, чтобы когда-либо преуспел в этом с момента использования network-manager. Может быть, что-то с файлами conf возможно ...

Меня не интересуют разные сетевые менеджеры.

жасмин
источник

Ответы:

18

WiFi Radar - это утилита Python / PyGTK2 для управления профилями WiFi. Это позволяет вам сканировать доступные сети и создавать профили для предпочитаемых вами сетей. Во время загрузки работающий WiFi Radar автоматически сканирует доступную предпочитаемую сеть и подключается к ней. Вы можете перетащить выбранные вами сети, чтобы установить приоритет профиля. 1

Установите WiFi Radar, просто нажмите Ctrl+ Alt+ Tна клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду ниже.

sudo apt install wifi-radar

Чтобы запустить это,

sudo wifi-radar

WiFi Radar имеет новую версию 2.0, которую можно скачать с их сайта . Или загрузите его отсюда

1 Источник: Ubuntu Geek

Митч
источник
1
Нужно ли добавлять его вручную для запуска приложений?
Жасмин
1
Что если я не сделаю? Будут ли приоритеты игнорироваться или запоминаться?
Жасмин
1
Инструмент выглядит многообещающе, но я не нашел способа сохранить измененный приоритет точки доступа. При перезапуске wifi-радара точки доступа отображаются в старом порядке.
Мирк
2
Вы не понизили вопрос, но вы сделали ответ. Это было опробовано с 12.10, 13.04, 13.10 и Fedora, и оно отлично работает из коробки. Плюс в том, что этому вопросу больше года. Попробуйте новый выпуск. WiFi Radar имеет новую версию 2.0, которую можно скачать с их сайта . На сайте также есть необходимые документы.
Митч
1
@Kasisnu Я исправил ссылку и добавил еще одну. Благодарю.
Митч
62

Видимо, в 2014 году команда NetworkManager представила такую ​​функцию - указание приоритетов для разных сетей. Есть сейчас connection.autoconnect-priority.

Эта статья предоставляет много информации о том, как через NetworkManager взаимодействовать nmcli.

Например с

nmcli -f NAME,UUID,AUTOCONNECT,AUTOCONNECT-PRIORITY c

Вы можете перечислить известные сети и увидеть их приоритет по умолчанию равным 0. Теперь я запустил

nmcli connection modify HOME-WIFI connection.autoconnect-priority 10

дать моему дому WiFi более высокий приоритет. У меня дома есть такие же рабочие точки WiFi, но мне нужно подключиться к HOME-WIFI, когда я дома. Та команда, которая сильно переписана и /etc/NetworkManager/system-connections/HOME-WIFIдобавлена autoconnect-priority=10в [connection]секцию time, покажет, работает ли она должным образом.

Ярослав Хальченко
источник
3
эти функции, кажется, еще не поступили в LTS (14.04) (?) :(
törzsmókus
2
Это видно через сетевой интерфейс KDE 16.04 в качестве параметра «приоритет». Позор, это не доступно в другом месте. Даже не nmtuiимеет этого.
Оли
6
Отлично работает в Ubuntu 16.04. Очень нравится этот подход, поскольку он использует только стандартные инструменты. Графический интерфейс GNOME 3 («Сеть» в «Центре управления») также не дает доступа к настройке приоритетов. Стыд действительно.
Дашуп
Из документации gnome : «autoconnect-priority: приоритет автоматического подключения. Если для подключения установлено автоматическое подключение, предпочтение отдается соединениям с более высоким приоритетом. По умолчанию используется значение 0. Более высокий номер означает более высокий приоритет».
Майкл Мандель
1
Большой! Должен быть принятый ответ!
6005
25

Можно ли перетаскивать приоритет WiFi вверх или вниз в NetworkManager?

Короткий ответ: «Пока нет». С середины 2018 года в Ubuntu нет ничего проще, чем Microsoft Windows для установки приоритета WiFi. Тем не менее, есть способы выполнить то, что вы хотите.


TL; DR? Резюме

Для использования в командной строке nmcli. Для графического интерфейса plasma-nm.

nmcli -f autoconnect-priority,name c
nmcli c mod "mypreferred" conn.autoconnect-p 10
nmcli c mod "xfinitywifi" conn.autoconnect-p -10

или же

apt install plasma-nm
kde5-nm-connection-editor

Доступные альтернативы

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

Инструменты командной строки (nmcli)

Хотя это решение, вероятно, является самым простым способом сделать это, и оно работает с NetworkManager, nmcliоно не допускает переупорядочивания в стиле Microsoft Windows. На самом деле nmcli(как следует из названия) это «интерфейс командной строки» для NetworkManager, что означает, что вам нужно будет вводить команды в терминале, что может отталкивать некоторых людей. Я опишу больше, как использовать его ниже.

Plasma-nm (kde5-nm-соединение-редактор)

Этот инструмент не позволяет переупорядочивать с помощью перетаскивания, но он работает с NetworkManager. Несмотря на название «KDE», он работает с любым окружением рабочего стола (я тестировал его с GNOME). Он представляет графический интерфейс, который позволяет редактировать «приоритет автоматического подключения» сети. Я буду обсуждать, как использовать это ниже.

Wi-Fi Радар

Этот инструмент позволяет перемещать приоритеты сети вверх и вниз по запросу. Однако на самом деле он не интегрирован с Network Manager; на самом деле я считаю ошибкой запускать оба одновременно. Кроме того, несмотря на наличие графического интерфейса, его не так просто использовать, как должно быть. Другая причина не использовать Wifi Radar заключается в том, что это скрипт на Python, который должен запускаться от имени пользователя root, что представляет потенциальную угрозу безопасности. Кроме того, согласно справочной странице, WiFi Radar очень энергоемкий и содержит «вероятно много ошибок».

Панель управления сетью GNOME (даже не работает)

Я упоминаю это больше для полноты, поскольку это то, что люди ожидают от работы, но это не так. GNOME, которая является текущей средой рабочего стола Ubuntu, поставляется с сетевой панелью управления, которая просто не может отображать или редактировать приоритеты автоматического подключения вообще. (Кстати, nmcliи plasma-nmоба работают нормально под GNOME.)

nm-connection-editor: старая сетевая панель управления GNOME

В GNOME раньше была возможность устанавливать приоритеты соединения, хотя и неуклюже, а не перетаскивать. Старая панель управления еще включена в GNOME, но недоступна при нажатии. Вместо этого выполните команду nm-connection-editor, затем выберите сеть WiFi, нажмите «Изменить», перейдите на вкладку «Общие» и нажмите кнопки - / + рядом с «Приоритет подключения для автоматической активации».

Emacs / VI

Если вы заядлый фанат, бормотайте код во сне, все, что вам нужно сделать, это добавить строку «autoconnect-priority: 10» в файл /etc/NetworkManager/system-connections/foo. Смотрите nm-settings (5).


Полное объяснение с примерами

Оба nmcliи kde5-nm-connection-editorмогут редактировать отдельные приоритеты автоматического подключения к сети. Только nmcliможет показать вам список всех текущих установленных приоритетов. Оба предполагают, что вы знаете, что более высокие числа представляют более высокие приоритеты и что по умолчанию используется ноль. Отрицательные числа допускаются и работают, чтобы пометить сеть как «последнее средство», если больше ничего не доступно (см. man nm-settingsИ ищите «autoconnect-priority».)

Изменения, которые вносят nmcli и plasma-nm, постоянно хранятся в NetworkManager в / etc / NetworkManager / system-connections /.

Как использовать nmcli

Это мое предпочтительное решение, и оно уже поставляется с Ubuntu. Если вы знакомы с командной строкой или у вас естественно лингвистический мозг, вы можете найти это решение проще, чем с помощью мыши. С другой стороны, если вы хотите сначала попробовать графический интерфейс, перейдите к следующему разделу о плазменных нм KDE. Для всех приведенных ниже примеров вам нужно будет открыть Терминал для ввода команд.

Чтобы перечислить текущие приоритеты

$ nmcli -f autoconnect-priority,name c 

Образец вывода:

AUTOCONNECT-PRIORITY  NAME
0                     Blake5Net             
0                     Caffe Ubuntu      
0                     Caffe Ubuntu Guest      
0                     Fire Hotspot          
0                     JET & Mishka             
0                     La Marzocco           
0                     Le_MX                 
0                     MobileLab             
0                     xfinitywifi           

Совет: Если у вас очень длинный список, вы можете отсортировать их по приоритету:

nmcli -f autoconnect-priority,name c | tail -n +2 | sort -nr

Как настроить сеть как предпочтительный

nmcli connection modify "Caffe Ubuntu" connection.autoconnect-priority 10

Обратите внимание, что вы можете использовать любой номер, который вы хотите для приоритета. Большее число перемещает сеть в верхнюю часть списка.

Как настроить сеть в качестве последнего средства

nmcli connection modify "xfinitywifi" connection.autoconnect-priority -10

Отрицательные значения приоритета ниже значения по умолчанию, равного 0, что означает, что они будут испытаны последними, если не будет найдена другая известная сеть WiFi. Обратите внимание, что из-за ошибки в некоторых версиях nmcliвы можете увидеть отрицательные числа в виде огромных положительных чисел, например, 4294967286. Не беспокойтесь об этом, так как все равно будет работать нормально.

Как использовать плазму-нм

Plasma-nm, клиент KDE NetworkManager, позволяет изменять приоритет сети с помощью нескольких щелчков мыши в графическом интерфейсе. Вы не можете перетаскивать, вместо этого вы должны указать число. Как и в случае с nmcliболее высокими числами, они имеют более высокий приоритет. К сожалению, вы не можете увидеть список других приоритетов, которые вы установили в прошлом, поэтому вам, возможно, придется угадать число. Лично я просто использую «10» для предпочитаемых сетей и «-10» для сетей последней инстанции, и я не делаю различий между ними.

Вам не нужно устанавливать весь KDE только для получения плазменных нм. (На моей машине, работающей под GNOME, полный пакет KDE потребовал бы загрузки более 600 МБ; для сравнения, плазменный нм составлял всего 8 МБ). Я установил плазму-нм из командной строки так:

sudo apt install plasma-nm

и я запустил его, набрав это:

kde5-nm-connection-editor

(Ну, технически, я не печатал все это. Я использовал TAB, чтобы автоматически завершить набор для меня).

Если вы не используете KDE, при первом запуске plasma-nm вам будет предложено создать «кошелек» для хранения учетных данных. Я просто нажал «Отмена» на вопрос, и он работал нормально для меня.

Затем он покажет вам список соединений. Дважды щелкните по соединению, которое вы хотите изменить. Это вызовет панель «Редактор подключений». Выберите вкладку «Общая конфигурация». Внизу вы увидите поле с надписью «Приоритет». Измените его с 0 на 10 (предпочтительно) или -10 (в крайнем случае). Нажмите «ОК», чтобы сохранить изменения.

Панель подключения редактора плазмы-нм

Поскольку изменения постоянно хранятся в NetworkManager, после того, как вы закончили настройку приоритетов, вам не нужно оставлять плазменный нм установленным, если вы этого не хотите. ( sudo apt remove plasma-nm)

hackerb9
источник
2
Спасибо (это должен быть принятый ответ). Чтобы уточнить: GNOME [...] simply cannot show or edit autoconnect priorities at all.означает ли это, что использование не nmcliимеет никакого эффекта в Gnome? (Инструмент все еще доступен в Ubuntu 17.10, но, возможно, как зависимость от Unity?)
Лев,
Спасибо @leo, я исправил это сейчас, чтобы сделать его более понятным, поскольку я имел в виду, что сетевые инструменты, встроенные в GNOME, не могут обрабатывать приоритеты. Вы по-прежнему можете запускать nmcli или сетевой инструмент KDE без каких-либо проблем в GNOME.
hackerb9
1
Для этого не нужно устанавливать инструменты KDE. Просто беги nm-connection-editor(посылка network-manager-gnome). (Так что на самом деле это не правда, что GNOME не имеет встроенных инструментов для этого. Просто потому, что они изменили сетевые настройки, нет способа найти это, не зная, что искать.)
Socob
Спасибо, Сокоб. Я не знал об этом. Я исправлю свой ответ. Так не рекомендуется ли этот инструмент? Если гном собирается удалить его в ближайшее время, возможно, это не лучшее решение.
hackerb9
Я не знаю, официально ли это устарело (сомневаюсь, что GNOME объявляет официальный статус для таких вещей). Я бы предположил, что они будут удалены только nm-connection-editorодин раз / если новая панель управления имеет все функции старой.
Сокоб
8

Бегать nm-connection-editor

С тех пор как (сетевые) настройки были изменены в GNOME, некоторые функции больше не доступны из нового интерфейса настроек. Чтобы использовать старый, который предоставляет больше возможностей, запустите nm-connection-editor.

Установка приоритета соединения в <code> nm-connection-editor </ code>

Socob
источник
Приоритет подключения для авто-инактивации не отображается в 16.04
Andor Kiss
1

Если вы используете xfce, например, под xubuntu 18.04, вы можете сделать это:

  • Перейти к апплету Wifi (в верхнем правом углу)
  • Нажмите «Редактировать соединения»
  • Дважды щелкните интересующую сеть
  • Нажмите на вкладку «Общие»
  • Введите значение для «приоритет подключения для автоактивации»

Положительные числа имеют более высокий приоритет; отрицательные числа имеют более низкий приоритет. Приоритет по умолчанию кажется равным 0, поэтому я установил приоритет вездесущего, но не всегда работающего «xfinitywifi» на отрицательное число, чтобы все остальное подключалось первым.

Признание: я нашел это только после значительных усилий по добавлению функции самостоятельно. Это говорит о том, что перетаскивание, вероятно, стоило бы добавить просто потому, что его было бы более интуитивно обнаружить, хотя нужно было бы рассчитывать, как его согласовать с порядком сортировки по умолчанию и т. Д. На вкладке «Приоритет» в Список соединений может быть правильным местом для раскрытия этой функции.

Том Бутелл
источник