Для ноутбуков

bash, perl, python и прочие интерпретируемые скрипты

Модератор: Gen1us2k

Ответить
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Для ноутбуков

Сообщение Raven » 31 мар 2010, 10:59

Скрипт для проверки состояния батареи и автоматического отключения ноутбука. Написан для FreeBSD, в случае употребления на Linux необходимо исправить кодировку с KOI8-r на UTF-8.

Код: Выделить всё

#!/bin/sh -xv

# programms path
sysctl="/sbin/sysctl"
shutdown="/sbin/shutdown"
awk="/usr/bin/awk"
who="/usr/bin/who"
grep="/usr/bin/grep"
su="/usr/bin/su"
sleep="/bin/sleep"
wall="/usr/bin/wall"
echo="/bin/echo"

# env`s
LANG="ru_RU.KOI8-R"
export LANG
MM_CHARSET="KOI8-R"
export MM_CHARSET

# power source
if [ `${sysctl} hw.acpi.battery.state | ${awk} '{print $2}'` -eq 2 ]
then
        # cable
        exit 0;
else
        # battery
        if [ `${sysctl} hw.acpi.battery.life | ${awk} '{print $2}'` -lt 5 ]
        then
                # echo message
                ${who} | ${grep} -v tty |
                while read user_string
                do
                DISPLAY="`${echo} ${user_string} | awk '{print $2}'`"
                export DISPLAY
                ${su} `${echo} ${user_string} | awk '{print $1}'` \
                        -c "/usr/X11R6/bin/Xdialog --title \
                        \"Компьютер отключается!\" \
                        --icon /usr/X11R6/share/doc/xdialog/samples/warning.xpm \
                        --msgbox \"Компьютер отключится через минуту!\nСадится батарея!\" 0 0"&
                done
                ${echo} "Компьютер отключится через минуту!" | ${wall}
                # shutdown mashine
                ${sleep} 60 && ${shutdown} -p now &
                exit 0;
        fi
fi
exit 0;
Автор: lissyara
Я не злопамятный, я просто часто ковыряю логи
Ответить

Вернуться в «Скрипты»