Używam Ubuntu 17.10 z Gnome na laptopie Asus.
W interfejsie Ustawienia zasilania, w zakładce Zasilanie, u dołu znajduje się opcja pozwalająca ustawić, co zrobić, gdy poziom naładowania baterii będzie krytycznie niski.
Jednak po kliknięciu menu rozwijanego, aby ustawić tę opcję, dostępna jest tylko jedna opcja, czyli „nic nie rób”:
Obecnie mój laptop wyczerpie się do poziomu naładowania baterii 0 lub będzie blisko niego, a następnie wyłączy się bez ostrzeżeń, bez możliwości zamykania programów i zamykania z wdziękiem.
Chciałbym otrzymać ostrzeżenie, gdy poziom naładowania baterii spadnie do 10% i mam nadzieję, że trochę czasu na ręczne zapisanie i wyłączenie programów przed wyłączeniem komputera. Jak to osiągnąć?
Edycja: Oto zawartość mojego /etc/UPower/UPower.conf
pliku:
# Only the system vendor should modify this file, ordinary users
# should not have to change anything.
[UPower]
# Enable the Watts Up Pro device.
#
# The Watts Up Pro contains a generic FTDI USB device without a specific
# vendor and product ID. When we probe for WUP devices, we can cause
# the user to get a perplexing "Device or resource busy" error when
# attempting to use their non-WUP device.
#
# The generic FTDI device is known to also be used on:
#
# - Sparkfun FT232 breakout board
# - Parallax Propeller
#
# default=false
EnableWattsUpPro=false
# Don't poll the kernel for battery level changes.
#
# Some hardware will send us battery level changes through
# events, rather than us having to poll for it. This option
# allows disabling polling for hardware that sends out events.
#
# default=false
NoPollBatteries=false
# Do we ignore the lid state
#
# Some laptops are broken. The lid state is either inverted, or stuck
# on or off. We can't do much to fix these problems, but this is a way
# for users to make the laptop panel vanish, a state that might be used
# by a couple of user-space daemons. On Linux systems, see also
# logind.conf(5).
#
# default=false
IgnoreLid=false
# Policy for warnings and action based on battery levels
#
# Whether battery percentage based policy should be used. The default
# is to use the time left, change to true to use the percentage, which
# should work around broken firmwares. It is also more reliable than
# the time left (frantically saving all your files is going to use more
# battery than letting it rest for example).
# default=true
UsePercentageForPolicy=true
# When UsePercentageForPolicy is true, the levels at which UPower will
# consider the battery low, critical, or take action for the critical
# battery level.
#
# This will also be used for batteries which don't have time information
# such as that of peripherals.
#
# If any value is invalid, or not in descending order, the defaults
# will be used.
#
# Defaults:
# PercentageLow=10
# PercentageCritical=3
# PercentageAction=2
PercentageLow=10
PercentageCritical=3
PercentageAction=2
# When UsePercentageForPolicy is false, the time remaining at which UPower
# will consider the battery low, critical, or take action for the critical
# battery level.
#
# If any value is invalid, or not in descending order, the defaults
# will be used.
#
# Defaults:
# TimeLow=1200
# TimeCritical=300
# TimeAction=120
TimeLow=1200
TimeCritical=300
TimeAction=120
# The action to take when "TimeAction" or "PercentageAction" above has been
# reached for the batteries (UPS or laptop batteries) supplying the computer
#
# Possible values are:
# PowerOff
# Hibernate
# HybridSleep
#
# If HybridSleep isn't available, Hibernate will be used
# If Hibernate isn't available, PowerOff will be used
CriticalPowerAction=HybridSleep
źródło
Odpowiedzi:
Krok 1: Sprawdź
gsettings
Istnieją dwie opcje, które można sprawdzić w terminalu:
Następnie, aby je zmienić, użyj:
Uwaga w moim systemie są w porządku, więc zmieniłem je z powrotem na to, co były w pierwszym rzędzie dla przykładu.
Krok 2: Sprawdź
upower
Zarządzanie energią gnomów służy
upower
do podnoszenia ciężkich przedmiotów. Aby mieć pewność, że działa i zbiera statystyki baterii tak, jak powinno, użyj:Najpierw uruchom to polecenie, gdy laptop jest podłączony. Następnie odłącz laptop i uruchom polecenie po pewnym czasie i upewnij się, że pozostały czas pracy akumulatora został odpowiednio skrócony.
Ostatni krok - hibernacja niskiego poziomu
Jest to ostatni krok, który zostałby podjęty po wyczerpaniu wszystkich innych kroków. Ten krok nie wymaga Ubuntu, Unity, Gnome lub
gsettings
lubupower
. Wymaga tylkosystemd
,udev
icron
które są wbudowane w prawie wszystkie Linux Distros z GUI lub bez (Desktop).Z ArchLinux :
Hibernuj przy niskim poziomie naładowania baterii
Jeśli bateria wysyła zdarzenia za
udev
każdym razem, gdy (dis) ładuje się o 1%, możesz użyć tejudev
reguły do automatycznego hibernacji systemu, gdy poziom naładowania baterii jest krytyczny, a tym samym zapobiec utracie niezapisanej pracy. Uwaga: Nie wszystkie baterie zgłaszają zdarzenia rozładowania. Sprawdź, czy działaudevadm monitor --property
na baterii i sprawdź, czy są zgłaszane jakieś zdarzenia. Powinieneś poczekać co najmniej 1% spadku. Jeśli żadne zdarzenia nie zostaną zgłoszone i nie będą miały wartości/sys/class/power_supply/BAT0/alarm
zerowej, bateria najprawdopodobniej wywoła zdarzenie, gdyBAT0/energy_now
spadnie poniżej wartości alarmowej, audev
reguła będzie działać tak długo, jak długo będzie obliczana matematyka procentowa. Niektóre laptopy mają domyślnie opcję tego wyłączenia w systemie BIOS.Ta reguła będzie powtarzana za każdym razem, gdy zostanie ustawiony warunek. W związku z tym, po wznowieniu ze stanu hibernacji, gdy bateria jest krytyczna, komputer przejdzie w stan hibernacji bezpośrednio. Niektóre laptopy nie uruchamiają się powyżej określonego poziomu baterii, więc można odpowiednio dostosować regułę.
Baterie mogą przejść do niższej wartości zamiast odprowadzania w sposób ciągły, zatem na
udev
wzór pasujący ciąg dla wszystkich pojemnościach0
poprzez5
służy.Można dodać inne reguły, aby wykonać różne działania w zależności od stanu zasilacza i / lub pojemności.
Jeśli w systemie nie ma zdarzeń ACPI lub ich brakuje, użyj
cron
tego skryptu:Testowanie zdarzeń
Jednym ze sposobów testowania
udev
reguł jest utworzenie pliku po uruchomieniu. Na przykład:Spowoduje to utworzenie pliku,
/home/example/discharging
gdy ładowarka laptopa zostanie odłączona. Możesz sprawdzić, czy reguła zadziałała, odłączając laptopa i szukając tego pliku. Bardziej zaawansowaneudev
testowanie reguł, patrz Udev # Testowanie reguł przed załadowaniem .Podsumowanie
Jest więcej kroków do opublikowania między krokiem 2 a „ostatnim krokiem”, ale zostaną one opublikowane, gdy OP ujawni więcej szczegółów po testach. Tymczasem „Ostatni krok” powinien ograniczyć więcej odpowiedzi w połowie drogi, takich jak pozostały odsetek zgłoszeń.
źródło
gsettings
parametry zostały już ustawionesuspend
i10
, co wskazywałoby, że mój system nie przestrzega tych opcji.gsettings
był pierwszym (łatwym) krokiem do sprawdzenia. Dodałemupower
kolejny krok do zrobienia./etc/UPower/UPower.conf
do mojego pytania dodałem zawartość mojego pliku.clipboard-diff
między tobąUPower.conf
a wersją zainstalowaną w moim systemie. Są identyczne.gsettings get org.gnome.settings-daemon.plugins.power active
powracatrue
? 2) Czy masz partycję wymiany> ilość pamięci RAM?Oto przyjazny skrypt, który przygotowałem!
Stworzyłem prowizoryczne rozwiązanie, które sprawdza, czy laptop jest zasilany prądem przemiennym czy akumulatorowym ...
Dlatego jeśli jest zasilany prądem przemiennym, wyjdzie, a jeśli nie, będzie sprawdzał pozostałą moc baterii co 15 sekund, aż osiągnie zdefiniowaną zmienną,
low
a raczej procent ...Aha, a jeśli chcesz kontynuować pracę w tym samym terminalu, w którym uruchomiłeś ten skrypt, po prostu uruchom skrypt w następujący sposób:
Bez zbędnych ceregieli, oto skrypt:
Ten skrypt można również znaleźć na GitHub, tutaj ...
źródło