Как заставить скрипт bash выполняться, когда аккумулятор на моем ноутбуке начинает заряжать / разряжать?

Да, jobs-admin - это новый графический интерфейс, который использует jobservice для настройки сценариев Upstart. Это в репозиториях Maverick, но есть PPA, доступный в https://launchpad.net/~jpeddicord/+archive/jobtools для Lucid.

1
задан 17 June 2015 в 01:30

2 ответа

Когда вы подключаете / отсоединяете кабель питания, все скрипты в /etc/pm/power.d запускаются с аргументом «true» при подключении и «ложном» аргументе при отключении.

Добавление некоторого скрипта в конец этого файла должно заставить его работать.

Если у вас много скриптов для запуска, попробуйте добавить строку, которая выглядит так:

if [ -f /path/to/the/script ]; then
    . /path/to/the/script
fi

Вам, вероятно, потребуется убедиться, что сценарий в. ../power.d/ можно выполнить с помощью:

cd /etc/pm/power.d/
chmod +x ./name_of_file 

Для получения дополнительной информации ознакомьтесь с этим ответом: Как запустить скрипт при подключении источника питания или -out?

0
ответ дан 23 May 2018 в 19:46

Вот общий подход:

#!/bin/bash

status="$(grep -Po '^charging\s+state:\s+\K.*$' /proc/acpi/battery/BAT0/state)"

if [[ $status = 'charging' ]]; then
    ##Charging, Do something

elif [[ $status = 'discharging' ]]; then
    ##Discharging, Do something

elif [[ $status = 'charged' ]]; then
    ##Charged, Do something

else
    ##Battery not found, Do something
fi
/proc/acpi/battery/BAT0/state содержит состояние батареи, замените BAT0, если в вашем случае другое название батареи. Линия, начинающаяся с charging state: of файл содержит статус зарядки, разрядки или зарядки аккумулятора. Мы сохраняем строку состояния из этой строки в переменной status. В зависимости от значения status мы можем делать то, что хотим.
0
ответ дан 23 May 2018 в 19:46

Другие вопросы по тегам:

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