acpid - Будьте в спящем режиме При Отключении

cut походит на подходящий инструмент для этого:

bash-4.2$ s='id;some text here with possible ; inside'

bash-4.2$ id="$( cut -d ';' -f 1 <<< "$s" )"; echo "$id"
id

bash-4.2$ string="$( cut -d ';' -f 2- <<< "$s" )"; echo "$string"
some text here with possible ; inside

Но read еще более подходит:

bash-4.2$ IFS=';' read -r id string <<< "$s"

bash-4.2$ echo "$id"
id

bash-4.2$ echo "$string"
some text here with possible ; inside
1
29.08.2013, 05:20
1 ответ

acpid демон должен получить события батареи подсистемой ACPI. Когда Вы отключаете/включаете ноутбук должны быть связанные события батареи. События могут быть связаны с действиями как питание от/приостанавливать/быть в спящем режиме системы и так далее.

Во-первых, попытайтесь проверить его путем наблюдения /var/log/messages или связанные файлы журнала, когда Вы отключаете ноутбук. Должно быть что-то как

... ACPI action undefined: ...

Если нет ничего, что можно попробовать acpi_listen команда, которая соединяется с acpid и прислушивается к событиям.

Затем можно настроить универсальный обработчик событий под /etc/acpi/events каталог для событий батареи. Создайте там файл, например. battery.conf со следующим содержанием:

event=battery.*
action=/etc/acpi/actions/battery.sh

Это говорит, что любое событие батареи должно быть обработано сценарием battery.sh. В этом сценарии я контролировал бы состояние батареи, доступное от /proc/acpi/battery/*/state файл. Особенно, проверьте строку, "заряжающую состояние", которое должно измениться на "разряд", когда Вы отключаете ноутбук или "заряжаться/заряжать" при включении его назад.

На основе этой информации можно выполнить быть в спящем режиме команду от обработчика событий battery.sh. Кроме того, можно найти некоторые другие полезные примеры, например, на GitHub.

1
27.01.2020, 23:53
  • 1
    я могу подтвердить, что acpid работает, но я не думаю, что он создает событие, когда я отключаю ноутбук. Я настроил battery.conf и battery.sh файлы, и в battery.sh я просто делаю всплывающее окно с помощью xmessage. Выполнение .sh файла вручную работает, но это не выполняется, когда я отключаю свой ноутбук. Кроме того, выполнение acpi_listen ничего не показывает мне, когда я отключаю ноутбук. Единственная разница, которую я вижу, - то, что, если я выполняю acpi, он говорит "зарядку" при включении, но "разряд", когда я отключаю. Совет? –  Jake 23.08.2013, 06:42
  • 2
    Есть ли под/proc/acpi/battery/какие-либо файлы? –  dsmsk80 23.08.2013, 10:12
  • 3
    Извините за задержку ответа. нет, единственными вещами в/proc/acpi является кнопка (каталог), событие (файл) и пробуждение (файл) –  Jake 27.08.2013, 16:06

Теги

Похожие вопросы