Я пытаюсь запустить скрипт, который меняет подсветку, но требует root priviliges с помощью сочетания клавиш. Поскольку я не хочу вводить свой пароль каждый раз, когда я изменяю яркость, я хочу добавить исключение в мой файл sudoers для этого скрипта. Однако ни одна из моих попыток не была успешной. Обратите внимание, что я сам не написал этот сценарий и, следовательно, не совсем понял его (для большинства частей, хотя я это делаю).
дополнительная информация:
- Я создал псевдоним в моем файле .bashrc для скрипта:
alias backlight='sudo ./.config/Scripts/backlight.sh'
-Я удалил команды sudo из скрипта:
#!/bin/bash
# base dir for backlight class
basedir="/sys/class/backlight/"
# get the backlight handler
handler=$basedir$(ls $basedir)"/"
# get current brightness
old_brightness=$(cat $handler"brightness")
# get max brightness
max_brightness=$(cat $handler"max_brightness")
# get current brightness %
old_brightness_p=$(( 100 * $old_brightness / $max_brightness ))
# calculate new brightness %
new_brightness_p=$(($old_brightness_p $1))
# calculate new brightness value
new_brightness=$(( $max_brightness * $new_brightness_p / 100 ))
# set the new brightness value
(sudo) chmod 666 $handler"brightness"
echo $new_brightness > $handler"brightness"
-Это строки, с которыми я экспериментировал, добавляя они до конца файла sudoers:
ALL ALL=(ALL) NOPASSWD: /home/sepseel/.conf/Scripts/$
#ALL ALL=(ALL) NOPASSWD: /bin/chmod
-Мой системе в настоящее время запущен ubuntu 16.04, с te i3wm, поэтому у меня есть это в моем файле конфигурации i3 для shurtcut:
bindsym XF86MonBrightnessUp exec "sudo ./home/sepseel/.config/Scripts/backlight.sh +10"
bindsym XF86MonBrightnessDown exec "sudo ./home/sepseel/.config/Scripts/backlight.sh -10"
Спасибо заранее.