Czy też zadajecie sobie to pytanie czemu w Ubuntu 14.04 prawie za każdym razem po wstrzymaniu systemu i ponownym włączeniu nie ma sieci i nie pomaga nawet wyłączenie i włączenie ikonkami na górnym pasku w Gnome?
Najszybsze rozwiązanie to ponowne wstrzymanie systemu i za chwilę jego uruchomienie guzikiem w obudowie komputera czy laptopa.
Drugie rozwiązanie jest ciekawsze, lecz jeszcze je testuję.
Otóż weryfikujemy zawartość w pliku odpowiedzialnym za konfigurację naszej karty sieciowej:
~$ cat /etc/network/interfaces
Jeśli Ubuntu podczas instalacji było konfigurowane w najprostszy sposób, a zapewne było („DHCP”, „Dalej”, itp), to najprawdopodobniej zawartość pliku z interfejsami będzie następująca:
# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback
Coś jest, ale widzimy, że w pierwszej linijce mamy ifup, ifdown więc sprawdzamy, bo może zadziała:
~$ sudo ifup eth0
Po podaniu hasła root’a mamy:
Ignoring unknown interface eth0=eth0.
Jak widać brak rozpoznania interfejsu eth0.
Nic więc prostszego jak dopisać (edytorem nano) odpowiednią konfigurację (dwie ostatnie linijki) zachowując pobieranie adresacji metodą dhcp:
~$ sudo nano /etc/network/interfaces# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp
Zapisujemy plik i ponownie podnosimy interfejs eth0:
~$ sudo ifup eth0
Wtedy otrzymujemy :
Internet Systems Consortium DHCP Client 4.2.4 Copyright 2004-2012 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/Listening on LPF/eth0/00:25:b3:75:35:b0 Sending on LPF/eth0/00:25:b3:75:35:b0 Sending on Socket/fallback DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0x3bb849d7) DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4 (xid=0x3bb849d7) DHCPREQUEST of 192.168.0.32 on eth0 to 255.255.255.255 port 67 (xid=0x3bb849d7) DHCPOFFER of 192.168.0.32 from 192.168.0.1 DHCPACK of 192.168.0.32 from 192.168.0.1 RTNETLINK answers: File exists bound to 192.168.0.32 -- renewal in 2296766 seconds.
Interfejs eth0 jest podniesiony natomiast ikonka w pasku Ubuntu pokazuje połączenie, ale generalnie łącze mamy przywrócone.
Testując kilka przypadków wychodzi na to, że rozwiązanie nie działa z automatu za każdym razem. Wtedy należy w konsoli ręcznie wykonać:
~$ sudo ifdown eth0 ~$ sudo ifup eth0
Jeszcze tylko ikonka sieci mogłaby prawidłowo wskazywać połączenie.
Edytujemy (jednorazowo) plik resolv.conf pod kątem wskazania DNSów Google:
~$ echo -e "nameserver 8.8.8.8\nnameserver 8.8.4.4" | sudo tee /etc/resolv.conf
Na koniec restart network managera (ikonka sieci na pasku):
~$ sudo service network-manager restart
Powodzenia!
Dodatek:
Aby nie trzeba było tego wszystkiego ręcznie uruchamiać, tworzymy skrypt siec.sh np. poleceniem
~$ nano ./siec.sh
którego zawartość przedstawia się następująco:
#!/bin/bash sudo ifdown eth0 sudo ifup eth0 sudo service network-manager restart
Po zapisaniu pliku należy nadać uprawnienia do uruchomienia, najlepiej tylko dla właściciela, czyli
~$ chmod 700 ./siec.sh
Jak już mamy gotowy skrypt, który po uruchomieniu poprosi tylko o hasło root’a, to możemy przystąpić do utworzenia ikonki (skrótu) na pulpicie Ubuntu, czyli tzw. aktywatora. Wpierw należy zainstalować (o ile nie jest) program do tworzenia aktywatorów poleceniem
~$ sudo apt-get install --no-install-recommends gnome-panel
Następnie należy wywołać program z opcją tworzenia nowego aktywatora
~$ gnome-desktop-item-edit ~/Pulpit/ --create-new
Otworzy się okienko z możliwością podania nazwy, polecenia (pełnej ścieżki do skryptu wybieranego guzikiem Przeglądaj), komentarza oraz ikonki.
Klikając dwukrotnie utworzonego aktywatora na pulpicie Ubuntu, otrzymamy okno konsoli, w którym system poprosi użytkownika o hasło (wywołane poleceniem sudo ze skryptu).
Działa, ale to nadal nie jest automat, który powinien być zaimplementowany w Ubuntu w sytuacji wybudzenia komputera ze stanu wstrzymania (suspend mode).
Powodzenia!