Что делают инструменты управления питанием в Linux? (acpi, pm-utils и т. д.)


21

Я действительно очень озадачен инструментами управления питанием, доступными для Linux: у меня на ноутбуке Arch Linux с XFCE.

Руководства по вики-списку Arch Linux

  • acpi
  • acpid
  • pm-utils
  • cpufreq
  • laptop-mode-tools

управлять питанием, подвеской, дисками и процессором, WiFi и т. д.

Но я не могу понять, каковы отношения между ними. Очевидно, они не требуют друг друга (зависимости указаны как необязательные), но мне не ясно, что это означает: они работают вместе, делая разные вещи, или они являются альтернативой друг другу или конфликтуют друг с другом или что?


На данный момент у меня установлено только pm-utils(+ upower). Мне тоже нужно acpiи / или acpid? А как насчет laptop-mode-tools: это своего рода руководитель всех других инструментов? Если это так, я должен настроить только laptop-mode-toolsили также каждый из других инструментов отдельно? Как они взаимодействуют с lm-sensorsи cpufreq?

В дополнение к этому есть XFCE Power Manager, который, похоже, не связан ни с одним из вышеперечисленных инструментов, поскольку он работает, даже если они не установлены. Итак, мой вопрос снова: если я установлю другие, будут ли они конфликтовать с XFCE Power Manager? А как насчет вариантов управления питанием, включенных в Xscreensaver? Они конфликтуют или переопределяют настройки в XFCE Power Manager (или acpiили pm-utils)?

Все, что я хочу сделать, - это эффективно использовать энергию:

  • быть в состоянии перейти в режим ожидания / приостановки
  • не включайте вентилятор постоянно
  • не перегревайте / не повреждайте процессор и жесткий диск
  • выключить WiFi в режиме ожидания / приостановки
  • и так далее

Ответы:


24
  • acpi - это небольшая программа, которая отображает основную информацию ACPI.

  • acpid - это демон, который обрабатывает события ACPI - в основном, кнопки питания, крышку, батарею и тому подобное. Например, если была нажата кнопка питания, запускается acpid shutdown. Когда подключено питание переменного тока, acpid может выполнить соответствующую laptop-mode-toolsкоманду. Если вы используете systemd , то он заменяет большую часть функциональности acpid .

  • cpufreq (сейчас устарел) - это набор инструментов для настройки частоты процессора. Основные функциональные возможности являются частью ядра и доступны через них /sys, а команды cpufreq просто для удобства, но некоторые сценарии могут требовать их.

  • cpufreqdd ) - это демон пользовательского пространства, который можно использовать в качестве замены для регуляторов пространства ядра по умолчанию (powersave, ondemand, performance). В этом нет необходимости - для большинства применений достаточно стандартных регуляторов.

  • cpupower является заменой cpufreq - он позволяет устанавливать настройки частоты процессора из командной строки.

  • laptop-mode-tools выполняет различные настройки системы всякий раз, когда вы подключаете или отключаете питание переменного тока к вашему ноутбуку - например, время замедления диска или переключение регуляторов cpufreq. Это вызвано acpid на событиях AC, и неактивно в остальное время.

    (Примечание: некоторые настройки в инструментах режима ноутбука могут фактически повредить производительности и / или здравомыслию; например, он отключает автосогласование Ethernet, что IMHO просто глупо.)

  • pm-utils управляет подготовкой приостановки к памяти и / или диску (запуск перехватчиков pre-suspend, выбор лучшего метода). Они неактивны в остальное время.

    Раньше нужны pm-utils, чтобы чисто приостановить работу машины, но на современных машинах pm-utils делает очень мало, так как может просто сказать ядру приостановить работу. Если вы используете systemd , то он заменяет pm-utils .

  • Кроме того, pm-utils поставляется с командой pm-powersave, которая выполняет большинство тех же функций, что и инструменты для работы в ноутбуке . м-PowerSave запускается UPower при отсоединять / переменный ток, а также выполняют различные корректировки.

  • systemd-logind имеет функции для приостановки / гибернации и обрабатывает наиболее распространенные события ACPI (переключатель крышки, кнопка питания и т. д.). Он заменяет acpid и pm-utils на большинстве систем.

    (Однако, в отличие от pm-utils , systemd-logind по умолчанию не поставляется с какими-либо перехватчиками pre-suspend или другими обходными путями, а использует только метод приостановки ядра по умолчанию. Он ожидает исправления ошибок драйверов в драйверах.)

  • upower - это уровень абстракции для настольных приложений с различными параметрами мощности. Программы могут использовать его для проверки состояния батареи, регулировки подсветки или приостановки системы, не заботясь о конкретной платформе. upower также использует PolicyKit для разрешения различных действий (приостановки и т. д.) без предоставления полных привилегий root. Это полагается на pm-utils и acpid . GNOME и Xfce требуют upower для своих настроек «управления питанием».

  • Xfce Power Manager контролирует такие параметры, как время выключения дисплея, масштабирование процессора, яркость ЖК-дисплея, события ACPI ... (Эта функция аналогична инструментам acpid и режиму ноутбука , которые имеют только одну общесистемную конфигурацию, а XfPM позволяет -пользовательские настройки.) XfPM только управляет политикой, но полагается на upower для реальных механизмов. Кроме того, XfPM рассылает [цитата нужна] такие уведомления, как «Низкий заряд батареи».

Примечание: я не совсем уверен, какова связь между XfPM, acpid, laptop-mode-tools и upower. Мне кажется, что XfPM заменяет большинство функций acpid / lmt, но не все.


Большое спасибо за ваше объяснение. Позвольте мне понять, понимаю ли я: Xfce Power Manager - это своего рода «GUI», который опирается на upower, для которого нужны pm-utils и также acpid (хотя acpid не является зависимостью, но это может быть проблемой archlinux). pm-utils только приостанавливает, а laptop-mode-tools вносит другие изменения, но они не конфликтуют, потому что делают разные вещи. Однако они оба должны ACPID знать , что происходит. И, наконец, cpufreq (и cpufreqd), вероятно, не нужны, потому что ядро ​​должно позаботиться об этом. Это более или менее правильно?
rs028

@rsom: XfPM - это графический интерфейс для настройки параметров, а также демон, который обеспечивает применение параметров. Кроме этого, правильно.
grawity

но он делает это, передавая приказы другим инструментам (вроде демона более высокого уровня)? А как насчет настроек управления питанием в Xscreensaver ? они перекрывают их в XfPM или наоборот?
rs028

AFAIK, Xscreensaver не осуществляет управление питанием самостоятельно - он просто устанавливает соответствующие параметры на сервере X11. (Попробуйте xset q.) Может случиться так, что Xfpm просто управляет теми же настройками или что он вообще не управляет экраном и позволяет экранной заставке делать это. (Я использую GNOME, у которого есть своя собственная программа под названием «Заставка GNOME», и я не знаю, является ли Xscreensaver значением по умолчанию для Xfce ... Чтение исходного кода Xfpm, возможно, даст лучший ответ.)
grawity

Я думаю, что теперь я понимаю намного лучше. огромное спасибо.
rs028
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.