Для корректировки моей подсветки, я использую команду:
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), которому нужны addional полномочия. Как я могу выполнить их как корень?
#!/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
Мне пришлось установить бит выполнения для обоих сценариев:
-rw**x**r-**x**r-- 1 ubuntu ubuntu 189 Nov 4 15:34 brightnessDown.sh
-rw**x**r-**x**r-- 1 ubuntu ubuntu 191 Nov 4 15:36 brightnessUp.sh
Поэтому я ввел:
sudo chmod 754 ~/Documents/CustomScripts/brightness*.sh
Теперь я могу запускать оба сценария с помощью сочетаний клавиш.