Jak zmusić NetworkManager do nawiązania połączenia przed zalogowaniem?


8

95% czasu zostawiam laptopa w domu. Chciałbym, aby łączyło się z moją siecią bezprzewodową bez konieczności logowania. I, co równie ważne, nie chcę się rozłączać po wylogowaniu.

Korzystam z Fedory, ale instrukcje dotyczące Ubuntu są również mile widziane.

Odpowiedzi:


5

Myślę, że to pytanie zostało zadane jakiś czas temu, ale ta funkcja została dodana do najnowszych wersji Network Managera. Zobacz tutaj .


Od maja 2011 r. Ten link mówi: W wersji 0.7.1 lub nowszej edytuj profil połączenia, z którym chcesz się rozpocząć przed zalogowaniem, i zaznacz pole w lewym dolnym rogu „Dostępne dla wszystkich użytkowników”
Joe

Ponadto nie działa dla mnie na odroidie z uruchomionym obrazem Ubuntu 14.04.
Andrew Wagner,

Ta odpowiedź (i powiązana dokumentacja) jest nieaktualna, przynajmniej od wersji Ubuntu 14.04. Nieaktualne informacje zawarte w tym FAQ nie zostały oczywiście usunięte.
Andrew Wagner,

3

Problem z tym pomysłem polega na tym, że usługa NetworkManager pobiera polecenia z apletu nm (lub analogu KDE, jeśli jesteś w KDE. Aby uniknąć pomyłek, zakładam, że jesteś w GNOME). W repozytoriach istnieje interfejs NetworkManager z wierszem poleceń o nazwie cNetworkManager (co dziwne, napisane w Pythonie). Możesz spróbować wcisnąć komendę, aby połączyć się z siecią za pomocą cNetworkManager w skrypcie startowym (nie jestem całkowicie pewien, gdzie należy umieścić ten skrypt, ale wiem, że jest to możliwe: D). Nie wiem, czy to podejście się połączy, czy pozostanie w kontakcie po wylogowaniu, ale Wiem, że są co najmniej 2 problemy, które musisz pogodzić.

1) Będziesz miał skrypt do walki z apletem nm. Jeśli chcesz to zrobić, wyłączałbym automatyczne uruchamianie apletu nm (który powinien być konfigurowany w preferencjach -> sesjach lub preferencjach -> programach startowych, w zależności od tego, czy używasz Fedory 11).

2) jeśli kiedykolwiek chcesz zmienić sieci (i robić wymyślne rzeczy, takie jak automatyczne wykrywanie ich), albo będziesz musiał to zrobić za pomocą cNetworkManager (co jest prawdziwym bólem), albo uruchomić aplet nm i stracić zdolność do zachowania połączenie otwarte po wylogowaniu.

Powodzenia i daj nam znać, jeśli to zadziała!


Pracuję na komputerze z systemem Windows; Przetestuję to, kiedy wrócę do domu. Byłoby miło, gdyby NetworkManager i aplet nm znajdowały się w różnych pakietach.
JCCyC

Myślę, że posiadanie ich w tym samym pakiecie jest naprawdę niezbędne; jaki jest sens świadczenia usługi, jeśli nie dajesz nam metody jej kontroli? Kłóciłbym się w przeciwnym kierunku; cNetworkManager powinien również znajdować się w pakiecie NetworkManager, ponieważ gdy musisz kontrolować swoją kartę bezprzewodową, gdy X nie działa (zdarzyło mi się to wstydliwie wiele razy)
Babu

Nie jestem pewien, czy ten cNetworkManager istnieje od 2015 r. Istnieje narzędzie „nmcli”, które, jak sądzę, jest domyślnie instalowane i umożliwia pracę z menedżerem sieci z poziomu cli.
Andrew Wagner,

2

Miałem ten sam problem i ostatecznie całkowicie usunąłem NetworkManagera i zamiast tego użyłem wpa_supplicant. Działa w odwrotny sposób - masz plik konfiguracyjny ze wszystkimi sieciami, z którymi chcesz się automatycznie łączyć, oraz interfejs GUI, który może go przesłonić w czasie wykonywania (i połączyć się z inną siecią) lub zmienić plik konfiguracyjny .

Użyłem tego samouczka, aby skonfigurować Debiana i nie miałem z nim zbyt wielu problemów (tak samo jak Ubuntu): http://svn.debian.org/wsvn/pkg-wpa/wpasupplicant/branches/unstable/ debian / README.Debian? op = plik i rev = 0 i sc = 0


1

Użyłem metody Andrew Wagnera na Fedorze 22 do połączenia z zabezpieczeniami WPA.

  1. Utwórz połączenie „demo” nas zwykle za pomocą GUI.

  2. Jako root utwórz plik / etc / NetworkManager / wifipw z jednym wpisem:

    802-11-wireless-security.psk:wpa-pw 
    

gdzie wpa-pwjest hasło do wifi.

  1. Dodaj następujący wiersz do crontabkatalogu głównego:

    @reboot sleep 10; /usr/bin/nmcli conn up id demo passwd-file etc/NetworkManager/wifipw
    

Uśpienie 10 było konieczne w moim systemie, aby dać urządzeniu czas na zainicjowanie przed próbą połączenia.


0

Być może nie jest to dla ciebie opcja, ale możesz skonfigurować sieć za pomocą plików konfiguracyjnych, jak w samouczku . To dotyczy Ubuntu, ale nie zauważyłem różnicy. Sieć zostanie włączona podczas procesu uruchamiania systemu operacyjnego.


To dobre rozwiązanie, ale są też z tym pewne zastrzeżenia. Menedżer sieci i usługi sieciowe nie powinny być uruchamiane w tym samym czasie; oboje będą próbowali jednocześnie kontrolować sprzęt bezprzewodowy i robić dziwne rzeczy. Możesz domyślnie włączyć usługę sieciową i włączyć menedżera sieci tylko wtedy, gdy jest to wymagane.
Babu

To prawda.
Kirill V. Lyadvinsky

0

Oto co zrobiłem (na płycie odroid arm z systemem Ubuntu 14.04):

Skonfiguruj połączenie sieciowe, używając np. Nm-applet, jako zwykły użytkownik, nadaj mu nazwę, np. „Decktop Demo”. Prawdopodobnie musisz zaznaczyć pole Ogólne -> „Wszyscy użytkownicy mogą łączyć się z tą siecią”.

Edytuj „cron” jako superużytkownik:

sudo crontab -e

po wyświetleniu monitu wybierz edytor i dodaj wiersz u dołu:

@startup / usr / bin / nmcli conn up id „Desktop Demo”

poświęć małe zwierzę bogom zarządzania siecią i zrestartuj komputer.

Ta metoda ma tę zaletę, że robi wszystko za pośrednictwem menedżera sieci, więc ~ powinna dobrze grać aplety do zarządzania siecią GUI dla różnych komputerów, np. Nm-applet.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.