Есть ли способ выключить компьютер на основе Linux, когда заряд батареи падает ниже определенного уровня? Я искал руководства по выключению и выключению, но не нашел ничего подходящего.
1 ответ
Отлично! Я провел более тщательное исследование по этой теме, и, похоже, это можно сделать с помощью сценария. Источником вдохновения для моего скрипта ниже является следующая тема на форумах Arch Linux:
https://bbs.archlinux.org/viewtopic.php?id=162900 , а точнее первый пост за вакантным.
#!/bin/bash
BATTINFO=`acpi -b`
CRITICAL_PERCENTAGE=21
FILE_LOCATION="/home/username/LOW_BATTERY" #change this to correct username!
if [[ `echo $BATTINFO | grep Discharging` && `echo $BATTINFO | cut -c 25-26 ` -lt $CRITICAL_PERCENTAGE ]]
then
echo `date` >> $FILE_LOCATION
echo "Was forced to hibernate, due to low battery status">>$FILE_LOCATION
echo $BATTINFO >> $FILE_LOCATION
sudo pm-hibernate
fi
Задание можно автоматизировать с помощью задания cron, отредактировав файл crontab корневого пользователя (например, используя su в терминале, а затем crontab -e), чтобы скрипт выполнялся один раз в каждый регулярный интервал (например, 2 минуты). Как отметил davidgo выше, есть (очень) подобный вопрос ответил http://unix.stackexchange.com, которые могут быть использованы в качестве основы для более продвинутого приближаются.