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


16

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

sudo echo 5 > /sys/class/backlight/acpi_video0/brightness
-bash: /sys/class/backlight/acpi_video0/brightness: Permission denied

sudo를 사용할 때도 작동하지 않습니다. 그러나 su를 사용하여 수퍼 유저로 전환하면 작동합니다. 왜 그런 겁니까?


이 조치는 sudo 사용자로만 제한됩니다. 이 의견에서 답변 찾았습니다 .The reason that this is set at su permissions is that a virus could conceivably make your screen dim and go bright at incredible speed ultimately damaging your hardware display. In the 90's I encountered a virus that would adjust the screen refresh Hertz so rapidly that your monitor would fry.
Alexey Volodko

답변:


17

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명령 의 정상적인 부작용 입니다.


신용은 영리한 tee솔루션 을 위해 @duskwuff로갑니다
mguymon

5
나는 그것을 생각해 낸 것에 대한 신용을 얻을 수 없다-그것은 내가 아는 곳에서 가져온 유닉스 민속의 일부이다.
duskwuff -inactive-

1
/ sys / class / drm / card0 / device / pp_sclk_od와 함께 작동하지 않는 경우 값을 변경할 수 없습니다
alexela

5

아치 위키 ( link )에 작성된 것처럼 기본적 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

1
이 방법은로 교체 acpi_video0한 후 나에게 효과적입니다 intel_backlight.
Mehdi

1
의견을 보내 주셔서 감사합니다. 답변을 업데이트했습니다.
Manuel Schmitzberger

2

5를 반향시키지 않으려면 다음과 같이 작동하십시오.

sudo sh -c 'echo 5 > /sys/class/backlight/acpi_video0/brightness'

0

나는 오랫동안 VAIO VPCEG 에서이 문제로 어려움을 겪고 있습니다. 모든 포럼에서 언급 한 모든 것을 한 후에 흥미로운 것을 발견했습니다.

부팅 매개 변수를 변경하고 acpi_osi=Linux acpi_backlight=vendor수동으로 변경하려고 시도한 후이 /sys/class/backlight/[vendor - in my case intel_backlight]/brightness파일에 대한 권한을 루트에서 사용자로 변경하고 acpid 서비스를 다시 시작하면 밝기 키를 완벽하게 사용할 수 있음을 깨달았습니다.


-1

아래 솔루션이 저에게 잘 작동합니다 ..

다른 사람들이 도움을받을 수 있도록 답변으로 게시하고 있습니다.

권한을 변경하십시오.

sudo chmod a+rw /sys/class/backlight/intel_backlight/brightness

이제 밝기를 변경하십시오.

echo 400 > /sys/class/backlight/intel_backlight/brightness

귀하의 경우에는 다음과 같습니다. /sys/class/backlight/acpi_video0/brightness


1
슈퍼 유저에 오신 것을 환영합니다! 답변으로 "감사"를 추가하지 마십시오. 사이트에 시간을 투자 하면 원하는 답변을 찬성 할 수있는 충분한 권한 을 얻을 수 있으며, 이는 수퍼 유저가 고맙다는 말입니다.
DavidPostill

또한 당신은 그 질문에 실제로 대답하지 않았습니다.
DavidPostill

덕분에 많은 .. 정보에 대해 정말 죄송합니다 .. 저 .. 당신은 me..i 확신이 다시 발생하지 것 유도하는 중요한 시간을 낭비해서
noobdeveloper99

모든 사람이 이와 같은 시스템 구성 파일을 읽고 쓸 수 있도록하는 것은 좋은 습관이 아닙니다.
lindhe

화면이 작동하기 시작하지만 백라이트 값이 여전히 0 인 몇 가지 시나리오가 있습니다.
ransh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.