ACPI
ACPI (Advanced Configuration and Power Interface) — усовершенствованный интерфейс конфигурации и управления питанием, его задача — обеспечить взаимодействие между операционной системой, аппаратным обеспечением и BIOS материнской платы. Особо нужен в ноутбуках, без ACPI, например, ОС не может определить заряд батареи, девайс неправильно реагирует на нажатие кнопки «Power» и быстро разряжается.
Как взаимодействовать с прошивкой BIOS операционной системе объясняет таблица DSDT (хотя вместо неё это могут быть и другие таблицы типа SSDT или SRAT). Эта таблица запросто может быть некорректной, как некорректным может быть и сама прошивка BIOS. В результате от ACPI может быть больше проблем, чем пользы, в таком случае его проще отключить. Для этого нужно добавить «acpi=off» к опциям загрузки ядра (см. grub)
Управление оборудованием
Для установки действия при закрытии крышки — изменяем скрипт
/etc/acpi/actions/lm_lid.sh
Для установки действия при нажатии кнопки питания — изменяем скрипт
/etc/acpi/powerbtn.sh
какая разница между acpid и logind от systemd?
и почему у меня в системе работают оба? Это нормально?

dikiy ★★☆☆☆
29.12.18 20:33:44 MSK

а в чём связь? это вообще разные вещи
eternal_sorrow ★★★★★
( 29.12.18 20:34:53 MSK )
Ответ на: комментарий от eternal_sorrow 29.12.18 20:34:53 MSK

события от acpi кто обрабатывает? logind или acpid? Потому что например в logind.conf однозначно указывается что делать при закрытии крышки ноута, или при нажатии на кнопку питания.
dikiy ★★☆☆☆
( 29.12.18 20:40:06 MSK ) автор топика
Выруби acpid и посмотри что изменится
Deleted
( 29.12.18 20:42:03 MSK )
Ответ на: комментарий от Deleted 29.12.18 20:42:03 MSK

вроде вырубил, и ничего не поменялось. Точнее может поменялось, но я не замечаю этого.
dikiy ★★☆☆☆
( 29.12.18 20:42:36 MSK ) автор топика
Последнее исправление: dikiy 29.12.18 20:42:55 MSK (всего исправлений: 1)
Ответ на: комментарий от dikiy 29.12.18 20:42:36 MSK
Значит, оно и не нужно. У меня такого процесса нет в системе.
Deleted
( 29.12.18 20:44:11 MSK )
Ответ на: комментарий от dikiy 29.12.18 20:40:06 MSK

оба. но в logind настройка всего этого добра довольно негибкая, и к тому же это не все возможные события ACPI
eternal_sorrow ★★★★★
( 29.12.18 20:44:11 MSK )
Ответ на: комментарий от eternal_sorrow 29.12.18 20:44:11 MSK

оба. но в logind настройка всего этого добра довольно негибкая, и к тому же это не все возможные события ACPI
а искаропки acpid ставится? я просто не знаю, искаропки оно у меня или нет. И вообще что оно делает тогда? В /etc/acpi/events пусто
dikiy ★★☆☆☆
( 29.12.18 20:46:11 MSK ) автор топика
Ответ на: комментарий от dikiy 29.12.18 20:46:11 MSK

в какой ОС? в моей искаробки нет ни acpid ни systemd
eternal_sorrow ★★★★★
( 29.12.18 20:47:39 MSK )
Ответ на: комментарий от eternal_sorrow 29.12.18 20:47:39 MSK

а, сорян. В Mint MATE
dikiy ★★☆☆☆
( 29.12.18 20:48:37 MSK ) автор топика
Ответ на: комментарий от dikiy 29.12.18 20:46:11 MSK

что настроишь, то и делает. смотри скрипты в директории /etc/acpi/
eternal_sorrow ★★★★★
( 29.12.18 20:50:46 MSK )
Последнее исправление: eternal_sorrow 29.12.18 20:51:24 MSK (всего исправлений: 1)
Ответ на: комментарий от eternal_sorrow 29.12.18 20:50:46 MSK

что настроишь, то и делает. смотри скрипты в папке /etc/acpi/
но чтобы они вызывались, надо чтобы в events что-то лежало. А там нет ничего.
А не, есть. Ок, значит оставим эту штуку.
Пакет: acpid (1:2.0.33-2 и другие)
служба управления электропитанием через интерфейс ACPI
Поддержка ACPI (Advanced Configuration and Power Interface — улучшенный интерфейс конфигурации и управления электропитанием) имеется в большинстве современных компьютеров и позволяет программно управлять питанием в системе и запрашивать состояние и параметры батарей.
ACPID — это гибкая, расширяемая системная служба для доставки событий ACPI. Она следит за интерфейсом netlink (или за файлом /proc/acpi/event), и когда возникает событие, запускает программу для обработки последнего. Набор запускаемых программ определяется конфигурационными файлами, которые могут устанавливаться пакетами или администратором.
Теги: Системное администрирование: Управление питанием, Работа с аппаратным обеспечением: Управление питанием, hardware::power:acpi, implemented-in::c, Пользовательский интерфейс: Демон, Роль: Программа
Другие пакеты, относящиеся к acpid
- зависимости
- рекомендации
- предложения
- enhances
- dep: init-system-helpers (>= 1.54~) вспомогательные инструменты для всех систем инициализации
- dep: kmod утилиты управления модулями ядра Linux
- dep: libc6 (>= 2.34) [не alpha, ia64, sh4] библиотека GNU C: динамически подключаемые библиотеки
также виртуальный пакет, предоставляемый libc6-udeb dep: libc6 (>= 2.35) [sh4] - dep: libc6.1 (>= 2.33) [alpha] библиотека GNU C: динамически подключаемые библиотеки
также виртуальный пакет, предоставляемый libc6.1-udeb dep: libc6.1 (>= 2.35) [ia64] - dep: lsb-base (>= 3.2-14) переходный пакет для сценария инициализации Linux Standard Base
- dep: runit-helper (>= 2.14.0~) dh-runit implementation detail
- rec: acpi-support-base (>= 0.114-1) сценарии обработки основных событий ACPI, например от кнопки питания
Загрузка acpid
| Архитектура | Версия | Размер пакета | В установленном виде | Файлы |
|---|---|---|---|---|
| alpha (неофициальный перенос) | 1:2.0.33-2+b1 | 45,4 Кб | 219,0 Кб | [список файлов] |
| amd64 | 1:2.0.33-2+b1 | 44,8 Кб | 154,0 Кб | [список файлов] |
| arm64 | 1:2.0.33-2+b1 | 44,2 Кб | 218,0 Кб | [список файлов] |
| armel | 1:2.0.33-2+b1 | 42,1 Кб | 216,0 Кб | [список файлов] |
| armhf | 1:2.0.33-2+b1 | 42,4 Кб | 216,0 Кб | [список файлов] |
| hppa (неофициальный перенос) | 1:2.0.33-2+b1 | 43,0 Кб | 142,0 Кб | [список файлов] |
| i386 | 1:2.0.33-2+b1 | 46,1 Кб | 152,0 Кб | [список файлов] |
| ia64 (неофициальный перенос) | 1:2.0.33-2+b1 | 50,2 Кб | 189,0 Кб | [список файлов] |
| m68k (неофициальный перенос) | 1:2.0.33-2+b1 | 42,9 Кб | 144,0 Кб | [список файлов] |
| mips64el | 1:2.0.33-2+b1 | 44,4 Кб | 223,0 Кб | [список файлов] |
| ppc64 (неофициальный перенос) | 1:2.0.33-2+b1 | 46,5 Кб | 283,0 Кб | [список файлов] |
| ppc64el | 1:2.0.33-2+b1 | 46,6 Кб | 218,0 Кб | [список файлов] |
| riscv64 (неофициальный перенос) | 1:2.0.33-2+b1 | 43,4 Кб | 143,0 Кб | [список файлов] |
| s390x | 1:2.0.33-2+b1 | 43,2 Кб | 154,0 Кб | [список файлов] |
| sh4 (неофициальный перенос) | 1:2.0.33-2+b1 | 46,1 Кб | 217,0 Кб | [список файлов] |
| sparc64 (неофициальный перенос) | 1:2.0.33-2+b1 | 42,6 Кб | 2 143,0 Кб | [список файлов] |
| x32 (неофициальный перенос) | 1:2.0.33-2+b1 | 44,4 Кб | 148,0 Кб | [список файлов] |
Эта страница также доступна на следующих языках (Как установить язык по умолчанию):
Чтобы сообщить о проблеме, связанной с веб-сайтом, отправьте сообщение (на английском) в список рассылки debian-www@lists.debian.org. Прочую контактную информацию см. на странице Debian Как с нами связаться.
Авторские права © 1997 — 2023 SPI Inc.; См. условия лицензии. Debian это торговый знак компании SPI Inc. Об этом сайте.
Управление питанием и настройки 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 строки:
GRUB_CMDLINE_LINUX_DEFAULT="acpi_backlight=vendor resume=/dev/sda5"
Лезем в 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 единиц. Какой шаг покажется оптимальным, тот и оставьте.
Тепер