Назад | Перейти на главную страницу

Как отключить все управление питанием в Ubuntu (для серверного нетбука)?

мне нужно отключить все, что связано с переходом нетбука-сервера в режим сна / гибернации / выключения. Вращение дисков во время бездействия - это нормально, но крайне важно, чтобы машина оставалась в состоянии, при котором она поддерживает подключение через Wi-Fi (и Интернет в целом), а также поддерживает работоспособность подсистемы USB (мы запуск аппаратного модема от него).

Контекст:

Возможно ли это сделать через командную строку, не вызывая значительного / какого-либо простоя?

В Ubuntu 16.04 LTS я успешно использовал следующее для отключения приостановки:

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

И это для его повторного включения:

sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target

Вы можете отключить эти функции управления питанием на разных уровнях.

Уровень графического интерфейса пользователя

В GNOME вы должны отредактировать следующий файл:

sudoedit  /usr/share/polkit-1/actions/org.freedesktop.upower.policy

Один раздел касается функции приостановки, а другой - режима гибернации. Каждый как тег, для которого нужно установить значение no:

<allow_active>no</allow_active>

Уровень клавиатуры

Теперь, чтобы избежать проблемы, если на клавиатуре есть какие-то клавиши, связанные с этими функциями, вы должны ввести следующую команду:

gconftool -s /apps/gnome-power-manager/buttons/hibernate -t string interactive

Уровень командной строки

По-прежнему можно будет запустить приостановку или гибернацию из командной строки, вот как это отключить.

Нам нужно создать исполняемый скрипт в /etc/pm/sleep.d/ это отменит любые действия в режиме гибернации или приостановки.

sudoedit /etc/pm/sleep.d/000cancel-hibernate-suspend

Содержимое этого файла должно быть:

#!/bin/sh
# prevents hibernation and suspend
. "$PM_FUNCTIONS"
case "${1}" in
  suspend|hibernate)
    inhibit
    ;;
  resume|thaw)
    exit 0
    ;;
esac

Теперь сделайте этот файл исполняемым:

chmod 0755 /etc/pm/sleep.d/000cancel-hibernate-suspend

https://wiki.ubuntu.com/PowerManagement

Затем есть демоны диспетчера событий apmd и acpid

Они предоставляют средства для выполнения команд в отношении этих внешних событий. Они запускают сценарии, которые находят в своем дереве каталогов config в / etc / acpi или / etc / apm соответственно.

Пакет acpi-support предоставляет набор таких скриптов в / etc / acpi, которые обрабатывают специальные кнопки acpi на ноутбуках.

Пакет pm-utils предоставляет команды pm-action, pm-hibernate, pm-suspend и pm-suspend-hybrid. Они позволяют программно запускать события аппаратного управления питанием. Pm-tools также предоставляет каталоги сценариев для подключения другого программного обеспечения при переключении состояний питания (энергосбережения).

Gnome-power-manager - это программа с графическим пользовательским интерфейсом, которая подписывается на события питания и действует на них. Он показывает состояние батареи на ноутбуках и затемняет экран, например, при работе от батареи. Он также выключит или переведет компьютер в спящий режим после некоторого времени бездействия или до того, как разрядится батарея, если пользователь вошел в систему.

Попробуйте просто удалить некоторые из них с помощью apt-get remove.

Вы можете настроить / etc / defaults / acpi-support. Вы можете включить / отключить функции там.

Позже вы можете запустить:

$ sudo /etc/init.d/acpi-support restart

С другой стороны, демон acpid проверит / etc / defaults / acpi-support, чтобы узнать, что он имеет / может делать.