Właśnie zaktualizowałem Ubuntu 11.10 do 12.04. Mam problem z hibernacją w moim nowym 12.04.
Uruchomię następujące polecenie
sudo pm-hibernate
ale mój system nie hibernuje, tzn. mój system się nie wyłącza; raczej ekran po prostu miga przez kilka sekund i powraca do poprzedniego stanu.
Jak rozwiązać ten problem i włączyć hibernację w moim systemie?
sudo pm-hibernate
działać nawet przed włączeniem hibernacji w 12.04? To zalecany sposób przetestowania go przed włączeniem ... prawda? czego mi brakuje?sudo pm-hibernate
powinien działać niezależnie od ustawienia pakietu polkit.Odpowiedzi:
Coś w konfiguracji sprzętowej jest niezgodne z metodologią hibernacji jądra. Niestety jest to trudne do rozwiązania, chyba że narzędzie do rozwiązywania problemów ma bardzo podobny system.
Zamiast tego możesz wypróbować alternatywną hibernację TuxOnIce ( wikipedia ).
Nie wymaga instalacji niestandardowego jądra TuxOnIce , ale poniższe instrukcje powinny to ułatwić. Jeśli nigdy wcześniej nie otwierałeś terminala, możesz teraz :-)
0. Wymagania
Jedynym wymaganiem dla TuxOnIce jest to, aby partycja wymiany była co najmniej tak duża, jak ilość dostępnej pamięci (RAM). Możesz to sprawdzić przez:
Uruchom terminal za pomocą Ctrl+ Alt+T
Wpisz
free -m
, a powinieneś zobaczyć coś takiego:Liczba po
Swap:
(np. 1536) powinna być większa niż liczba poMem:
(np. 1024)Jeśli tak nie jest, a twoja wymiana jest mniejsza niż twoja pamięć, musisz albo zmienić rozmiar i zwiększyć rozmiar partycji wymiany, albo skonfigurować TuxOnIce, aby używał specjalnego pliku wymiany. To wykracza poza zakres tej odpowiedzi, ale jeśli zadajesz inne pytanie i wspominasz o nim w komentarzach, odpowiem i wyjaśnię, w jaki sposób.
1. Instalowanie jądra TuxOnIce
Uruchom terminal za pomocą Ctrl+ Alt+T
Ubuntu powinno teraz uruchomić się z jądrem TuxOnIce . Jeśli pojawią się jakiekolwiek problemy, Shiftnaciśnij i przytrzymaj podczas uruchamiania, a pojawi się menu Grub. Użyj klawiszy strzałek, aby przejść do
Previous Linux Versions
, naciśnij enter i naciśnij enter ponownie, aby wrócić do działającego jądra.2. Testowanie funkcji hibernacji.
Otwórz niektóre z normalnie używanych aplikacji, np. Firefox, Thunderbird, LibreOffice itp.
sudo pm-hibernate
, naciśnij enter, wprowadź hasło.Powinieneś zobaczyć ekran blokady przez sekundę, a następnie ekran postępu hibernacji TuxOnIce, taki jak ten poniżej:
Jeśli to wszystko zadziałało, przejdź do kroku 3, który pozwala włączyć hibernację z pulpitu nawigacyjnego.
3. Włączanie hibernacji z pulpitu nawigacyjnego
Naciśnij Alt+ F2, wpisz poniżej, a następnie naciśnij enter:
Wklej poniżej, naciśnij Ctrl+, Saby zapisać i Ctrl+, Qaby wyjść z edytora:
Uruchom ponownie i powinieneś zobaczyć opcję Hibernacji , jak pokazano poniżej:
4. Usuwanie TuxOnIce
Jeśli TuxOnIce nie działa dla Ciebie lub po prostu chcesz go usunąć, uruchom terminal i wprowadź:
i pamiętaj, aby wyłączyć opcję Hibernacja w menu za pomocą:
Następnie uruchom ponownie.
źródło
To zadziałało dla mnie. W trybie konsoli:
Następnie możesz spróbować zawiesić komputer za pomocą:
lub hibernacja z
Jeśli to działa, po prostu uruchom ponownie i powinieneś być w stanie hibernować później ze zwykłego przycisku (w prawym górnym rogu Unity Desktop i wybierając Hibernacja).
Przygotowałem krótki samouczek na temat tego i innych problemów dla Dell XPS 13 Developer Edition dostępny tutaj .
źródło
uswsusp
. Ponadto hibernacja nie działała przy pierwszej próbie: wyłączyła się, a następnie uruchomiła normalnie później. Założę się, że jest to tradycyjna rzecz „restart w celu aktualizacji konfiguracji”.Miałem wcześniej ten problem. Jeśli partycja wymiany jest mniejsza niż ilość pamięci, którą chcesz przechowywać na dysku twardym podczas hibernacji, może wystąpić ten problem.
Możesz zmienić rozmiar partycji wymiany lub użyć pliku wymiany (jest to o wiele łatwiejsze, jeśli nie masz wolnego miejsca na zmianę rozmiaru partycji wymiany).
Oto jak to zrobić:
Otwórz okno terminala (naciśnij Ctrl+ Alt+ Tlub wybierz Aplikacje> Akcesoria> Terminal ) lub zaloguj się do zdalnego serwera za pomocą klienta ssh.
Utwórz plik pamięci
Wpisz następujące polecenie, aby utworzyć plik wymiany 512 MB (1024 * 512 MB = rozmiar bloku 524288):
Przykładowe wyniki:
if=/dev/zero
oznacza odczyt z pliku / dev / zero./dev/zero
to specjalny plik, który zawiera znaki puste, aby zbudować plik pamięci o nazwie/swapfile1
.of=/swapfile1
oznacza zapisanie pliku pamięci do/swapfile1
.bs=1024
oznacza odczyt i zapis 1024 bajtów na raz.count=524288
oznacza Kopiuj tylko bloki wejściowe 523288 BLOKÓW.Bezpieczny plik wymiany
Skonfiguruj poprawne uprawnienia do plików ze względów bezpieczeństwa, wprowadzając:
Plik wymiany, który można odczytać na całym świecie, jest ogromną podatnością na zagrożenia lokalne. Powyższe polecenie zapewnia, że tylko użytkownik root może czytać i zapisywać w pliku.
Skonfiguruj obszar wymiany Linux
Wpisz następujące polecenie, aby skonfigurować obszar wymiany systemu Linux w pliku:
Przykładowe wyniki:
Włącz plik wymiany
Na koniec, aby
/swapfile1
natychmiast aktywować przestrzeń wymiany, wpisz:Zaktualizuj
/etc/fstab
plik Aby aktywować/swapfile1
po ponownym uruchomieniu systemu Linux, dodaj pozycję do/etc/fstab
pliku. Otwórz ten plik za pomocą edytora tekstu, takiego jak vi:Dodaj następujący wiersz:
Zapisz i zamknij plik. Następnym razem, gdy Linux uruchomi się po ponownym uruchomieniu, automatycznie włącza nowy plik wymiany.
Jak sprawdzić, czy zamiana jest aktywowana, czy nie?
Po prostu użyj
free
polecenia:Oto link, z którego otrzymałem ten samouczek: Dodaj plik wymiany
źródło
/etc/fstab
i nie jest to konieczne, aby go włączyć.O ile wiem, nie działa to w 12.04. W jakiś sposób nie zawierały one wsparcia hibernacji, ponieważ na niektórych komputerach było to trochę wadliwe.
źródło