Jak zarządzać dostępnym priorytetem sieci bezprzewodowej?

66

Chciałbym przesuwać w górę i w dół dostępne punkty dostępu bezprzewodowego, ustalając priorytety, jak to możliwe w systemie Microsoft Windows. Nie pamiętam, żeby kiedykolwiek udało się to od czasu użycia network-manager. Może coś z plikami conf jest możliwe ...

Nie interesują mnie różni menedżerowie sieci.

jaśmin
źródło

Odpowiedzi:

17

WiFi Radar to narzędzie Python / PyGTK2 do zarządzania profilami WiFi. Umożliwia skanowanie w poszukiwaniu dostępnych sieci i tworzenie profili dla preferowanych sieci. W czasie rozruchu uruchomiony Radar WiFi automatycznie wyszuka dostępną preferowaną sieć i połączy się z nią. Możesz przeciągać i upuszczać preferowane sieci, aby ustawić priorytet profilu. 1

Zainstaluj WiFi Radar, po prostu naciśnij Ctrl+ Alt+ Tna klawiaturze, aby otworzyć Terminal. Po otwarciu uruchom poniższe polecenie.

sudo apt install wifi-radar

Aby to uruchomić,

sudo wifi-radar

Radar WiFi ma nową wersję 2.0, którą można pobrać z ich strony internetowej . Lub pobierz go stąd

1 Źródło: Ubuntu Geek

Mitch
źródło
1
Czy muszę dodać go ręcznie do aplikacji startowych?
jaśmin
1
Co jeśli nie? Czy priorytety zostaną zignorowane lub zapamiętane?
jaśmin
1
Narzędzie wygląda obiecująco, ale nie znalazłem sposobu, aby zapisać zmieniony priorytet AP. Po ponownym uruchomieniu radaru Wi-Fi punkty dostępu pojawiają się w starej kolejności.
mirk
2
Nie głosowałeś na pytanie, ale odpowiedziałeś. Zostało to wypróbowane z 12.10, 13.04, 13.10 i Fedorą i działa idealnie od razu po wyjęciu z pudełka. Plus fakt, że to pytanie ma ponad rok. Wypróbuj nową wersję. Radar WiFi ma nową wersję 2.0, którą można pobrać z ich strony internetowej . Witryna zawiera również potrzebne dokumenty.
Mitch
1
@Kasisnu Naprawiłem link i dodałem jeszcze jeden. Dzięki.
Mitch
61

Najwyraźniej w 2014 roku zespół NetworkManager wprowadził taką funkcję - w celu określenia priorytetów dla różnych sieci. Jest teraz connection.autoconnect-priority.

Ten artykuł zawiera wiele informacji na temat sposobu interfejsu NetworkManager nmcli.

Na przykład z

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

możesz wyświetlić listę znanych sieci i zobaczyć, że ich domyślny priorytet to 0. Teraz uruchomiłem

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

aby nadać mojemu domowemu WiFi wyższy priorytet. Mam te same punkty Wi-Fi dostępne w domu, ale muszę połączyć się z HOME-WIFI, kiedy jestem w domu. Polecenie mocno przepisane, /etc/NetworkManager/system-connections/HOME-WIFIktóre dodano autoconnect-priority=10do [connection]sekcji - czas pokaże, czy działa tak, jak powinno.

Jarosław Halczenko
źródło
3
Wygląda
2
Widać to poprzez interfejs sieciowy KDE 16.04 jako ustawienie „priorytetowe”. Szkoda, że ​​nie jest dostępny nigdzie indziej. Nawet nmtuitego nie ma.
Oli
6
Działa doskonale w Ubuntu 16.04. Naprawdę podoba się to podejście, ponieważ wykorzystuje tylko standardowe narzędzia. GNOME 3 GUI („Sieć” w „Centrum sterowania”) również nie daje dostępu do ustawień priorytetów. Rzeczywiście wstyd.
dasup
Z gnome docs : „autoconnect-Priority: Priorytet autoconnect. Jeśli połączenie jest ustawione na autoconnect, połączenia o wyższym priorytecie będą preferowane. Domyślnie 0. Wyższa liczba oznacza wyższy priorytet.”
Michael Mandel,
1
Wspaniały! Powinna być zaakceptowana odpowiedź!
6005
24

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, nmclinie 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, nmclii plasma-nmzaró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 nmclii kde5-nm-connection-editormogą edytować poszczególne priorytety AUTOCONNECT sieć. Tylko nmclimoż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-settingsi 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 nmcliwyż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.

Panel edytora połączeń plazmy-nm

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)

hackerb9
źródło
2
Dziękuję (powinna to być zaakceptowana odpowiedź). Wyjaśnienie: Czy GNOME [...] simply cannot show or edit autoconnect priorities at all.oznacza to, że używanie nmclinie działa w Gnome? (Narzędzie jest nadal dostępne w Ubuntu 17.10, ale może jako zależność od Unity?)
Leo
Dziękuję @leo, naprawiłem to teraz, aby wyjaśnić, że mam na myśli, że narzędzia sieciowe wbudowane w GNOME nie mogą obsłużyć priorytetów. Nadal możesz uruchamiać nmcli lub narzędzie sieciowe KDE bez żadnych problemów w GNOME.
hackerb9
1
W tym celu nie trzeba instalować narzędzi KDE. Po prostu uruchom nm-connection-editor(pakiet network-manager-gnome). (Więc tak naprawdę nie jest prawdą, że GNOME nie ma wbudowanych narzędzi do tego. Po prostu przeprojektowali ustawienia sieciowe, nie ma sposobu, aby to znaleźć, nie wiedząc, czego szukać.)
Socob
Dzięki, Socob. Nie wiedziałem o tym. Naprawię moją odpowiedź. Czy to narzędzie jest przestarzałe? Jeśli gnom zamierza go wkrótce usunąć, być może nie jest to najlepsze rozwiązanie.
hackerb9
Nie wiem, czy jest oficjalnie przestarzałe (wątpię, żeby GNOME ogłosiło oficjalny status dla takich rzeczy). Zakładam, że usuną się tylko nm-connection-editorraz / jeśli nowy panel sterowania ma wszystkie funkcje starego.
Socob,
8

Biegać nm-connection-editor

Odkąd ustawienia (sieciowe) zostały przeprojektowane w GNOME, nie można już uzyskać dostępu do niektórych funkcji z nowego interfejsu ustawień. Aby użyć starej, która udostępnia więcej opcji, uruchom nm-connection-editor.

Ustawianie priorytetu połączenia w <code> nm-connection-editor </code>

Socob
źródło
Priorytet połączenia dla automatycznej inaktywacji nie pojawia się w 16.04
Andor Kiss
1

Jeśli używasz xfce, na przykład pod Xubuntu 18.04, możesz to zrobić:

  • Przejdź do apletu Wi-Fi (prawy górny róg)
  • Kliknij „Edytuj połączenia”
  • Kliknij dwukrotnie interesującą sieć
  • Kliknij kartę „Ogólne”
  • Wprowadź wartość „priorytet połączenia dla automatycznej aktywacji”

Liczby dodatnie mają wyższy priorytet; liczby ujemne mają niższy priorytet. Domyślny priorytet wydaje się wynosić 0, więc ustawiłem priorytet wszechobecnego, ale nie zawsze działającego „xfinitywifi” na liczbę ujemną, aby wszystko inne łączyło się najpierw.

Spowiedź: znalazłem to dopiero po znacznym wysiłku, aby samemu dodać tę funkcję. Co pokazuje, że przeciąganie i upuszczanie byłoby prawdopodobnie warte dodania po prostu dlatego, że odkrycie jest bardziej intuicyjne, chociaż trzeba będzie się zastanowić, jak pogodzić go z domyślną kolejnością sortowania itp. Zakładka „priorytet” w lista połączeń może być właściwym miejscem do ujawnienia tej funkcji.

Tom Boutell
źródło