Есть ли способ приостановить работу 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' мАч, система приостановится. Необязательно: вы можете, если хотите, использовать "текущую скорость" и "оставшуюся емкость", чтобы найти "ожидаемое оставшееся время" (= "оставшийся предел."/"текущая скорость" часов) и приостановить, если оставшееся время падает ниже определенного порога.
Примечания:
- Этот код придется изменить, если содержимое файла состояния не соответствует формату приведенного выше примера содержимого.
sudo pm-suspend
требует от sudoer указать свой пароль. Вам нужно сделатьpm-suspend
sudoable без пароля. Смотрите как:Как запустить определенные команды sudo без пароля?. В качестве альтернативы вы можете изменить suspend_command на simplypm-suspend
и добавитьsudo suspendscript &
в .xsessionrc и сделатьsuspendscript
sudoable без пароля.- Если вы используете этот скрипт, вам необходимо установить «действие при критически низком энергопотреблении» на «ничего не делать» в настройках gnome-power-manager.
решение4
См. мой комментарий наТачпад перестал работать на Acer AspireOne D255E- Я думаю, у вас тоже проблема с pm-utils
упаковкой.