Я пытаюсь запустить скрипт, который меняет подсветку, но требует привилегий root с помощью сочетания клавиш. Поскольку я не хочу вводить пароль каждый раз при изменении яркости, я хочу добавить исключение в файл 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 с i3wm, поэтому в моем файле конфигурации i3 для ярлыка есть следующее:
bindsym XF86MonBrightnessUp exec "sudo ./home/sepseel/.config/Scripts/backlight.sh +10"
bindsym XF86MonBrightnessDown exec "sudo ./home/sepseel/.config/Scripts/backlight.sh -10"
Заранее спасибо.