sudo がコマンド (sudo echo 5
) の権限を昇格させるため、エラーが発生します。 ) ですが、ファイル (> /sys/class/backlight/acpi_video0/brightness
) を書き込むためのリダイレクトはありません )。実際の bash シェルには書き込み権限が必要です。そのため、sudo では失敗しますが、root として機能します。
tee
を実行することで、これを回避できます。 コマンドをルートとしてファイルに書き込みます:
echo 5 | sudo tee /sys/class/backlight/acpi_video0/brightness
これは端末にも「5」をエコーすることに注意してください。これは tee
の通常の副作用です コマンド。
Arch wiki (リンク) に書かれているように、デフォルトでは 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'