Приостановить при критически низком уровне заряда батареи 11.10

Приостановить при критически низком уровне заряда батареи 11.10

Есть ли способ приостановить работу Ubuntu, когда у него критически низкий уровень заряда батареи? Единственная опция в настройках питания Ubuntu 11.10 — это выключение или спящий режим. Я разряжаю батарею до тех пор, пока она не приостанавливается, а затем подключаю ее. Это раздражает, когда мой компьютер переходит в спящий режим при критически низком уровне заряда батареи.

Заранее спасибо за помощь

решение1

Не уверен, почему настройки питания предлагают только спящий режим или выключение.
Вы можете изменить параметр на приостановку с помощью dconf-editor:
Перейдите в org->gnome->settings-daemon->plugins->power и измените значениекритическое-действие-батареиприостановить".

решение2

Просто догадка, но я считаю, что при критически низком энергопотреблении система не имеет достаточно мощности даже для поддержания режима ожидания - да, режим ожидания, хотя и потребляет мало энергии, потребляет энергию для сохранения данных в оперативной памяти. Поэтому, даже если система приостанавливается, она немедленно выключается. Вероятно, поэтому решение jpd не сработало.

Почему я так считаю? Я заметил, что после того, как система выключается из-за критически низкого заряда батареи, ее невозможно (по крайней мере на моем ноутбуке) включить, не подключив к сети. Так что критически низкий заряд батареи должен означать «невозможно продолжать», а не «осталось всего 5 минут» или что-то в этом роде.

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

решение3

На моем компьютере текущее состояние батареи можно прочитать из /proc/acpi/battery/BAT1/state

Пример содержимого этого файла:

present:                 yes
capacity state:          ok
charging state:          charging
present rate:            749 mA
remaining capacity:      530 mAh
present voltage:         11200 mV

Вы можете найти соответствующий файл на вашем компьютере и использовать его для приостановки, когда батарея находится на критически низком уровне заряда. Следующий скрипт python сделает это за вас:

#!/usr/bin/python
import os
import time

battery_state_file = "/proc/acpi/battery/BAT1/state"
critically_low_power = 500
suspend_command = "sudo pm-suspend"

while True:
    time.sleep(1)
    f = open(battery_state_file)
    content = f.read().split('\n')
    f.close()
    if content[2].split()[2] == "discharging":
        if int(content[4].split()[2]) < 500:
            os.system(suspend_command)

Сохраните это в файл (например) suspendscript, сделайте его исполняемым, добавьте suspendscript &в .xsessionrc в вашей домашней папке, выйдите из системы и войдите снова.

Вам необходимо соответствующим образом настроить battery_state_file и critically_low_power. Если оставшаяся емкость падает ниже 'critically_low_power' мАч, система приостановится. Необязательно: вы можете, если хотите, использовать "текущую скорость" и "оставшуюся емкость", чтобы найти "ожидаемое оставшееся время" (= "оставшийся предел."/"текущая скорость" часов) и приостановить, если оставшееся время падает ниже определенного порога.

Примечания:

  1. Этот код придется изменить, если содержимое файла состояния не соответствует формату приведенного выше примера содержимого.
  2. sudo pm-suspendтребует от sudoer указать свой пароль. Вам нужно сделать pm-suspendsudoable без пароля. Смотрите как:Как запустить определенные команды sudo без пароля?. В качестве альтернативы вы можете изменить suspend_command на simply pm-suspendи добавить sudo suspendscript &в .xsessionrc и сделать suspendscriptsudoable без пароля.
  3. Если вы используете этот скрипт, вам необходимо установить «действие при критически низком энергопотреблении» на «ничего не делать» в настройках gnome-power-manager.

решение4

См. мой комментарий наТачпад перестал работать на Acer AspireOne D255E- Я думаю, у вас тоже проблема с pm-utilsупаковкой.

Связанный контент