Jak włączyć hibernację?

419

W Ubuntu 12.04 i nowszych, hibernacja została domyślnie wyłączona w policykit . Jak mogę to włączyć?

    
zadawane Dima 12.01.2012, 01:10
źródło

10 odpowiedzi

335

Jeśli ta odpowiedź nie działa w systemie Ubuntu 13.10, zobacz tutaj , aby uzyskać alternatywną odpowiedź

Możesz śledzić oficjalną dokumentację tutaj . Hibernacja była wyłączona w dniu 12.04 dla komputerów, które nie są certyfikowane z Ubuntu.

Aby włączyć hibernację, musisz sprawdzić, czy działa poprawnie, uruchamiając sudo pm-hibernate w terminalu. System podejmie próbę hibernacji. Jeśli jesteś w stanie uruchomić system ponownie, możesz mniej lub bardziej bezpiecznie dodać zastąpienie.

Aby to zrobić, rozpocznij edycję:

sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Wypełnij to:

[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

Lub w 14.04 i później:

[Re-enable hibernate by default for login1]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate
  ResultActive=yes

[Re-enable hibernate for multiple users by default in logind]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate-multiple-sessions
  ResultActive=yes

Zapisz, naciskając Ctrl - O następnie enter , a następnie zamknij nano, naciskając Ctrl - X .

Ponownie uruchomiono i hibernacja powróciła!

Lub uruchom killall unity-panel-service , aby zresetować menu.

Niektórzy użytkownicy będą musieli uruchomić sudo update-grub , aby opcja hibernacji była dostępna w menu zasilania. Niektórzy użytkownicy mogą również wylogować się, a następnie zalogować się, aby wyświetlić go w menu zasilania (po prawej stronie u góry).

    
odpowiedział Dima 13.04.2017, 14:24
źródło
45

Najpierw musisz sprawdzić, czy Twój komputer obsługuje hibernację. Przetestuj go za pomocą polecenia:

 sudo pm-hibernate
 # or for newer Ubuntus like 17.04
 sudo systemctl hibernate

Ubuntu 16.04 i nowsze

Aby włączyć w interfejsie, musisz uruchomić sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla i wypełnić:

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes

Ubuntu 14.04 i 15.04

Aby włączyć w interfejsie, musisz uruchomić sudo nano /etc/polkit-1/localauthority.conf.d/52-enable-hibernation.conf dla Ubuntu 14.04 i 15.04 i wypełnić:

[Re-enable hibernate by default]
  Identity=unix-user:*
  Action=org.freedesktop.upower.hibernate
  ResultActive=yes

[Re-enable hibernate by default for login1]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
  ResultActive=yes

Ma kilka zwrotek, ponieważ możesz mieć wielu użytkowników (więc nie jest to zależne od wielu użytkowników lub upower jako menedżer zamiast login1)

p.s .: oficjalna najnowsza dokumentacja link

    
odpowiedział morhook 23.06.2014, 21:17
źródło
32

Dodatkowo, dla tych, którzy chcą wyłączyć przycisk zawieszenia (z różnych powodów), postępuj analogicznie ...

Wybierz dowolną nazwę pliku, ale jest to wersja verbose / convention:

sudoedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.disable-suspend.pkla

Wypełnij to:

[Disable suspend by default]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no

Ctrl + O , Enter , Ctrl + X

Nie trzeba ponownie uruchamiać, powinno to zniknąć zaraz po wejściu do menu zamykania.

    
odpowiedział nacs 23.06.2012, 02:56
źródło
14

Jeszcze jedno:

Jeśli chcesz dodać opcję hibernacji do panelu XFCE , musisz kliknąć prawym przyciskiem myszy swoje imię i nazwisko (góra) i wybrać properties .

Następnie pojawia się ekran:

Upewnij się, że sprawdziłeś Hibernate tak jak ja.

    
odpowiedział mreq 01.04.2013, 10:04
źródło
14

Po pierwsze, zalecam przetestowanie, czy laptop obsługuje hibernację, ponieważ domyślnym powodem wyłączenia hibernacji jest to, że czasami ma ona fatalne skutki na niektórych komputerach. Przetestuj swoją maszynę przez

Ctrl + Alt + T , a następnie sudo pm-hibernate

Urządzenie powinno hibernować. Obudź komputer po hibernacji i obserwuj, czy działa nieprawidłowo, czy działa normalnie. Jeśli po hibernacji wystąpią jakiekolwiek nieprawidłowości, radzę nie kontynuować poniższej procedury. Jeśli jednak działa dobrze, kontynuuj aktywację hibernacji przez

sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Edytuj otwarty plik i dodaj następujące linie:

[Re-enable hibernation]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

Następnie uruchom ponownie komputer, a po zalogowaniu powinieneś zobaczyć opcję hibernacji w prawym górnym rogu ustawień.

    
odpowiedział kelvinelove 10.10.2013, 16:13
źródło
6

Jeśli odpowiedź z /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla nie działa tak jak w moim przypadku, nie zapomnij usunąć pliku przez:

sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Spróbuj użyć TuxOnIce .

Najpierw upewnij się, że masz dość wymiany. Powinien być taki sam lub większy, jak ilość twojej pamięci RAM. Użyj polecenia

free

rule Swap > Mem. Jeśli tak nie jest, powiększ swój rozmiar wymiany. Następnie zainstaluj TuxOnIce przez

sudo add-apt-repository ppa:tuxonice/ppa
sudo apt-get update
sudo apt-get install tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice

Następnie możesz spróbować wykonać test hibernacji uruchamiany przez:

sudo pm-hibernate

Nie zapomnij zapisać swojej pracy, zanim to zrobisz.

Jeśli wszystko pójdzie dobrze, twój komputer się wyłączy. Po włączeniu dostaniesz swój pulpit w stanie, w którym zostałeś przed hibernacją.

    
odpowiedział Dee 10.10.2013, 15:49
źródło
5

Włączanie hibernacji za pomocą skryptu

Przetłumaczyłem powyższe odpowiedzi na skrypty bash . To sprawia, że instalacja na wielu komputerach jest mniej uciążliwa.

Skrypt enable-hibernate :

#!/bin/bash
#http://askubuntu.com/a/94963/164341
cat << '_EOF_' |sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Enable Hibernate]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
_EOF_
clear
echo
echo 'Hibernate enabled.'
echo

Skrypt disable-suspend :

#!/bin/bash
#http://askubuntu.com/a/154821/164341
cat << '_EOF_' |sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.disable-suspend.pkla
[Disable suspend by default]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no
_EOF_
clear
echo
echo 'Suspend disabled.'
echo

Uwaga: Nie zapomnij o chmod +x obu skryptach, aby były one wykonywalne.

    
odpowiedział Serge Stroobandt 18.02.2014, 16:27
źródło
4

Proste polecenie, które wykonuje dokładnie to samo, co zaakceptowana odpowiedź, z wyjątkiem nieinteraktywnego:

cat <<EOF | sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
EOF
    
odpowiedział kiri 24.10.2013, 05:52
źródło
2

W wersji 12.04 pomyślnie włączyłem opcję hibernacji w menu wskaźnika do hibernacji. Ale nadal nie mogłem pomyślnie wznowić hibernacji. Wykonałem następujące kroki, aby rozwiązać ten problem:

Włącz hibernację w wersji 12.04

Aby włączyć Hibernate, postępowałem zgodnie z tą odpowiedzią z Dima.

Po włączeniu hibernacji mogłem hibernować. Ale problem polega na tym, że nie mogę wznowić hibernacji. Za każdym razem, gdy uruchamiam komputer ze stanu hibernacji, uruchamia się on jak normalny rozruch. Tak więc musiałem zrobić te rzeczy, aby móc wznowić ze stanu hibernacji.

Poprawki, które można przywrócić ze stanu hibernacji

Można to naprawić na dwa sposoby.

1. Edytowanie pliku /etc/initramfs-tools/conf.d/resume

  1. Najpierw uzyskaj identyfikator UUID partycji wymiany.

     sudo blkid | grep swap
    

    Wypisze linię podobną do tej:

    /dev/sda12: UUID="a14f3380-810e-49a7-b42e-72169e66c432" TYPE="swap"
    

    Właściwy wiersz nie pasuje do tego. Skopiuj wartość UUID pomiędzy "..." podwójnego cudzysłowu.

  2. Otwórz plik CV

    gksudo gedit /etc/initramfs-tools/conf.d/resume
    

    I w tym pliku dodaj taką linię

    RESUME=UUID=a14f3380-810e-49a7-b42e-72169e66c432
    

    Nie zapomnij zastąpić rzeczywistej wartości UUID otrzymanej od kroku 1. Zapisz plik i wyjdź z programu gedit

  3. Następnie w terminalu uruchom to polecenie

    sudo update-initramfs -u
    

Możesz teraz wznowić ze stanu hibernacji

2. Edytowanie pliku /etc/default/grub .

  1. Otwórz terminal i wykonaj poniższe polecenie, aby je otworzyć

    gksudo gedit / etc / default / grub

  2. Pojawi się linia taka jak GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" . Edytuj linię, aby wstawić RESUME=UUID=<your-uuid-value-here> po słowie splash .

    Na przykład w moim przypadku linia wygląda tak po edycji

     GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=a14f3380-810e-49a7-b42e-72169e66c432" 
    

    Upewnij się, że wykorzystałeś swoją wartość UUID otrzymaną z polecenia sudo blkid | grep swap .

  3. Następnie wykonaj to polecenie

     sudo update-grub
    

Umożliwia to również powrócenie do trybu hibernacji.

Testowany na dwóch instalacjach Ubuntu, obaj pracowali

    
odpowiedział Anwar 19.09.2012, 12:51
źródło
0

Mam na swoim notebooku Ubuntu Gnome 17.04 amd64. Wykonałem następujące czynności, aby włączyć hibernację:

$ sudo apt-get install hibernate ( źródło )

To również zainstalowało libx86-1 uswsusp vbetool

Potem mógłbym hibernować z sudo systemctl hibernate . W mojej ścieżce nie ma pliku pm-hibernate .

$ sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Wstawiono: ( źródło )

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes

Zainstalowano link

    
odpowiedział ominug 29.04.2017, 22:21
źródło

Przeczytaj inne pytania na temat tagów