Я использую Ubuntu 17.10 с Gnome на ноутбуке Asus.
В интерфейсе «Настройки электропитания» на вкладке «Питание» внизу есть опция для настройки действий в случае критического разряда батареи.
Однако, когда я нажимаю на раскрывающийся список, чтобы установить эту опцию, он предлагает только одну опцию, которая "ничего не делать":
В настоящее время мой ноутбук разряжается до нуля от батареи или близко к нему, а затем выключается без предупреждений, без возможности закрытия программ и корректного выключения.
Я хотел бы получить предупреждение, когда уровень заряда батареи составляет 10%, и, надеюсь, некоторое время вручную сохранить и закрыть программы, прежде чем выключать компьютер. Как мне этого добиться?
Редактировать: вот содержимое моего /etc/UPower/UPower.conf
файла:
# 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
источник
Ответы:
Шаг 1: Проверьте
gsettings
В терминале можно проверить две опции:
Затем, чтобы изменить их, используйте:
Обратите внимание, что в моей системе они просто хороши, поэтому я вернул их к тому, что они были в первую очередь ради примера.
Шаг 2: Проверьте
upower
Управление питанием Gnome
upower
делает тяжелую работу. Чтобы убедиться, что он работает и собирает статистику заряда батареи, используйте:Сначала выполните эту команду, когда ноутбук подключен к сети. Затем отключите ноутбук и через некоторое время выполните команду и убедитесь, что оставшееся время работы от батареи соответствующим образом сократилось.
Последний шаг - Низкоуровневая спячка
Это последний шаг, который будет сделан после исчерпания всех остальных шагов. Этот шаг не требует Ubuntu или Unity или Gnome или
gsettings
илиupower
. Требуется толькоsystemd
,udev
иcron
которые встроены почти во все дистрибутивы Linux с или без GUI (Desktop).Из ArchLinux :
Спящий режим при низком уровне заряда батареи
Если ваша батарея отправляет события,
udev
когда она (разряжается) заряжается на 1%, вы можете использовать этоudev
правило, чтобы автоматически переводить систему в спящий режим, когда уровень заряда батареи критический, и, таким образом, предотвращать потерю всей несохраненной работы. Примечание. Не все батареи сообщают о событиях разряда. Проверьте работоспособностьudevadm monitor --property
при работе от батареи и посмотрите, нет ли каких-либо событий. Вам следует подождать как минимум 1% падения. Если о событиях не сообщается и/sys/class/power_supply/BAT0/alarm
он не равен нулю, то батарея, скорее всего, вызовет событие, когда оноBAT0/energy_now
упадет ниже значения тревоги, иudev
правило будет работать до тех пор, пока вычисляется процентная математика. На некоторых ноутбуках эта опция отключена в BIOS по умолчанию.Это правило будет повторяться всякий раз, когда установлено условие. Таким образом, при выходе из режима гибернации, когда батарея критична, компьютер перейдет в режим гибернации напрямую. Некоторые ноутбуки не загружаются после определенного уровня заряда батареи, поэтому правило может быть скорректировано соответствующим образом.
Батареи могут перейти к более низкому значению вместо непрерывной выгрузки, следовательно,
udev
шаблон строки соответствия для всех емкостей0
через5
используются.Другие правила могут быть добавлены для выполнения различных действий в зависимости от состояния источника питания и / или мощности.
Если в вашей системе нет событий ACPI или они отсутствуют, используйте
cron
следующий скрипт:Тестирование событий
Один из способов проверки
udev
правил - заставить их создать файл при запуске. Например:Это создает файл,
/home/example/discharging
когда зарядное устройство ноутбука отключено. Вы можете проверить, сработало ли правило, отсоединив свой ноутбук и отыскав этот файл. Для более расширенногоudev
тестирования правил смотрите Udev # Проверка правил перед загрузкой .Резюме
Между шагами № 2 и «Последним шагом» необходимо выполнить больше шагов, но они будут опубликованы, так как OP показывает больше деталей после тестирования. В то же время «Последний шаг» должен уменьшить количество промежуточных ответов, например, просто сообщить процент оставшихся.
источник
gsettings
параметры уже были установленыsuspend
и10
, что указывает на то, что моя система не поддерживает эти параметры.gsettings
был первым (простым) шагом для проверки. Я добавилupower
следующий шаг./etc/UPower/UPower.conf
файла в свой вопрос.clipboard-diff
между вашейUPower.conf
версией и установленной в моей системе. Они идентичны.gsettings get org.gnome.settings-daemon.plugins.power active
возвращаетсяtrue
? 2) Есть ли у вас раздел подкачки> объем оперативной памяти?Вот дружеский сценарий, который я собрал!
Я создал временное решение, которое проверяет, работает ли ваш ноутбук от сети переменного тока или от аккумулятора (DC) ...
Следовательно, если он работает от сети переменного тока, он выйдет, а если нет, продолжит проверять оставшийся заряд батареи каждые 15 секунд, пока не достигнет определенной переменной,
low
а точнее процента ...О, и если вы хотите продолжить работу в том же терминале, где вы запускали этот скрипт, просто запустите скрипт так:
Без лишних слов, вот сценарий:
Этот скрипт также можно найти на GitHub, здесь ...
источник