Можно ли перетаскивать приоритет 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
)