Czy priorytet WiFi można przeciągać w górę i w dół w NetworkManager?
Krótka odpowiedź brzmi „jeszcze nie”. W połowie 2018 roku Ubuntu nie ma nic tak łatwego jak system Microsoft Windows do ustawiania priorytetu WiFi. Istnieją jednak sposoby na osiągnięcie tego, co chcesz.
TL; DR? Podsumowanie
Do użytku z linii poleceń nmcli
. Dla GUI plasma-nm
.
nmcli -f autoconnect-priority,name c
nmcli c mod "mypreferred" conn.autoconnect-p 10
nmcli c mod "xfinitywifi" conn.autoconnect-p -10
lub
apt install plasma-nm
kde5-nm-connection-editor
Dostępne alternatywy
Oto obecnie dostępne sposoby ustawiania priorytetu Wi-Fi, wraz z krótkim opisem, dlaczego nie dość odpowiadają na pierwotne pytanie.
Narzędzia wiersza poleceń (nmcli)
Chociaż to rozwiązanie jest prawdopodobnie najłatwiejszym sposobem na zrobienie tego i działa z NetworkManager, nmcli
nie pozwala na zmianę kolejności przeciągania i upuszczania w stylu Microsoft Windows. W rzeczywistości nmcli
(jak sama nazwa wskazuje) jest to „interfejs wiersza poleceń” dla NetworkManager, co oznacza, że będziesz musiał wpisywać polecenia w terminalu, co może być zniechęcające dla niektórych osób. Opiszę więcej, jak go używać poniżej.
Plazma-nm (edytor połączeń kde5-nm)
To narzędzie nie pozwala na zmianę kolejności przeciągania i upuszczania, ale działa z NetworkManager. Pomimo nazwy „KDE”, działa z każdym środowiskiem graficznym (przetestowałem go z GNOME). Przedstawia interfejs graficzny, który umożliwia edycję „priorytetu autoconnect” sieci. Omówię, jak go używać poniżej.
Radar Wi-Fi
To narzędzie umożliwia przesuwanie priorytetów sieci w górę i w dół, zgodnie z żądaniem. Jednak tak naprawdę nie jest zintegrowany z Network Managerem; w rzeczywistości uważam, że błędem jest prowadzenie obu jednocześnie. Ponadto, pomimo posiadania interfejsu graficznego, nie jest tak łatwy w użyciu, jak powinien. Innym powodem nieużywania radaru Wi-Fi jest to, że jest to skrypt w języku Python, który musi być uruchamiany jako root, co stanowi potencjalne zagrożenie bezpieczeństwa. Ponadto, według strony podręcznika, Radar WiFi jest bardzo energochłonny i ma „prawdopodobnie dużo” błędów.
Panel kontrolny sieci GNOME (nawet nie działający)
Wspominam o tym bardziej dla kompletności, ponieważ ludzie tego oczekują od pracy, ale tak nie jest. GNOME, które jest obecnie domyślnym środowiskiem graficznym Ubuntu, zawiera panel sterowania siecią, który po prostu nie może w ogóle wyświetlać ani edytować priorytetów automatycznego łączenia. (Nawiasem mówiąc, nmcli
i plasma-nm
zarówno grzywny pracy pod GNOME).
nm-connection-editor: stary panel sterowania siecią GNOME
GNOME zwykło mieć możliwość ustawiania priorytetów połączeń, choć w niezręczny sposób, a nie przeciągania i upuszczania. Stary panel sterowania jest jeszcze zawarty w GNOME, ale nie jest dostępny po kliknięciu. Zamiast tego uruchom polecenie nm-connection-editor
, a następnie wybierz sieć Wi-Fi, kliknij Edytuj, przejdź do zakładki Ogólne i kliknij przyciski - / + obok „priorytet połączenia dla automatycznej aktywacji”.
Emacs / vi
Jeśli jesteś zapalonym maniakiem, mamroczący kod podczas snu, wszystko, co musisz zrobić, to dodać do pliku wiersz „priorytet połączenia automatycznego: 10” /etc/NetworkManager/system-connections/foo
. Zobacz ustawienia nm (5).
Pełne wyjaśnienie z przykładami
Zarówno nmcli
i kde5-nm-connection-editor
mogą edytować poszczególne priorytety AUTOCONNECT sieć. Tylko nmcli
może wyświetlić listę wszystkich aktualnie ustawionych priorytetów. Oba zakładają, że wiesz, że wyższe liczby reprezentują wyższe priorytety i że zero jest wartością domyślną. Liczby ujemne są dozwolone i działają w celu oznaczenia sieci jako „ostatniej szansy”, jeśli nic więcej nie jest dostępne (zobacz man nm-settings
i wyszukaj „autoconnect-Priority”).
Zmiany nmcli i plazma-nm są przechowywane na stałe przez NetworkManager w / etc / NetworkManager / system-connection /.
Jak korzystać z nmcli
To moje preferowane rozwiązanie, które jest już dostarczane z Ubuntu. Jeśli znasz linię poleceń lub masz mózg naturalnie językowy, możesz znaleźć to rozwiązanie łatwiejsze niż używanie myszy. Z drugiej strony, jeśli chcesz najpierw wypróbować interfejs graficzny, przejdź do następnej sekcji na temat nm-plazmy KDE. W przypadku wszystkich poniższych przykładów musisz otworzyć terminal, aby wpisać polecenia.
Aby wyświetlić listę bieżących priorytetów
$ nmcli -f autoconnect-priority,name c
Przykładowe dane wyjściowe:
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
Wskazówka: jeśli masz bardzo długą listę, możesz posortować je według priorytetu:
nmcli -f autoconnect-priority,name c | tail -n +2 | sort -nr
Jak ustawić sieć zgodnie z preferencjami
nmcli connection modify "Caffe Ubuntu" connection.autoconnect-priority 10
Pamiętaj, że możesz użyć dowolnego numeru dla priorytetu. Większa liczba przenosi sieć na początek listy.
Jak ustawić sieć jako ostateczność
nmcli connection modify "xfinitywifi" connection.autoconnect-priority -10
Ujemne wartości priorytetu są niższe niż domyślna wartość 0, co oznacza, że zostaną one wypróbowane jako ostatnie, jeśli nie będzie można znaleźć innej znanej sieci WiFi. Zauważ, że z powodu błędu w niektórych wersjach nmcli
, liczby ujemne mogą być wymienione jako ogromne liczby dodatnie, takie jak 4294967286. Nie przejmuj się tym, ponieważ nadal będzie dobrze działać.
Jak korzystać z plazmy-nm
Plazma-nm, klient NetworkManager KDE, pozwala zmienić priorytet sieci za pomocą kilku kliknięć w interfejsie graficznym. Nie możesz przeciągać i upuszczać, zamiast tego musisz podać liczbę. Podobnie jak w przypadku nmcli
wyższych liczb, wyższy priorytet. Niestety nie widzisz listy innych priorytetów, które ustawiłeś w przeszłości, więc być może będziesz musiał zgadywać na podstawie liczby. Osobiście używam po prostu „10” dla preferowanych sieci i „-10” dla sieci ostateczności i nie rozróżniam między nimi.
Nie musisz instalować całego KDE tylko po to, aby uzyskać nm-plazmy. (Na moim komputerze, na którym działa GNOME, pełny pakiet KDE wymagałby pobrania ponad 600 MB; w przeciwieństwie do plazmy-nm było tylko 8 MB). Zainstalowałem plazmę-nm z wiersza poleceń tak:
sudo apt install plasma-nm
i uruchomiłem to, wpisując to:
kde5-nm-connection-editor
(Cóż, technicznie rzecz biorąc, nie wpisałem tego wszystkiego. Użyłem TAB do autouzupełniania pisania dla mnie).
Jeśli nie użyjesz KDE, przy pierwszym uruchomieniu plazmy nm pojawi się pytanie o utworzenie „portfela” do przechowywania danych uwierzytelniających. Po prostu nacisnąłem „Anuluj” w pytaniu i zadziałało to dla mnie dobrze.
Następnie wyświetli listę połączeń. Kliknij dwukrotnie połączenie, które chcesz edytować. Spowoduje to wyświetlenie panelu „Connection Editor”. Wybierz kartę „Konfiguracja ogólna”. U dołu zobaczysz pole oznaczone jako „Priorytet”. Zmień z 0 na 10 (preferowane) lub -10 (ostatnia deska ratunku). Kliknij „OK”, aby zapisać zmiany.
Ponieważ zmiany są przechowywane na stałe w NetworkManager, po zakończeniu dostosowywania priorytetów nie musisz instalować nm-plazmy, jeśli nie chcesz. ( sudo apt remove plasma-nm
)