ファイル/ sys / class / backlight / acpi_video0 / brightness(ubuntu)に書き込めません


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.
アレクセイヴォロドコ

回答:


17

エラーが発生するのは、sudoがコマンド(sudo echo 5)の権限を昇格しますが、ファイルを書き込むリダイレクト()を昇格しないため> /sys/class/backlight/acpi_video0/brightnessです。実際のbashシェルには書き込み権限が必要です。そのため、sudoで失敗しますが、rootとして機能します。

teerootとしてコマンドを実行してファイルに書き込むことで、これを回避できます。

echo 5 | sudo tee /sys/class/backlight/acpi_video0/brightness

これにより、「5」が端末にもエコーされることに注意してください。これは、teeコマンドの通常の副作用です。


巧妙なteeソリューションの功績は@duskwuffにある
mguymon

5
私はそれを思い付くために信用することはできません-それは私が誰が知っている場所から選んだUNIXの民間伝承の少しです。
夕暮れ

1
/ SYS /クラス/ DRM / card0 /デバイス/ pp_sclk_odと私のために働いていないと、値は変更できません
alexela

5

Arch wiki(link)に書かれているように、デフォルトでは、rootこの方法でしか輝度を変更できません。で、ユーザーできるようにするにはvideoグループが明るさを変更するには、udev次のようなルールは、(置き換える使用することができます<vendor>。あなたのベンダーIDと例えばacpi_video0intel_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
メフディ

1
あなたのフィードバックのためのTHX。答えを更新しました。
マヌエルシュミッツバーガー

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

誰もがそのようなシステム構成ファイルを読み書きできるようにすることは良い習慣ではありません。
リンデ

画面が機能し始めても、バックライトの値がまだ0であるシナリオがいくつかあります。
ransh
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.