Управление питанием и настройки acpi. ACPI — технология управления питанием

ГОСТом предусмотрено 10 номинальных режимов для электродвигателей, которые обозначаются как S 1- S 10, их описание приведено ниже.

S 1 - продолжительный режим работы электродвигателя , характеризуется работой электродвигателя при постоянной нагрузке (Р) и потерях (Р V) на протяжении длительного времени, пока все части машины не достигнут неизменной температуры (Ɵ max = Ɵ нагр).

На выше приведенном рисунке Ɵ 0 - температура внешней среды.

S 2 - кратковременный режим работы электродвигателя - это работа электродвигателя на протяжении небольшого отрезка времени (Δ t p) при постоянной нагрузке (P). При работе за определенное время (Δ t p) составляющие двигателя не успевают нагреваться до установившейся температуры (Ɵ max), после этого машину останавливают и она охлаждается до температуры внешней среды (превышая не более чем на 2 0 С).

S 3 - периодический повторно-кратковременный режим работы электродвигателя , представляет собой последовательность одинаковых циклов, работа в которых происходит при постоянной, неизменной нагрузке. За это время электродвигатель не успевает нагреться до максимальной температуры и при останове не охлаждается до температуры окружающей среды. Не учитываются потери, возникшие при запуске двигателя (пусковой ток не оказывает большого влияния), то есть они не нагревают детали машины. Длительность цикла не превышает десяти минут.

Где Δ t p - время работы двигателя; Δ t R - время простоя, охлаждения; Ɵ нагр1 - температура двигателя при максимальном охлаждении во время цикла; Ɵ нагр2 - максимальная температура нагрева.

Продолжительность включения (ПВ) характеризует данный режим работы и находится по формуле:

Существуют нормированные значения ПВ: 60%, 40%, 25%, 15%.

Указанные в каталогах мощности приводятся для «Продолжительного режима работы (S 1)». Если же двигатель будет работать в других режимах, к примеру, S 2 или S 3, то нагревание его будет происходить медленнее, что позволит увеличить нагрузку на некоторое время. Для режима S 2 допускается увеличение нагрузки на 50% на период времени 10 минут, 25% - 30 минут, 10% - 90 минут. Для работы механизма в режиме S 3 лучше всего применять приводной асинхронный двигатель с повышенным скольжением.

S 1 - S 3 являются основными режимами работы, а S 4 - S 10 были введены для расширения возможностей первых, и предоставления более широкого ряда электродвигателей под конкретные задачи.

S 4 - повторно-кратковременный режим работы электродвигателя с влиянием пусковых процессов , представляется в виде циклической последовательности, в каждом цикле выполняется пуск двигателя за время (Δ t d), работа двигателя при постоянной нагрузке в течении (Δ t p), за эти промежутки времени машина не успевает достичь максимальной температуры (установившейся), а за время паузы (Δ t R) не остывает до внешней среды.

S 5 - Повторно-кратковременный режим работы электродвигателя с электрическим торможением и влиянием пусковых процессов включает в себя те же характерности режима, что и S 4, с осуществлением торможения электродвигателя за время (Δ t F).

Этот режим работы характерен для электропривода лифтов.

S 6 - перемежающийся режим работы электродвигателя - последовательность циклов , при которой работа происходит в течении времени (Δ t р) с нагрузкой, и время (Δ t V) работает на холостом ходу. Двигатель не нагревается до предельной температуры.

S 7 - Перемежающийся режим работы электродвигателя с влиянием пусковых токов и электрическим торможением , особенностью является отсутствие пауз в работе, что обеспечивает 100% периодичность включения. Описывается работа в данном режиме последовательными циклами с достаточно долгим пуском (Δ t d), нормальной работой при неизменной нагрузке и торможением двигателя.

. Так же как и предыдущий режим, этот не содержит пауз, соответственно ПВ=100%. Реализация данного S 8 режима происходит в асинхронных двигателях при переключении пар полюсов . Каждый последовательный цикл состоит из времени разгона (Δ t d), работы (Δ t р) и торможения (Δ t F), но при разных нагрузках, а соответственно при разных скоростях вращения ротора (n).

. Режим, при котором обычно нагрузка и частота вращения изменяются непериодически в допустимом рабочем диапазоне. Этот режим часто включает в себя перегрузки, которые могут значительно превышать базовую нагрузку Для этого типа режима постоянная нагрузка, выбранная соответствующим образом и основанная на типовом режиме S1, берется как базовая (см. рисунок ниже) для определения перегрузки.

Режим, состоящий из ограниченного числа дискретных нагрузок (или эквивалентных нагрузок) и, если возможно, частот вращения, при этом каждая комбинация нагрузки/частоты вращения сохраняется достаточное время для того, чтобы машина достигла практически установившегося теплового состояния (рисунок ниже). Минимальная нагрузка в течение рабочего цикла может иметь и нулевое значение (холостой ход, покой или бестоковое состояние). Для этого типового режима постоянная нагрузка, выбранная в соответствии с типовым режимом S1, принимается за базовую для дискретных нагрузок. Дискретные нагрузки являются, как правило, эквивалентной нагрузкой, интегрированной за определенный период времени. Нет необходимости, чтобы каждый цикл нагрузки точно повторял предыдущий, однако каждая нагрузка внутри цикла должна поддерживаться достаточное время для достижения установившегося теплового состояния, и каждый нагрузочный цикл должен интегрированно давать ту же вероятность относительного ожидаемого термического срока службы изоляции машины.

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

Если в кластере используются интегрированные fence devices, то в этом случае необходимо настроить ACPI (Advanced Configuration and Power Interface) для обеспечения немедленного и полного отключения узла в ходе выполнения процедуры фенсинга.

Если узел кластера настроен на отключение при помощи интегрированного fence device, то для этого узла необходимо отключить функцию ACPI Soft-Off. Ее отключение позволяет интегрированному fence device немедленно и полностью отключить узел, вместо выполнения попытки корректно провести его отключение (например, при помощи команды shutdown -h now). В том случае, если функция ACPI Soft-Off включена, интегрированному fence device может потребоваться более 4 секунд для отключения узла (см. замечание ниже). К тому же, если при включенной функции ACPI Soft-Off узел "зависнет" при выключении, fence device не сможет его выключить. В этих условиях отключение откладывается или вообще заканчивается неудачей. Следовательно, в случае отключения узла с активной функцией ACPI Soft-Off при помощи интегрированного fence device, восстановление кластера будет происходить медленно и может потребовать вмешательства администратора.

Note

Количество времени, требуемое для отключения сбойного узла зависит от используемого интегрированного fence device. Некоторые из таких устройств выполняют оперцию, эквивалентную нажатию и удержанию кнопки питания; следовательно, узел будет отключен через четыре-пять секунд после начала операции. Другие выполняют операцию, эквивалентную однократному нажатию на кнопку питания. В этом случае за выключение узла отвечает уже операционная система; следовательно, опреация отключения занимает гораздо больше пяти секунд.

Для отключения функции ACPI Soft-Off можно использовать команду chkconfig . Использование chkconfig является предпочтительным, тем не менее, если этот способ не подходит, можно воспользоваться следующими альтернативными способами:

    Изменить настройку действия кнопки питания в BIOS на "instant-off" или аналогичную, при которой выключение питания происходит немедленно

    Замечание

    Отключение ACPI Soft-Off в BIOS недоступно на некоторых компьютерах.

    Добавить параметр acpi=off в командную строку ядра в файле /boot/grub/grub.conf

    Важно

    Этот метод полностью отключает ACPI; некоторые компьютеры не могут корректно загрузиться при полностью отключенном ACPI. Этот метод следует использовать только в случаях, когда все остальные способы неэффективны.

2.3.1. Отключение опции ACPI Soft-Off с помощью chkconfig

Для отключения ACPI Soft-Off можно воспользоваться командой chkconfig . Можно либо management to disable ACPI Soft-Off either by removing the ACPI daemon (acpid) from chkconfig management or by turning off acpid .

В наших с вами компьютерах существует множество опций, к существованию которых мы давно привыкли и воспринимаем их как должное. Среди них есть и такие, которые были введены в компьютерную жизнь благодаря принятию в середине 90-х гг. ведущими производителями компьютерного оборудования стандарта ACPI(Advanced Configuration and Power Interface - Расширенный интерфейс управления настройкой и питанием). Этот стандарт предоставляет операционной системе и, как следствие, пользователю компьютера мощные и эффективные средства для контроля аппаратных компонентов и управления их работой.

Например, в операционной системе Windows благодаря технологии ACPI пользователь может программно установить такие параметры, как временное или постоянное отключение компьютера или отдельных его компонентов, переход компьютера в режим пониженного энергопотребления, в спящий режим или в режим гибернации.

Эти функции кажутся нам теперь совершенно естественными, но в ранних версиях Windows, таких как Windows 95, не поддерживавших технологию ACPI (не говоря уже об операционных системах семейства DOS), операционная система не могла даже автоматически выключить компьютер, и пользователю приходилось самостоятельно нажимать кнопку питания для того, чтобы выключить системный блок.

Нельзя сказать, что стандарт ACPI появился на пустом месте. До его появления существовал стандарт управления питанием APM. Однако он поддерживался исключительно на уровне BIOS. Кроме того, его возможности были ограничены и в настоящее время этот стандарт практически не используется.

ACPI изначально разрабатывался в качестве открытого стандарта. Первая реализация ACPI была создана в 1996 году компаниями Toshiba, Intel и Microsoft, к которым позже присоединились Phoenix и Hewlett-Packard. Стандарт ACPI постоянно совершенствуется, а его последняя версия была выпущена в 2011 г. Первоначально в ACPI использовалась 16 и 32-битная адресация, которая позже сменилась 64-битной. В версии ACPI 3.0, вышедшей в 2004 г., была добавлена поддержка разъемов SATA, а также шины PCI Express.

На сегодняшний день эта технология поддерживается большинством операционных систем, а также процессорных архитектур. Помимо семейства ОС Microsoft Windows стандарт ACPI поддерживается также такими семействами ОС, как Linux и Free BSD.

Принцип работы

ACPI представляет собой независимый от платформы стандарт, облегчающий поиск устройств, их конфигурирование, управление питанием, а также мониторинг. Благодаря принятию стандарта ACPI были устранены конфликты между BIOS и операционной системой, и управление питанием стало осуществляться под контролем операционной системы.

Функции ACPI хранятся в БИОСЕ компьютера. Это справедливо, разумеется, для тех BIOS, которые поддерживают ACPI. Кроме того, для работы функций ACPI требуется поддержка технологии со стороны операционной системы.

ACPI на уровне BIOS состоит из нескольких компонентов, которые включают ядро ACPI и таблицы данных. В отличие от таких встроенных в BIOS технологий, как PnP, реализация ACPI в рамках BIOS не столь объемна, а функции ACPI BIOS ограничиваются организацией загрузки таблиц ACPI в память компьютера. Таблицы данных ACPI содержат сведения об аппаратной конфигурации и помогают операционной системе управлять аппаратными компонентами.

Преимущества

Какие же преимущества дает повсеместное внедрение стандарта ACPI простому пользователю?

Основная функция ACPI – контроль со стороны операционной системы за потреблением энергии всего компьютера и его отдельных компонентов. Например, при помощи функций ACPI операционная система может погрузить компьютер в режим сна, а также автоматически выключить питание. На практике пользователь может так настроить поведение компьютера, что он ничем не будет отличаться от электронной бытовой техники, такой, например, как музыкальный центр или телевизор, которые готовы к работе сразу же после того, как вы нажимаете их кнопку питания. При этом пользователь может пропустить ставшую традиционной загрузку компьютера.

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

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

Стандарт ACPI определяет несколько режимов потребления энергия – номинальный режим, энергосберегающий режим, режим полной остановки, и.т.д. Эти режимы поддерживаются как всем компьютером, так и его отдельными компонентами, в том числе и центральным процессором.

Пользователь может настроить уровень поддержки ACPI компьютером, а также включить или выключить отдельные опции ACPI в БИОСЕ при помощи интерфейса настроек BIOS Setup.

Основные преимущества технологии:

  • Управление питанием компьютера и его компонентов программными средствами
  • Повышение экономичности компьютера
  • Разрешение конфликтов между BIOS и ОС при конфигурировании устройств
  • Платформенная независимость технологии ACPI

Заключение

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

Кто-то видел его в статьях про NT-системы, кто-то в Диспетчере устройств, а кто-то еще где-нибудь. Однако далеко не все хорошо знают, что это такое. Обычное определение вроде "ACPI - это менеджер питания" слишком поверхностно отражает суть этой системной архитектуры. Между прочим, с приходом ACPI в индустрию канули в лету "разборки" между BIOS"ом и операционкой, появился спящий режим и еще куча полезных функций, о которых раньше можно было только мечтать. Конечно, на полноту изложения данный материал не претендует, но ответ на вопрос, вынесенный в заголовок, дает. Итак, что же такое ACPI?

История

Промышленный стандарт управления питанием компьютера и его устройствами с помощью ОС был необходим технологии как воздух, ведь постоянные конфликты операционной системы и оборудования мешали разработке и того, и другого. BIOS никак не мог угодить операционке, она - ему. Каждый хотел конфигурировать устройства по-своему. Представляете, что бы было, если бы не существовал ACPI при нынешнем многообразии различных девайсов? Даже подумать страшно. Вот поэтому ведущими IT-компаниями было принято решение отделить "софт от харда" и разработать системную архитектуру, которая брала бы на себя всю тяжесть общения с BIOS"ом. Заодно разработчики не забыли об энергопотреблении, поэтому ACPI еще должен был управлять питанием. 1 декабря 1996 года консорциум, состоящий из Hewlett-Packard Corporation, Intel Corporation, Microsoft Corporation, Phoenix Technologies Ltd. и Toshiba Corporation, объявил о завершении работы над новым стандартом - ACPI, что расшифровывается как Advanced Configuration and Power Interface, или расширенный интерфейс конфигурирования и управления питанием компьютера. ACPI состоял из множества составляющих, главной из которых был специальный участок кода BIOS, обеспечивающий поддержку компьютером новой архитектуры. То есть со старым оборудованием новый стандарт был несовместим.

Разумеется, это повлекло за собой обновление парка компьютеров. Как это обычно делается, мы с вами, уважаемые читатели, очень хорошо знаем. За примером даже ходить далеко не надо - достаточно вспомнить историю с PCI-E. Правда, парк компьютеров еще не полностью обновился, ведь апгрейд обходится достаточно дорого. Но, как ни крути, плата без PCI-E уже считается устаревшей. С ACPI было точно так же, только польза от него не так сомнительна. Скорее даже наоборот, ведь вместе с ACPI пришел APIC, а это значит, что одно прерывание теперь могло использоваться несколькими устройствами! Для того времени это была настоящая сенсация. Первым процессором с поддержкой ACPI можно считать самый ранний Celeron, однако поддержка нового интерфейса была реализована настолько криво, что эту функцию приходилось отключать. Важно также отметить, что ACPI окончательно вытеснил Plug and Play и, по словам создателей, "обеспечил использование существующих интерфейсных разъемов более безопасным и потенциально более эффективным способом". Помимо участка кода BIOS, в состав ACPI также входила улучшенная схема управления питанием (Advanced Power Management), прикладной программный интерфейс (API), специальный машинный язык (ACPI Machine Language) и еще некоторые полезные вещи. Появился новый термин - OS Power Management, где ACPI, разумеется, отводилась главная роль.

Основные цели разработки

1. Компьютерная система должна выполнять конфигурирование устройств программными средствами. Управление питанием должно быть более
функциональным и безопасным.
2. Использование ПК должно стать более экономичным.
3. Разработчики оборудования имеют максимальную свободу при проектировании готовых систем: от самых легких решений до самых экстремальных при полной поддержке ОС.
4. Политика управления питанием слишком сложна для реализации в ROM BIOS, поэтому должна осуществляться исключительно самой ОС.
5. Унификация всех алгоритмов питания в единый стандарт ACPI позволит избавиться от конфликтов операционной системы и BIOS"а в вопросах конфигурирования устройств.
6. ОС развивается независимо от аппаратного обеспечения, поэтому на всех ACPI-совместимых машинах можно будет добиться увеличения
производительности и стабильности за счет смены операционной системы.
Нужно сказать, что разработчики своих целей достигли. Стоит рассмотреть структуру работы ACPI подробно.

Структура ACPI

Чтобы понять, как работает та или иная технология, необходим хороший пример. В технической документации разработчики пишут следующее: "Предположим, что ОС имеет политику разделения всех запросов ввода/вывода на ленивых и неленивых. Ленивые запросы (редактирование текста или электронных таблиц) объединяются в группы и исполняются устройством только тогда, когда оно начинает работать по какой-либо _другой_ причине. Неленивые операции заставляют устройство работать при первой же отправке запроса". Для ОС важно различать, какие операции являются ленивыми, а какие - нет. Кроме того, система должна знать состояние всех своих устройств, ведь выключенный девайс никогда ничего делать не станет. Все это обеспечивает ACPI. В то время, когда какая-то железка простаивает без дела, ACPI-драйвер снижает ей мощность питания и вместе с этим уменьшает общее энергопотребление работающей системы. Представьте, что в вашем системном блоке установлен автоответчик. Его задача - отвечать на входящие звонки. Разумеется, вам звонят не постоянно, поэтому большую часть времени автоответчик совершенно ничего не делает, зря потребляя драгоценную электроэнергию. Это очень нерационально. Поэтому ACPI создает девайсу специальную политику поведения, согласно которой он входит в состояние глубокого сна, однако при входящем звонке устройство проснется в течение одной секунды и ответит на вызов. Разумеется, есть одно но: автоответчик обязательно должен быть ACPI-совместимым.

Как было сказано выше, появилось новое состояние оборудования - спящий режим. Состояние всех устройств сохраняется на жесткий диск, а затем может быть восстановлено при следующей загрузке операционной системы. Преимущества спящего режима очевидны. Это быстрый старт системы, возможность продолжения работы с того места, где остановился в прошлый раз, практически моментальное выключение. К минусам можно отнести лишь обязательное наличие файла hiberfil.sys размером с оперативку и остающиеся в памяти невыгруженные dll"ки, которые со временем тормозят работу. Тем не менее, эта фича хорошо прижилась в народе, и многие ею пользуются. Производители корпусов стали даже выпускать модели с двумя кнопками: включение/выключение и спящий режим. Отныне любая кнопка на системном блоке (кроме Reset, конечно) являются программируемой - ACPI позволяет переопределять их. Откройте апплет Электропитание в Панели управления, вкладка Дополнительно. Видите, здесь можно переназначить действия кнопок на вашем корпусе. Благодаря возможностям ACPI мы можем отправлять компьютер в спящий режим по нажатию кнопки Power на системном блоке (если системный блок ATX - впрочем, AT уже можно найти только в музее). ..\Электропитание.jpg. ..\ACPI.jpg Все устройства подключаются к виртуальной ACPI-шине, хотя реальный ввод/вывод идет через обычные интерфейсы (IDE, AGP и т.д.). В этом можно убедиться, если в Диспетчере устройств в меню Вид выбрать пункт Устройства по подключению. Сначала Windows загружает ACPI-драйвер, опрашивающий ACPI-контроллер на предмет подключенных к нему устройств, главным из которых является PCI-шина. Затем выявляются подключенные платы расширения, и процесс повторяется до тех пор, пока не будут определены все шины и подключенные к ним устройства. ..\Device.jpg ACPI состоит из трех компонентов: ACPI-регистры, ACPI BIOS и ACPI-таблица.

ACPI-таблица. ACPI-таблица описывает интерфейсы аппаратных средств. Некоторые из этих описаний могут ограничивать использование устройством каких-либо функций, но большинство из них позволяют устройствам выполнять произвольные последовательности операций. ACPI-таблица содержит так называемые блоки определения (Definition Blocks), которые могут быть запрограммированы из-под ОС. Другими словами, ACPI использует встроенный интерпретатор псевдокода, называемый ACPI Machine Language (AML). AML исполняет код, содержащийся в блоках определения.
ACPI-регистры. Здесь содержится ограниченная часть описания интерфейсов из ACPI-таблиц для быстрого доступа к таким данным.
ACPI BIOS. Это часть кода BIOS, которая совместима с ACPI-спецификациями. Как правило, это код, отвечающий за загрузку, засыпание/пробуждение и перезагрузку машины. ACPI-таблицы также обеспечиваются за счет ACPI BIOS.

ACPI и железо

Специальная таблица описывает поведение обычных и ACPI-совместимых программных и аппаратных средств.

Выводы и заключение

1. Концепция ACPI одинакова для всех типов компьютеров включая десктопы, лэптопы, КПК, мобильные телефоны, рабочие станции и серверы.

2. Новая системная архитектура является достаточно переносимой - как между различными ОС, так и между процессорами.

3. Внедрение ACPI в ОС позволило несколько упростить (и удешевить) разработку кода BIOS, исключив из него примитивные энергоуправляющие функции.

4. Появление этой архитектуры значительно увеличило стабильность работы операционных систем и повысило безопасность использования оборудования.

5. Существование столь большого парка мобильных компьютеров вряд ли было бы возможным без ACPI. Динамическое управление питанием отлично экономит батарею.

Если подвести итог всему вышесказанному, ACPI, безусловно, является новым витком в технологии. Мы рассмотрели основные принципы его работы. За кадром остались неинтересные технические подробности, в которых при желании вы разберетесь сами. Скачать полный мануал (на английском языке) по ACPI можно с сайта www.acpi.info При подготовке данного материала использовалась некоторая информация с этого сайта. Всего доброго, и до скорых встреч!

Алексей Голованов

Трудно приходится линуксоидам, не имеющим DE, а сидящим исключительно на WM - всё, что в полноценном Desktop Environment (окружении рабочего стола или как это лучше обозначить на великом и могучем?) поставляется и работает “из коробки” в WM нужно подбирать и настраивать. Вот и автором сего поста ранее были использованы элементы xfce для таких вещей как управление питанием, регулировка громкости звука и яркости экрана. Но вступило что-то в голову: ведь в моей системе всегда установлены acpi и laptop-mode-tools, так почему бы не обучить их выполнять их же непосредственные обязанности: делать всё то, для чего раньше нужны были xfce4-volumed и xfce4-power-manager?

Для обучения нам понадобятся пакеты laptop-mode-tools , acpi , acpid . Acpid должен быть запущен.

Уровень яркости экрана

Дописать в /etc/default/grub строки:

GRUB_CMDLINE_LINUX_DEFAULT =

Лезем в acpi

Создайте файлы со следующим содержанием:

Для увеличения яркости:

# /etc/acpi/actions/bl_up.sh # #!/bin/sh bl_device = /sys/class/backlight/intel_backlight/brightness echo $(($(cat $bl_device ) + 200 )) >$bl_device

и для уменьшения яркости

# /etc/acpi/actions/bl_down.sh: # #!/bin/sh bl_device = /sys/class/backlight/intel_backlight/brightness echo $(($(cat $bl_device ) - 200 )) >$bl_device

В bl_device замените inel_backlight на своё значение в зависимости от используемой видеокарты. Также стоит выяснить устраивающее вас значение, на основе которого будет увеличиваться или уменьшаться яркость экрана. У автора это значение = 200.

Как найти подходящее значение? Посмотрите какая цифра стоит сейчас. Если вы ничего ещё не настраивали, она должна отражать максимально допустимое значение:

# cat /sys/class/backlight/intel_backlight/brightness 4882

Теперь поиграйте со значениями, чтобы выбрать нужный шаг:

# echo 1000 > /sys/class/backlight/intel_backlight/brightness # echo 1010 > /sys/class/backlight/intel_backlight/brightness # echo 1100 > /sys/class/backlight/intel_backlight/brightness

Посмотрите как будет изменяться яркость экрана при разных значениях, если при добавлении 10 единиц вы практически не чувствуете разницы, добавьте ещё 50-100 единиц. Какой шаг покажется оптимальным, тот и оставьте.

Теперь укажем acpi использовать наши скрипты:

# /etc/acpi/events/bl_up # event = video[ /]brightnessup action = /etc/acpi/actions/bl_up.sh # /etc/acpi/events/bl_down # event = video[ /]brightnessdown action = /etc/acpi/actions/bl_down.sh

и сделаем эти скрипты исполняемыми:

# chmod +x /etc/acpi/actions/{bl_up.sh,bl_down.sh}

Чтобы автоматически подбирать яркость при работе от аккумулятора или же сети, установим laptop-mode-tools:

# pacman -S laptop-mode-tools

и немного изменим его настройки:

# /etc/laptop-mode/conf.d/lcd-brightness.conf # CONTROL_BRIGHTNESS = 1 # Commands to execute to set the brightness on your LCD # #BATT_BRIGHTNESS_COMMAND="echo " BATT_BRIGHTNESS_COMMAND = "echo 700" LM_AC_BRIGHTNESS_COMMAND = "echo 2000" NOLM_AC_BRIGHTNESS_COMMAND = "echo 3000" BRIGHTNESS_OUTPUT = "/sys/class/backlight/intel_backlight/brightness"

Разумеется, значения 700/2000/3000 и путь /sys/class/backlight/intel_backlight/brightness должны быть заменены на ваши значения.

Автогибернация при критическом уровне заряда батареи

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

Для этих целей также будем использовать функционал laptop-mode.

# /etc/laptop-mode/conf.d/auto-hibernate.conf: # ENABLE_AUTO_HIBERNATION = 1 # # The hibernation command that is to be executed when auto-hibernation # is triggered. # HIBERNATE_COMMAND = /usr/share/laptop-mode-tools/module-helpers/pm-hibernate # # Auto-hibernation battery level threshold, in percentage of the battery"s # total capacity. # AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT = 4 # # Enable this to auto-hibernate if the battery reports that its level is # "critical". # AUTO_HIBERNATION_ON_CRITICAL_BATTERY_LEVEL = 1

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

# /etc/default/grub # GRUB_CMDLINE_LINUX_DEFAULT = "acpi_backlight=vendor resume=/dev/sda5"

где /dev/sda5 - ваш swap-раздел Кроме того, в случае с archlinux следует добавить хук suspend в /etc/mkinitcpio.conf:

HOOKS = "base udev autodetect modconf block filesystems usbinput fsck resume"

и пересобрать initrd:

# mkinitcpio -p linux

Регулировка звука

Для этого снова обратимся к скриптам acpi, как и в случае с управлением яркостью дисплея.

# /etc/acpi/actions/volume_up.sh # #!/bin/bash /usr/bin/amixer set Master 5%+ # /etc/acpi/actions/volume_down.sh # #!/bin/bash /usr/bin/amixer set Master 5%- # /etc/acpi/events/volume_up # event = button[ /]volumeup action = /etc/acpi/actions/volume_up.sh # /etc/acpi/events/volume_down # event = button[ /]volumedown action = /etc/acpi/actions/volume_down.sh

Делаем скрипты в actions исполняемыми:

# chmod +x /etc/acpi/actions/{volume_up.sh,volume_down.sh}

Для корректного распознавания мультимедийных клавиш, лучше использовать утилиту xmodmap .

$ xmodmap -pke > ~/.xmodmap $ vim .xinitrc: xmodmap ~/.xmodmap

Acpi и события клавиш

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

Похоже, управление этими событиями тоже берёт на себя laptop-mode-tools (только пока неясно, в каком модуле/скрипте лежат эти настройки), поскольку в /etc/acpi/handler.sh каких-либо действий на события не назначено.

Но таки рассмотрим как настраивать то или иное событие.

Ответственен за эти шаманские действа вышеупомянутый handler.sh (или default.sh в зависимости от используемого дистрибутива), где и прописываются настройки. В случае, если вам хочется использовать не команду, а скрипт, расположите его в отдельном файле, подобно тому, как выше настраивалось управление яркостью дисплея и уровнем громкости.

Пример из дефолта:

button/lid) case " $3 " in close) logger "LID closed" ;; open) logger "LID opened" ;; * ) logger "ACPI action undefined: $3 " ;; esac ;;

button/lid указывает на управление закрытием/открытием крышки ноутбука, пока здесь нет ничего интересного.

Пример с воспроизведением звукового файла при закрытии/открытии крышки ноутбука:

button/lid) case " $3 " in close) logger "LID closed" aplay /home/redvi/.scripts/message.wav ;; open) logger "LID opened" aplay /home/redvi/.scripts/message.wav ;; * ) logger "ACPI action undefined: $3 " ;; esac ;;

То есть для настройки события нужно добавить его команду в соответствующее поле (здесь после logger "LID closed"). Так, действие при открытии крышки нужно будет вписать после logger "LID opened" .

button/power - события, связанные с кнопкой управления питанием

logger "PowerButton pressed" - когда клавиша нажата

button/sleep - сон, если подобная кнопка/клавиша имеется

ac_adapter - события, связанные с подключением/отключением адаптера питания

logger "AC unpluged" - когда адаптер отключен

logger "AC pluged" - когда адаптер подключен

battery - батарея ноутбука

button/lid - крышка ноутбука

Для перевода в ждущий/спящий режимы можно использовать скрипты laptop-mode-tools из /usr/share/laptop-mode-tools/module-helpers: pm-hibernate и pm-suspend .

Для выключения питания при закрытии крышки достаточно добавить в /etc/acpi/actions/lm_lid.sh строку:

[ " $3 " = "close" ] && poweroff

Помимо всего вышеописанного мы можем контролировать парковку головок жёсткого диска. Дабы отключить парковку совсем пропишите в /etc/laptop-mode/laptop-mode.conf:

BATT_HD_POWERMGMT = 254 LM_AC_HD_POWERMGMT = 254 NOLM_AC_HD_POWERMGMT = 254

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