/sys/class/backlight/acpi_video0/brightness 파일에 쓸 수 없습니다(우분투)

/sys/class/backlight/acpi_video0/brightness 파일에 쓸 수 없습니다(우분투)

이 파일의 값을 덮어써서 밝기를 변경하려고 합니다.

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

관련 정보