Hibernacji wciąż brakuje w menu w 13.10 po włączeniu przez polkit. Jak włączyć?

52

Wiem, że od 12,04 musimy dodać regułę PolicyKit włączyć hibernację (patrz pytanie Jak włączyć hibernację? A Oficjalna dokumentacja ).

Mogę z powodzeniem wprowadzić mojego laptopa w tryb hibernacji za pomocą sudo pm-hibernatelub sudo s2disk, więc reguła jest na miejscu i działa, ale w menu wciąż brakuje wpisu hibernacji.

Po przejrzeniu źródła pakietu sesji sesji (ale nie rozumiem całego kodu) mogę stwierdzić, że w kodzie nadal znajduje się pozycja menu hibernacji i powinna ona zostać wyświetlona, ​​gdy system jest w stanie hibernacji. Proszę się uspokoić, jeśli jesteś tym wściekły. Jest to bardzo mało prawdopodobne, aby był to spisek , ale raczej błąd / regresja na głębszym poziomie, co może się zdarzyć, gdy przesuniesz kod lub go zastąpisz.

Pytanie: Co należy zrobić w 13.10, aby poprawnie stwierdzić, indicator-sessionże system może hibernować?


Możliwy duplikat: Hibernacja wciąż niedostępna - Brak aktywności, ponieważ w tym czasie rozwijał się pyskaty, więc nie wchodzi w zakres AskUbuntu.

Powiązany raport o błędzie: https://bugs.launchpad.net/ubuntu/+source/indicator-session/+bug/1232814

LiveWireBT
źródło
Moje pytanie o to samo: askubuntu.com/questions/361058
pileofrocks
@pileofrocks Przepraszamy, dzisiaj musiałem przeoczyć twój w moim czytniku kanałów.
LiveWireBT,
Twoje jest lepiej sformułowane i bardziej technicznie (zadałem pytanie, gdy jeszcze nie wiedziałem o błędzie), jeśli inne należy zamknąć, to powinno być to moje. : P
pileofrocks 20.10.2013

Odpowiedzi:

62

14.04 i później

Mitch wskazuje w swojej odpowiedzi na 14.04 i 16.04, że powinieneś sprawdzić 10-vendor.d/com.ubuntu.desktop.pklaprzed modyfikacją czegokolwiek. Sprawdź również, czy masz wyłączony Bezpieczny rozruch i czy to przywraca opcję menu.

Ponowne włączenie opcji hibernacji w menu

Aby ponownie włączyć opcję hibernacji w menu, /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pklanależy zmodyfikować go tak, aby wyglądał następująco w pyskaty (13.10):

[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
ResultActive=yes

Następnie uruchom ponownie lub uruchom killall indicator-session-servicesesję, a powinieneś mieć z powrotem swoją funkcję hibernacji / opcję menu. Utwórz plik, jeśli jeszcze nie istnieje.

Badanie na podstawie raportu o błędzie

Cytat z postu Jeffery To na temat raportu o błędzie Launchpad # 1232814 :

W przypadku Saucy sesja indykatora została zaktualizowana i używa logind (org.freedesktop.login1) zamiast upower.

Jeśli zaznaczysz /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla, zobaczysz, że hibernacja jest domyślnie wyłączona zarówno w trybie upower, jak i logind.

Pierwszym krokiem do ponownego włączenia opcji Hibernacja jest edycja pliku /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla na coś takiego:

[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
ResultActive=yes

Po ponownym uruchomieniu menu sesji ekranu logowania powinno mieć opcję Hibernacji.

[...]

Wszystkie podziękowania i podziękowania należą się Jeffery!

Dlaczego hibernacja została wyłączona?

Istnieje raport o błędzie na starterze, który sugeruje wyłączenie zawieszenia / hibernacji zamiast śledzenia, który sprzęt „certyfikuje”, dla których trybów zasilania. Podobno jest to podejście bardziej skalowalne.

Inną rzeczą, o której należy wspomnieć, jest to, że użycie Bezpiecznego rozruchu i hibernacji UEFI wydaje się możliwe, ale może stanowić ryzyko obejścia tego pierwszego. ( 1 , 2 ) Przypominamy, że podczas hibernacji przechowuje się wszystko w pamięci RAM na dysk bez szyfrowania, w tym hasła do zaszyfrowanych systemów plików i kontenerów.

W pewnym momencie z 16.04 musiałem wyłączyć Bezpieczny rozruch, aby móc hibernować moje laptopy. W moim przypadku użyłem uswsusp, a testowanie z s2disk zwróciło poniższy komunikat. Może to dać ci wskazówkę, że problem, dlaczego nie możesz hibernować, mimo że wszystko inne jest na swoim miejscu, jest związany z Bezpiecznym uruchomieniem:

s2disk: Could not open the snapshot device. Reason: Operation not permitted 

Proszę jednak zrozumieć, że nie jest to miejsce do narzekań i proszę bądź miły.

Powiązane pytania

LiveWireBT
źródło
3
Dzięki za metodę, ale nadal nie mam powodzenia po ponownym uruchomieniu komputera i po „killall wskaźnik-sesja-usługa”. Wspomniałeś jednak o „lub rozwiązaniu innych problemów po ponownym uruchomieniu”, więc myślę, że jestem w tej kategorii. To bardzo dziwne, że tak ważne zachowanie jest nadal nieobsługiwane po tylu iteracjach tego systemu operacyjnego, ale to wszystko, co mam obecnie. Po prostu trzymam kciuki i trzymam się na razie sudo pm-hibernacji.
cdaddr
3
Kilka pytań: dlaczego na świecie hibernacja jest wyłączona? I czy wykonanie powyższych opcji hibernacji jest przydatne w Ustawieniach zasilania? Nie potrzebuję hibernacji w menu biegów, ale aby mój laptop hibernował przy krytycznym poziomie naładowania baterii. Dziękuję za odpowiedź!
Oxwivi,
1
Nawet po tym nie jestem w stanie hibernacji !! :( prosze o pomoc! hibernacja działa na moim komputerze ... ale nie wyświetla się w menu ..
Nirmik
1
@constantius Tak, powinieneś go utworzyć.
LiveWireBT
1
@SalmanPK Możesz wtedy zadać inne pytanie. Upewnij się także, czy masz wystarczającą liczbę SWAP.
Seth
2

Jeśli nadal masz problemy z hibernacją, sprawdź komentarz nr 58 do tego raportu o błędzie :

Znalazłem obejście na Ubuntu gnome 13.10: po prostu zainstaluj hibernację:

sudo apt-get install hibernate

Jedynym problemem jest to, że apport spowoduje trzy błędy podczas uruchamiania po normalnym wyłączeniu zasilania. W tym celu możesz wyłączyć apport:

sudo -H gedit /etc/default/apport

Następnie zmień enabled=0.

Aby zmienić ustawienia hibernacji, edytuj pliki w /etc/hibernate.

Instalacja pakietu hibernacji wydaje się wprowadzać właściwe zmiany i działała bardzo dobrze dla mnie w Ubuntu GNOME 13.10 x64

cyberalex4life
źródło
1

Jeśli wykonałeś poprzednie kroki i nadal nie działało, sugeruję zmianę /etc/pm/sleep.d/20_custom-ehci_hcdna:

[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
ResultActive=yes

aby to działało, wykonaj czynności wymienione powyżej, aby włączyć opcję hibernacji. To naprawdę działało dla mnie.

Na końcu będziesz mieć 2 pliki edytowane za pomocą „ [Re-enable hibernate ... ]” Wypróbuj ten. Na pewno zadziała, jeśli używasz Ubuntu 13.10

awaria NBA
źródło
1

Chciałbym tu dodać jedną rzecz, którą AFAICR, to odmontowana partycja wymiany. Jeśli partycja wymiany nie zostanie zamontowana, opcja hibernacji nie będzie wyświetlana / włączona niezależnie od konfiguracji hibernacji.

A jeśli partycja wymiany nie zostanie automatycznie zamontowana, hibernowana sesja zostanie utracona.

Krwawiące palce
źródło