acpid, яркость и permission denied

Автор serj1983, 21 февраля 2018, 14:29:32

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

serj1983

Здравствуйте, это моё первое сообщение тут, не судите строго) Написал скрипт регулировки яркости для службы acpid.

#!/bin/sh
bl_dev=/sys/class/backlight/intel_backlight
step=500
case $1 in
    -) echo $(($(< $bl_dev/brightness) - $step)) >$bl_dev/brightness;;
    +) echo $(($(< $bl_dev/brightness) + $step)) >$bl_dev/brightness;;
esac

И почему-то скрипт неработает. При минусовании в логах acpid пишется sh: echo: I/O error, при плюсовании, ошибки нет, но яркость выставляется только на значении 500 ($step). Видимо значение $(< $bl_dev/brightness) не читается.

Такое ощущение, acpid не под рутом запущен, хотя запущен как раз под ним. Хоть отдельно, хоть службой. Самый простой пример, прочитать значение из backlight:

#!/bin/sh
bl_dev=/sys/class/backlight/intel_backlight
step=500
current=cat /sys/class/backlight/intel_backlight/brightness
echo $current
#case $1 in
#    -) echo $(($(< $bl_dev/brightness) - $step)) >$bl_dev/brightness;;
#    +) echo $(($(< $bl_dev/brightness) + $step)) >$bl_dev/brightness;;
#esac

Заканчивается ошибкой /etc/acpi/handlers/bl: 4: /etc/acpi/handlers/bl: /sys/class/backlight/intel_backlight/brightness: Permission denied
Где тут грабли?

P.S. Отдельные запуски команд под рутом запускаются! Тот же самый скрипт на ArchLinux работает без вопросов.
P.S.S На дебиане впервые, пробую после Арча, эти скрипты перевожу с него.


Cообщение объединено 21 февраля 2018, 23:08:30

Вообщем, переписал скрипт, онный работает

#!/bin/sh
bl_dev=/sys/class/backlight/intel_backlight
step=500
current=$(cat /sys/class/backlight/intel_backlight/brightness)
echo $current
case $1 in
        +) save=$(($current + $step));;
        -) save=$(($current - $step));;
esac
echo $save > $bl_dev/brightness