Прошу модераторов перенести туда, куда более подойдет, я даже не знаю куда это.
Для изменения яркости экрана ноутбука использую самописный скрипт. После долгих шатаний меня занесло в Арч (Таже Слака, только более удобная в кастомизации, что, собственно, и понравилось.) и тут оказалось, что часть скрипта отказывается работать.На Слаке все работало.
Часть, собственно, отвечает за переключение подсветки (вкл-выкл).
Подсветка отключается, но не включается. Пробовал изменить, что бы уровень подсветки брался не из сохраненного файла, а просто выставляя «var» - все равно не работает.
Помогите отладить.
#!/bin/bash
#
# Управление яркостью экрана через sudo /sbin/setpci
#
# br_up_me inc/dec/set/toggle <значение> (для toggle значение не нужно)
#
# в /etc/sudoers нужно добавить строку:
# имя_пользователя ALL=NOPASSWD: /sbin/setpci
#
# snefjyent 25/12/2011
#
# Путь к файлу, где будет сохраняться яркость при отключении подсветки
data_file=.brme_db
# Путь к setpci (Для поиска используйте which setpci)
path_setpci=/usr/sbin/setpci
# Адрес
device=00:02.0
# Сохраняем второй введенный аргумент
amount=$2
# Установка яркости
SET ()
{
sudo $path_setpci -s $device F4.B=$var
}
# Проверяем, допустимо ли значение при ув. яркости, если нет - берем максимально возможное
INC_TEST ()
{
let "ovar=98-$br"
if [ "$amount" -gt "$ovar" ];
then
var=99
fi
}
# Проверяем, допустимо ли значение при ум. яркости, если нет - берем минимально возможное
DEC_TEST ()
{
let "ovar=$br-10"
if [ "$amount" -gt "$ovar" ];
then
var=10
fi
}
# Берем яркость экрана
var=`sudo $path_setpci -s $device F4.B`
# Сохраняем для тестов (INC/DEC_TEST)
br=$var
# Выбираем действие по 1 агрументу
case "$1" in
# Увеличения яркости
inc)
let "var=$var+$amount"
INC_TEST
SET
;;
# Уменьшение яркости
dec)
let "var=$var-$amount"
DEC_TEST
SET
;;
# Установка яркости
set)
let "var=$amount"
SET
;;
# Переключение подсветки
toggle)
if [ $var -eq 0 ];
then
var=`cat $data_file`
SET
else
echo $var>$data_file
var=0
SET
fi
;;
esac
exit 0
Перемещено mono из talks