백라이트를 변경하는 스크립트를 실행하려고 하는데 키보드 단축키를 사용하여 루트 권한이 필요합니다. 밝기를 변경할 때마다 비밀번호를 입력하고 싶지 않기 때문에 해당 스크립트에 대한 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
-내 시스템은 현재 te i3wm과 함께 ubuntu 16.04를 실행 중이므로 shutcut에 대한 i3 구성 파일에 다음이 포함되어 있습니다.
bindsym XF86MonBrightnessUp exec "sudo ./home/sepseel/.config/Scripts/backlight.sh +10"
bindsym XF86MonBrightnessDown exec "sudo ./home/sepseel/.config/Scripts/backlight.sh -10"
미리 감사드립니다.