Как настроить компьютер на зависание при критически низком заряде батареи?


21

Я случайно нажал на опцию «Когда мощность критически мала» в Системных настройках> Питание. Первоначальная запись была пустой, но после щелчка я выбрал только два варианта: Hibernate и Shutdown. Я хочу вернуть его в режим ожидания.


Какую версию Ubuntu вы используете?
Андерсон Грин

Ответы:


7

Нет возможности приостановить доступную.

Вы не можете приостановить, когда питание критически низкое, чтобы приостановить, вам нужно питание, чтобы сохранить сеанс в ОЗУ, позволяя вам возобновить работу быстрее, если вы теряете энергию, вы теряете текущее состояние приостановки.

Hibernate копирует текущее состояние на жесткий диск, он медленнее, но вы можете отключить питание.

Завершение работы очевидно - вы потеряете все данные в активном сеансе и будете иметь новый сеанс при перезапуске.


7
В идеальном мире, может быть. Я ЛЮБЛЮ его, если бы я мог настроить свою машину на приостановку, когда она падает ниже, например, 15% батареи (достаточно легко на несколько часов в режиме ожидания), потому что, как есть, я могу только настроить его на отключение (какие гарантии вы потеряете данные) или спящий режим (который полностью сломан на моей машине). Так что вот к ненужным ограничениям ...
Томислав Накич-Альфиревич

2
Я сталкиваюсь с той же проблемой. Используется для приостановки, когда батарея критически разряжена. Но, как и в вопросе, я случайно нажал на опцию «Когда мощность критически мала» в Системных настройках> Питание. Исходная запись была пустой, но теперь я могу выбрать только «Выключить». Следовательно, мой компьютер выключается, когда батарея критически разряжена. Я хотел бы сделать это приостановить в этом случае. Не знаю, как вернуться в исходное состояние, в котором он был приостановлен.
Мукеш Чапагейн

1
В Ubuntu 12.04 опция «гибернации» отключена, и компьютер перезагружается, а не приостанавливается, когда батарея становится критически низкой.
Андерсон Грин

1
@chapagain У меня точно такая же проблема. Какую версию Ubuntu вы используете?
Андерсон Грин

1
@AndersonGreen Я использую Ubuntu 12.04
Мукеш Чапагейн

20

Чтобы изменить этот параметр обратно на приостановку, используйте dconf-editor. Перейдите к org.gnome.settings-daemon.plugins.power и измените действие критического аккумулятора для приостановки.

В качестве альтернативы, в терминальной сессии используйте команду:

gsettings set org.gnome.settings-daemon.plugins.power critical-battery-action 'suspend'

Команда gsettingsявляется резидентной по умолчанию, но dconf-editorтребует установки через:

sudo apt-get install dconf-tools

Есть ли какая-либо ошибка на Launchpad из-за такого поведения приостановки?
NoBugs

Больше не работает с GNOME 3.28.2 . У кого-нибудь есть альтернативное решение?
Орширо

9

У меня нет достаточного количества представителей, чтобы редактировать или комментировать, так что если кто-то захочет, это комментарий / редактирование для ответа AtomHeartFather.

Вы также можете изменить значения того, какой процент считается низким / критическим аккумулятором, с помощью dconf-tools. В той же секции мощности измените следующие значения до желаемых процентов.

percentage-action

percentage-critical

percentage-low

Примечание. Особое внимание уделяется percentage-actionнастройке, которая активирует critical-battery-actionнастройку.


в процентах изменения, в соответствии с этим ответом, то use-time-for-policyзапись также должна быть изменена (не проверено, или значение «ложь»): gsettings set org.gnome.settings-daemon.plugins.power use-time-for-policy false. Но это, похоже, не работает наверняка на всех системах / машинах.

1

У меня была эта проблема.

Я был крайне разочарован, когда мой компьютер отключался, когда я выполнял серьезную работу.

Я написал скрипт для проверки состояния питания кондиционера каждые две минуты и перехода в спящий режим при отключении питания. Пожалуйста, измените в зависимости от состояния вашей батареи. Моя батарея может работать в течение двух минут после отключения питания от сети.

#!/bin/bash

if [[ $(cat /sys/class/power_supply/AC0/online) == *0* ]] ; then

    echo 'On battery power'
    #pmi action suspend

    dbus-send --system --print-reply \
    --dest="org.freedesktop.UPower" \
    /org/freedesktop/UPower \
    org.freedesktop.UPower.Suspend

#else
#    echo 'On Ac Power'
fi

Я поместил скрипт в файл с именем powerMon.shи настроил его как cron jobзапускаемый каждые две минуты.


1

12.04 я обычно sleepdприостанавливал работу машины, когда батарея разряжалась или машина простаивала.

Хотя sleepd не упакован для Ubuntu 14.04 и даже осиротел его разработчиком, его можно скомпилировать и установить самостоятельно.

Установка на Ubuntu 12.04:

sudo apt-get install sleepd

Отредактируйте файл /etc/default/sleepdи установите следующее:

# -E       Do not poll events (since they weren't working for me).
# -c 60    Poll every 60 seconds.
# -u 900   Sleep after 15 minutes idle time when on battery,
# -U 3600  or 60 minutes when on AC power,
# -b 3     or when battery power drops below 3%.
# -H       (optional) Use upower instead of ACPI.

PARAMS="-E -c 60 -u 900 -U 3600 -b 3"

Затем перезапустите демон:

sudo service sleepd restart

У него также есть варианты бодрствования, если есть сетевая активность, но они перестали работать для меня.

На моей машине, очевидно, ACPI не всегда правильно сообщал о температуре, поэтому мне нужно было добавить, -Hчтобы sleepd считывал температуру с апивера вместо ACPI. После некоторых неожиданных сиспендов я обнаружил неправильные показания, добавив -vи просмотрев файл журнала с помощью tail -f /var/log/*log | grep --line-buffered sleepd.

(У меня была странная ошибка на одном ноутбуке с 12.04, что машина снова включалась сразу после приостановки, но только в том случае, если режим сна зависал из-за низкого заряда батареи, а не из-за простоя. Надеюсь, у вас такого тоже не будет! Проблема никогда не возникала до 14.04.)


0

Есть способ полностью отключить подвеску / отключение питания.

gsettings set org.gnome.settings-daemon.plugins.power critical-battery-action 'false'

(в случае, если он показывает критически низкий уровень даже на 100%)


0

Я написал простой скрипт bash, который будет делать это на любом Linux ... просто добавьте этот скрипт в автозагрузку ... каждые две минуты скрипт проверяет состояние батареи и приостанавливает работу, если батарея опускается ниже 11% ....

#!/bin/sh
flag=0
while [ 1 ]; do
  var=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "percentage"| grep -o '[0-9]*')
  if [ $var -lt 11 ] && [ $flag -eq 0 ]; then
    systemctl suspend
    flag=1
  elif [ $var -gt 11 ] && [ $flag -eq 1 ]; then
    flag=0
  fi
  sleep 120
done
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.