Да, jobs-admin - это новый графический интерфейс, который использует jobservice для настройки сценариев Upstart. Это в репозиториях Maverick, но есть PPA, доступный в https://launchpad.net/~jpeddicord/+archive/jobtools для Lucid.
Когда вы подключаете / отсоединяете кабель питания, все скрипты в /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?
Вот общий подход:
#!/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 мы можем делать то, что хотим.