- Linux.yaroslavl.ru
- 6.15 Управление питанием и ресурсами
- 6.15.1 Что такое ACPI?
- 6.15.2 Недостатки Advanced Power Management (APM)
- 6.15.3 Настройка ACPI
- acpid (Русский)
- Contents
- Краткое вступление
- Для кого предназначено данное руководство?
- Установка необходимых инструментов
- Использование acpi_listen
- Настройка ACPID
- Устаревшее: пример скрипта
- Команда ACPI в Linux с примерами
- Что такое acpi
- Управление питанием и настройки acpi
- Уровень яркости экрана
- Автогибернация при критическом уровне заряда батареи
- Регулировка звука
- Acpi и события клавиш
Linux.yaroslavl.ru
Руководство FreeBSD | ||
---|---|---|
Prev | Chapter 6 Настройка и оптимизация | Next |
6.15 Управление питанием и ресурсами
6.15.1 Что такое ACPI?
6.15.2 Недостатки Advanced Power Management (APM)
Средства Advanced Power Management (APM) управляют энергопотреблением системы в зависимости от нагрузки. APM BIOS предоставляется поставщиком системы и специфичен для данной аппаратной платформы. Драйвер APM в OS обеспечивает доступ к APM Software Interface , который позволяет управлять уровнями потребления питания.
В APM имеется четыре основных проблемы. Во-первых, управление энергопотреблением осуществляется через зависимый от поставщика BIOS, и OS ничего не знает нем. Один пример: когда пользователь устанавливает время ожидания для жесткого диска в APM BIOS, и это время истекает, BIOS останавливает жесткий диск без согласования с OS. Во-вторых, алгоритм APM встроен в BIOS, и все действия происходят вне контроля OS. Это означает, что пользователи могут решить проблемы с APM BIOS только путем перепрошивки его ROM; это очень опасная процедура, и если она завершится неудачно, система может прийти в невосстановимое состояние. В-третьих, реализация технологии APM зависит от поставщика, что означает дублирование усилий и если в BIOS одного из поставщиков будет найдена и исправлена ошибка, ее могли не исправить другие поставщики. Наконец, объем APM BIOS недостаточно велик для реализации сложной политики управления питанием, или такой политики, которая может хорошо адаптироваться к потребностям компьютера.
Plug and Play BIOS (PNPBIOS) был неудобен во многих ситуациях. PNPBIOS это 16-битная технология, поэтому OS требовалось использовать 16-битную эмуляцию для «взаимодействия» с методами PNPBIOS.
6.15.3 Настройка ACPI
loader (8) загружает драйвер acpi.ko по умолчанию, его не надо встраивать в ядро. Причина в том, что с модулями проще работать, например переключиться на другой acpi.ko без пересборки ядра. Преимущество в упрощении тестирования. Другая причина в том, что запуск ACPI после старта системы не очень полезен и при некоторых условиях может приводить к краху. Если вы сомневаетесь, отключите ACPI совсем. Драйвер не должен и не может быть выгружен, поскольку системная шина используется для различных взаимодействий оборудования. ACPI может быть выключен с помощью утилиты acpiconf (8) . Фактически большинство взаимодействий с ACPI может быть выполнено через acpiconf (8) . В основном это означает, что если в выводе dmesg (8) есть что-то об ACPI , он скорее всего работает.
В простейшей форме, ACPI может использоваться для перевода системы в спящий режим с помощью acpiconf (8) , с флагом -s и параметром 1-5 . Большинству пользователей нужен только параметр 1 . Параметр 5 сделает «мягкое» завершение работы, так же как и:
Доступны и другие параметры. Обратитесь к странице справочника acpiconf (8) за дополнительной информацией.
Prev | Home | Next |
Увеличение объема подкачки | Up | Использование и отладка FreeBSD ACPI |
По вопросам связанными с FreeBSD, прочитайте документацию прежде чем писать в .
По вопросам связанным с этой документацией, пишите .
По вопросам связанным с русским переводом документации, пишите в рассылку .
Информация по подписке на эту рассылку находится на сайте проекта перевода.
Источник
acpid (Русский)
Contents
Краткое вступление
Многие руководства описывают процесс настройки мультимедийных клавиш с использованием таких программ как xev или keyTouch. Настоящая статья поясняет использование утилиты acpi_listen и создание вашего собственного скрипта для горячих клавиш.
Для кого предназначено данное руководство?
Данный метод предполагает, что сигналы с клавиатуры передаются через acpi. Если вам неизвестно, как это происходит в вашей системе, то полезно обратиться к статьям:
- Using Multimedia Keys in Linux
- Hotkeys
Установка необходимых инструментов
Скорее всего, все необходимое уже присутствует на вашей машине, но для уверенности лучше выполнить
Данная статья рассказывает, какие модули вам необходимо загрузить (например, в /etc/rc.conf или через modprobe).
Использование acpi_listen
Из-под суперпользователя или же из-под обычного, но с достаточными привилегиями доступа к устройствам ввода, выполните:
Если при нажатии особой клавиши, например «Следующий» («Next») или «Предыдущий» («Previous») на экране появляются строки, похожие на:
значит все в порядке и можно продолжать.
Настройка ACPID
Демон ACPI реагирует на события ACPI в соответствии с содержимым файла handler.sh , который находится в /etc/acpi/handler.sh
Вы можете либо редактировать его непосредственно, либо указать в нем другой скрипт (например /etc/acpi/hotkeys.sh )
В файл /etc/acpi/hotkeys.sh нужно добавить следующие строки:
Значения «00000b31» и тому подобные представляют собой ответ, полученный от acpi_listen. «$4» представляет собой последнюю часть строки «hkey VALZ 00000000 00000b31» и различает мультимедийные клавиши.
К тому же можно создать краткий shell-скрипт для управления медиа проигрывателем (на примере Exaile), который назовем exailectl. Так как ACPID запускается от суперпользователя, то вызов Exaile нужно выполнить командой:
В противном случае acpi не сможет обнаружить нашу плеер, работающий на пользовательском уровне запуска, и воссоздаст другой процесс.
Устаревшее: пример скрипта
Так как keyTouch и другие программы для работы с клавиатурой у меня либо не заработали, либо работали не совсем хорошо, то перед редактированием handler.sh я создал свой скрипт, запускающийся в фоне и непосредственно реагирующий на вывод acpi_listen. Это не совсем правильный способ, так как его работа постоянно нагружала мой ноутбук. Но так или иначе я привожу данный скрипт, поэтому вы можете использовать или изменять его для себя, а также добавлять свои предложения по его улучшению. Он создан для ноутбука Toshiba Satellite A50 и управляет плеером Exaile, но его легко изменить для управления Amarok, Xine или даже приспособить для немультимедийных программ.
Указание: скрипт необязательно запускать из-под суперпользователя, если вы можете получать ответ acpi_listen из-под обычного пользовательского аккаунта (снова подразумевается, что для него возможен доступ к устройствам ввода).
Источник
Команда ACPI в Linux с примерами
Команда acpi используется для отображения состояния батареи и другой информации ACPI. Он отображает информацию из файловой системы / proc или / sys , такую как состояние батареи или тепловая информация.
Синтаксис:
Параметры
-б | — батарея : отображает информацию о батарее.
Пример:
-а | –Ac-adapter : отображает информацию об адаптере переменного тока.
Пример:
-t | –Thermal : показывает тепловую информацию.
Пример:
-c | –Cooling : отображает информацию об охлаждающем устройстве.
Пример:
-V | –Everything : используется для отображения каждого устройства, переопределяет вышеуказанные параметры.
Пример:
-с | –Show-empty : отображает неработающие устройства.
Пример:
-i | –Details : отображает дополнительную информацию, если она доступна.
Источник
Что такое acpi
Дело в том что недавно я сумел настроить переключение яркости на ноуте клавишами, и теперь подсветка включается, но есть одна проблема: мне каждый раз приходиться ставить её клавишами, ибо при включении она равно 0, подумывал добавить команду
Добавь эту команду в /etc/rc.local, она тогда будет выполняться при запуске системы.
rc.local вроде бы выполняется после запуска иксов. а мне надо чтоб он выполнялся при самом старте системы. как же я пароль то буду вводить без подсветки. а если её включать клавишами, то смысл использования rc.local вообще исчезает.
rc.local вроде бы выполняется после запуска иксов
Кто тебе сказал такую глупость?
Только сейчас убедился на своем опыте 🙁 , а можно setpci в параметр ядра засунуть? acpi=off ?
Убедился? Что-то не так, значит, в твоей системе.
Просто скорей всего подсветка после запуска иксов-то и сбрасывается.
У него арч, а значит — systemd. rc.local был в initscripts. Так что все правильно, что не работает.
ТС, — почитай эту статью в вики, возможно наведет на правильные мысли (там и пример есть). )
Никто не ответит на последний вопрос поста?
Никто не ответит на последний вопрос поста?
Про acpi? Оно управляет питанием, если отключить — не будет управления (в т.ч. энергосбережения) частотой проца, подсветкой и прочего.
А решение я уже выше подсказал.
Источник
Управление питанием и настройки acpi
Трудно приходится линуксоидам, не имеющим DE, а сидящим исключительно на WM — всё, что в полноценном Desktop Environment ( окружении рабочего стола или как это лучше обозначить на великом и могучем? ) поставляется и работает «из коробки» в WM нужно подбирать и настраивать. Вот и автором сего поста ранее были использованы элементы xfce для таких вещей как управление питанием, регулировка громкости звука и яркости экрана. Но вступило что-то в голову: ведь в моей системе всегда установлены acpi и laptop-mode-tools, так почему бы не обучить их выполнять их же непосредственные обязанности: делать всё то, для чего раньше нужны были xfce4-volumed и xfce4-power-manager?
Для обучения нам понадобятся пакеты laptop-mode-tools , acpi , acpid . Acpid должен быть запущен.
Уровень яркости экрана
Дописать в /etc/default/grub строки:
Лезем в acpi. Создайте файлы со следующим содержанием.
Для увеличения яркости:
Для уменьшения яркости:
В bl_device замените inel_backlight на своё значение в зависимости от используемой видеокарты. Также стоит выяснить устраивающее вас значение, на основе которого будет увеличиваться или уменьшаться яркость экрана. У автора это значение = 200.
Как найти подходящее значение? Посмотрите какая цифра стоит сейчас. Если вы ничего ещё не настраивали, она должна отражать максимально допустимое значение:
Теперь поиграйте со значениями, чтобы выбрать нужный шаг:
Посмотрите как будет изменяться яркость экрана при разных значениях, если при добавлении 10 единиц вы практически не чувствуете разницы, добавьте ещё 50-100 единиц. Какой шаг покажется оптимальным, тот и оставьте.
Теперь укажем acpi использовать наши скрипты:
и сделаем эти скрипты исполняемыми:
Чтобы автоматически подбирать яркость при работе от аккумулятора или же сети, установим laptop-mode-tools:
и немного изменим его настройки:
Разумеется, значения 700/2000/3000 и путь /sys/class/backlight/intel_backlight/brightness должны быть заменены на ваши значения.
Автогибернация при критическом уровне заряда батареи
Достаточно часто бывает такое, что при работе от батареи забываешь посматривать на уровень её заряда, в результате чего получаешь отключение машины при полной разрядке батареи. Внезапное — как хлопок — выключение и все несохранённые данные потеряны. Обидно, не правда ли? Поэтому неплохо было бы позаботиться о своевременных мерах предосторожности.
Для этих целей также будем использовать функционал laptop-mode.
Если вас не устраивают значения по умолчанию, вы также можете изменить их. В случае, если до этого момента у вас не был указан раздел swap, укажите его в grub2, эти настройки уже были даны выше:
где /dev/sda5 — ваш swap-раздел Кроме того, в случае с archlinux следует добавить хук suspend в /etc/mkinitcpio.conf :
и пересобрать initrd:
Регулировка звука
Для этого снова обратимся к скриптам acpi, как и в случае с управлением яркостью дисплея.
Делаем скрипты в actions исполняемыми:
Для корректного распознавания мультимедийных клавиш, лучше использовать утилиту xmodmap .
Acpi и события клавиш
Честно говоря, меня устраивает поведение по-умолчанию, поэтому с пристрастием этот вопрос не рассматривался. При закрытии крышки ноутбука машина переходит в режим гибернации. При нажатии кнопки питания — корректно отключает систему. Оно и хорошо.
Похоже, управление этими событиями тоже берёт на себя laptop-mode-tools ( только пока неясно, в каком модуле/скрипте лежат эти настройки), поскольку в /etc/acpi/handler.sh каких-либо действий на события не назначено.
Но таки рассмотрим как настраивать то или иное событие.
Ответственен за эти шаманские действа вышеупомянутый handler.sh (или default.sh в зависимости от используемого дистрибутива), где и прописываются настройки. В случае, если вам хочется использовать не команду, а скрипт, расположите его в отдельном файле, подобно тому, как выше настраивалось управление яркостью дисплея и уровнем громкости .
Пример из дефолта:
button/lid указывает на управление закрытием/открытием крышки ноутбука, пока здесь нет ничего интересного.
Пример с воспроизведением звукового файла при закрытии/открытии крышки ноутбука:
То есть для настройки события нужно добавить его команду в соответствующее поле ( здесь после 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 строку:
Помимо всего вышеописанного мы можем контролировать парковку головок жёсткого диска. Дабы отключить парковку совсем пропишите в /etc/laptop-mode/laptop-mode.conf :
Пожалуй, на этом стоит остановиться и дать читателю возможность самостоятельно поэкспериментировать с настройками энергосбережения и событий acpi.
Источник