이 파일의 값을 덮어써서 밝기를 변경하려고 합니다.
sudo echo 5 > /sys/class/backlight/acpi_video0/brightness
-bash: /sys/class/backlight/acpi_video0/brightness: Permission denied
sudo를 사용해도 작동하지 않습니다. 그러나 su를 사용하여 슈퍼유저로 전환하면 작동합니다. 왜 그런 겁니까?
답변1
이 오류는 sudo가 명령( sudo echo 5
)에 대한 권한을 높이지만 파일( > /sys/class/backlight/acpi_video0/brightness
) 쓰기를 위한 리디렉션은 올리지 않기 때문에 발생합니다. 실제 bash 쉘에는 쓰기 권한이 필요하므로 sudo에서는 실패하지만 루트로 작동합니다.
tee
루트로 명령을 실행하여 파일에 기록하면 이 문제를 해결할 수 있습니다 .
echo 5 | sudo tee /sys/class/backlight/acpi_video0/brightness
터미널에도 "5"가 표시됩니다. 이는 명령의 일반적인 부작용입니다 tee
.
답변2
Arch 위키에 쓰여진 대로(링크), 기본적으로 root
이 방법으로만 밝기를 변경할 수 있습니다. video
그룹의 사용자가 밝기를 변경할 수 있도록 허용하려면 udev
다음과 같은 규칙을 사용할 수 있습니다( 를 <vendor>
공급업체 ID로 바꾸십시오. 예: acpi_video0
, intel_backlight
).
% cat /etc/udev/rules.d/backlight.rules
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="<vendor>", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="<vendor>", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"
그런 다음 사용자를 그룹에 추가해야 합니다 video
.
usermod -aG video <user>
그 후에는 다음과 같이 작동합니다.
echo 5 > /sys/class/backlight/<vendor>/brightness
답변3
5가 에코되는 것을 원하지 않는 경우에도 작동합니다.
sudo sh -c 'echo 5 > /sys/class/backlight/acpi_video0/brightness'
답변4
아래 솔루션이 나에게 잘 작동합니다 ..
다른 사람들이 도움을 받을 수 있도록 답변으로 게시하고 있습니다.
권한을 변경하십시오.
sudo chmod a+rw /sys/class/backlight/intel_backlight/brightness
이제 밝기를 변경합니다.
echo 400 > /sys/class/backlight/intel_backlight/brightness
귀하의 경우에는 다음과 같습니다:/sys/class/backlight/acpi_video0/brightness