このファイルの値を上書きして明るさを変更しようとしています:
sudo echo 5 > /sys/class/backlight/acpi_video0/brightness
-bash: /sys/class/backlight/acpi_video0/brightness: Permission denied
sudoを使用しても機能しません。ただし、suを使用してスーパーユーザーに切り替えると機能します。何故ですか?
このファイルの値を上書きして明るさを変更しようとしています:
sudo echo 5 > /sys/class/backlight/acpi_video0/brightness
-bash: /sys/class/backlight/acpi_video0/brightness: Permission denied
sudoを使用しても機能しません。ただし、suを使用してスーパーユーザーに切り替えると機能します。何故ですか?
回答:
エラーが発生するのは、sudoがコマンド(sudo echo 5
)の権限を昇格しますが、ファイルを書き込むリダイレクト()を昇格しないため> /sys/class/backlight/acpi_video0/brightness
です。実際のbashシェルには書き込み権限が必要です。そのため、sudoで失敗しますが、rootとして機能します。
tee
rootとしてコマンドを実行してファイルに書き込むことで、これを回避できます。
echo 5 | sudo tee /sys/class/backlight/acpi_video0/brightness
これにより、「5」が端末にもエコーされることに注意してください。これは、tee
コマンドの通常の副作用です。
tee
ソリューションの功績は@duskwuffにある
Arch wiki(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
acpi_video0
た後、このメソッドは私のために動作しますintel_backlight
。
私はかなり長い間、VAIO VPCEGでこの問題に苦労してきました。すべてのフォーラムで言及されているすべてを実行した後、私は何か面白いものを見つけました。
ブートパラメータacpi_osi=Linux acpi_backlight=vendor
を変更し/sys/class/backlight/[vendor - in my case intel_backlight]/brightness
、手動で変更しようとした後、このファイルのアクセス許可をルートからユーザーに変更し、acpidサービスを再起動すると、明るさキーを問題なく使用できることに気付きました。
以下の解決策は私のためにうまくいきます..
他の人が助けを得ることができるように、私は答えとしてそれを投稿しています:
許可を変更します。
sudo chmod a+rw /sys/class/backlight/intel_backlight/brightness
明るさを変更します:
echo 400 > /sys/class/backlight/intel_backlight/brightness
あなたの場合、それは次のようになります: /sys/class/backlight/acpi_video0/brightness
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.