Nie hibernuje, gdy bateria jest krytyczna

21

Ubuntu 12.04 64bit odmawia hibernacji, gdy poziom naładowania baterii jest krytycznie niski. Zamiast tego powoduje całkowite zamknięcie, które nie jest konieczne i może spowodować utratę danych.

Włączyłem Hibernację (pm-hibernacja), postępując zgodnie z typowymi instrukcjami, które przetestowałem pm-hibernacja. Działa poprawnie, gdy jest uruchamiany ręcznie.

Ustawiłem opcje mocy na hibernację „Gdy moc jest krytycznie niska”. Zostało to również zweryfikowane za pomocą edytora dconf. W org> gnome> demon ustawień> wtyczki> moc> krytyczna bateria-akcja ustawiono na „hibernacja”. W ramach tego samego schematu działanie czasowe jest ustawione na „120”.

Chciałbym zobaczyć, co się dzieje tuż przed tym zamknięciem. Chciałbym wiedzieć, które dzienniki mają być wyszukiwane, aby sprawdzić, czy funkcja hi-hi pmnate naprawdę nie działa lub czy jest całkowicie ignorowana.

Jeśli nie zastanawiam się nad tym sam, czy jest jakieś sugerowane rozwiązanie?

swysocki
źródło
Opublikowane rozwiązania nie uwzględniają stanu ładowania i pozwalają kontynuować pracę po podłączeniu do zasilania. tj .: jeśli poziom mocy jest poniżej progu ORAZ stan naładowania nie ładuje, to pm-hibernacja (lub pm-zawiesić).
user1956808

Odpowiedzi:

14

Znalazłem inne rozwiązanie dla mojego systemu Ubuntu 14.04. Może to działa dla ciebie.

Najpierw zainstaluj narzędzia w trybie laptopa

sudo apt-get install laptop-mode-tools

Następnie musisz włączyć funkcję automatycznego hibernacji. Musisz edytować plik tekstowy:

sudo gedit /etc/laptop-mode/conf.d/auto-hibernate.conf

Tam poszukaj parametru ENABLE_AUTO_HIBERNATION i zamień 0 na 1:

ENABLE_AUTO_HIBERNATION = 1

W tym samym pliku chcesz także dostosować procent naładowania baterii, gdy komputer hibernuje. Na przykład:

AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT = 3

Zapisz plik i przetestuj konfigurację, aby rozładować akumulator. Jeśli to działa, musisz ustawić narzędzia trybu laptopa jako domyślne, tworząc skrypt:

sudo touch /etc/pm/sleep.d/10-laptop-mode-tools
sudo chmod a+x /etc/pm/sleep.d/10-laptop-mode-tools
sudo gedit /etc/pm/sleep.d/10-laptop-mode-tools

Następnie w gedit skopiuj i wklej to:

case $1 in
    hibernate)
        /etc/init.d/laptop-mode stop
        ;;
    suspend)
        /etc/init.d/laptop-mode stop
        ;;
    thaw)
        /etc/init.d/laptop-mode start
        ;;
    resume)
        /etc/init.d/laptop-mode start
        ;;
    *)
        echo Something is not right.
        ;;
esac

Zapisz plik, a następnie uruchom ponownie system i przetestuj ponownie. Mam nadzieję, że ci się uda.

Moim zdaniem wygląda na to, że coś przeszkadza menedżerowi mocy gnome. Jeśli ktoś odtworzy problem, możemy zgłosić błąd.

Referencje:

Wskazówki dotyczące oszczędzania energii przez Penalvch https://help.ubuntu.com/community/PowerManagement/ReducedPower#Using_less_power_with_laptop-mode-tools

Re: Uzyskiwanie Ubuntu do automatycznego zawieszenia na niskim poziomie baterii (wiersz poleceń) przez Isamu715 http://ubuntuforums.org/showthread.php?t=2092327&p=12394451#post12394451

Goghard
źródło
1
Uwaga dla użytkowników, którzy musieli zainstalować narzędzia trybu laptopa: może to spowodować wyłączenie myszy po 2 sekundach od odłączenia laptopa. Naprawiłem to, otwierając /etc/laptop-mode/conf.d/usb-autosuspend.confi zmieniając AUTOSUSPEND_USBTYPE_BLACKLIST=""na AUTOSUSPEND_USBTYPE_BLACKLIST="usbhid usb-storage". Szczegółowe instrukcje tutaj .
aggregate1166877
3

Miałem / miałem ten sam problem z nieprecyzyjnym monitorowaniem mocy 12.04, pewne możliwości:
(przejść do pościgu i uniknąć retoryki przeczytaj ostatni punkt - denerwujące jest to, że „przywrócenie” jest potrzebne, aby przywrócić tak przyziemną i zwykłą funkcjonalność )

  1. Unity i 12.04 nie zapewniają funkcjonalności 10.04, która ma bardziej niezawodną niezawodność, szczególnie zarządzanie energią, więc regresję jest opcją, której używam. Wyrafinowane dojrzewanie środowiska systemu komputerowego (Debian, GNU, Linux, ...) wymaga wysokiego poziomu porównywalnej rygorystycznej dyscypliny w celu zachowania i modyfikacji funkcjonalności w sposób konsekwentny. W rezultacie kilka dobrze ugruntowanych paradygmatów oprogramowania uległo degradacji i zostało naruszonych, w tym zarządzanie energią.

  2. referencja:
    Bug # 993440 „Brak opcji zawieszenia dla krytycznego stanu baterii w pow ...”: Błędy: pakiet „centrum sterowania gnome”: Ubuntu:
    rozwiązanie: (ręcznie pracochłonne)
    lp: ~ jlangvand / ubuntu / quantal / gnome -Control-Center / Fix-for-993440

  3. Napisać skrypt (więcej ręcznie pracochłonne) używając pm-hibernate( pm-suspend), watch, upower, grepitd, aby monitorować stan baterii i podjęcia działań w razie potrzeby.

    zarys pseudokodu:
    Użyj watchco kilka minut, aby okresowo porównywać grep upower -dstatystyki baterii gsettings get org.gnome.settings-daemon.plugins.power percentage-criticali kiedy próg zostanie przekroczonysudo pm-hibernate

    nieprzetworzony (jak tylko w prototypowaniu, niewykonywalny) projekt: (zawiesić dla dowolnej baterii% <10%)
    upower --monitor-detail | grep "percentage[^\d]+\d\.\d*\%" | bash pm-suspend

    eleganckie rozwiązanie

    • przerywa dalsze watchzawieszanie
    • sprawdza wszystkie przejściowe źródła zasilania: UPS, baterie trzeciorzędowe, panele słoneczne (moc maleje o zmierzchu i po chmurach) itp.
    • pozwala na nieuprzywilejowane zawieszenie (/ hibernacji) dla użytkowników z ograniczonym dostępem

referencje:

Wydajność baterii można sprawdzić za pomocą:

  • upower
    • watch -d upower -i /org/freedesktop/UPower/devices/battery_BAT0
    • upower --monitor-detail | grep percentage
  • gnome-power-statistics

Jak sprawdzić stan baterii za pomocą terminala?
Jak mogę znaleźć szybkość rozładowania akumulatora?

Gość
źródło
acpirównież uzyskuje poziom naładowania baterii.
izomorfizmy