Чтобы настроить подсветку, я использую команду:
sudo bash -c "echo $backlight_value > /sys/class/backlight/apple_backlight/brightness;"
Теперь я хочу настроить привязку клавиш для команды выше с помощью сценария оболочки с помощью openbox для настройки подсветки на моем ПК. Чтобы настроить привязку клавиш, я искал файл конфигурации, который используется openbox:
$ ps ax | grep openbox
1194 ? Sl 0:02 openbox --config-file /home/ubuntu/.config/openbox/lubuntu-rc.xml --sm-save-file /home/ubuntu/.cache/openbox/sessions/1478226066-1194-624962777.obs --sm-no-load
1958 pts/0 S+ 0:00 grep --color=auto openbox
Далее я редактировал файл конфигурации lubuntu-rc.xml, и он работает (я его протестировал):
<!-- My Keybindings -->
<keybind key="0xC0">
<action name="Execute">
<execute>lxterminal</execute>
</action>
</keybind>
Теперь я хочу выполнить свой собственный сценарий оболочки ниже. Но в моем сценарии оболочки есть две команды (строки 2 и 5), которые нуждаются в дополнительных разрешениях. Как я могу запустить их как root?
#!/bin/bash
curr=`cat /sys/class/backlight/apple_backlight/brightness`
if [ $curr -gt 0 ]; then
curr=$((curr - 1));
echo $curr > /sys/class/backlight/apple_backlight/brightness;
fi
Я также изменил привилегии, но ошибка все еще существует (разрешение отклонено):
ls -l /sys/class/backlight/apple_backlight/
total 0
-rwxrwxr-x 1 ubuntu ubuntu 4096 Nov 4 00:41 brightness
Я тестировал только скрипт без привязки и он работает:
bash /home/ubuntu/Documents/CustomScripts/brightnessDown.sh