このファイルの値を上書きして明るさを変更しようとしています:
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
コマンドの通常の副作用です。
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
5をエコーしたくない場合は、これも機能します。
Sudo sh -c 'echo 5 > /sys/class/backlight/acpi_video0/brightness'
私は長い間、VAIO VPCEGでこの問題に取り組んできました。すべてのフォーラムで言及されているすべてを行った後、私は興味深いものを見つけました:
ブートパラメータを変更した後acpi_osi=Linux acpi_backlight=vendor
および手動で変更しようとしています/sys/class/backlight/[vendor - in my case intel_backlight]/brightness
、このファイルへのアクセス許可をrootからユーザーに変更し、acpidサービスを再起動すると、明るさのキーを問題なく使用できることがわかりました。