Kann nicht in die Datei /sys/class/backlight/acpi_video0/brightness schreiben (Ubuntu)

Kann nicht in die Datei /sys/class/backlight/acpi_video0/brightness schreiben (Ubuntu)

Ich versuche, die Helligkeit zu ändern, indem ich den Wert in dieser Datei überschreibe:

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

Auch mit sudo funktioniert es nicht. Wenn ich jedoch mit su zum Superuser wechsle, funktioniert es. Warum ist das so?

Antwort1

Der Fehler tritt auf, weil sudo die Berechtigungen für den Befehl erhöht ( sudo echo 5), aber nicht die Umleitung zum Schreiben der Datei ( > /sys/class/backlight/acpi_video0/brightness). Die eigentliche Bash-Shell benötigt Schreibberechtigung, weshalb sie mit sudo fehlschlägt, aber als Root funktioniert.

Sie können dies umgehen, indem Sie den teeBefehl als Root ausführen, um in die Datei zu schreiben:

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

Beachten Sie, dass dies auch „5“ an Ihr Terminal ausgibt. Dies ist eine normale Nebenwirkung des teeBefehls.

Antwort2

Wie im Arch-Wiki beschrieben (Verknüpfung), kann standardmäßig nur rootdie Helligkeit mit dieser Methode ändern. Um Benutzern in der videoGruppe das Ändern der Helligkeit zu ermöglichen, udevkann eine Regel wie die folgende verwendet werden (ersetzen Sie das <vendor>durch Ihre Hersteller-ID. Z. B. 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"

Dann müssen Sie Ihren Benutzer zur videoGruppe hinzufügen.

usermod -aG video <user>

Danach sollte es so funktionieren:

echo 5 > /sys/class/backlight/<vendor>/brightness

Antwort3

Wenn Sie nicht möchten, dass 5 wiederholt wird, funktioniert dies auch:

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

Antwort4

Die folgenden Lösungen funktionieren bei mir einwandfrei.

ich poste es als Antwort, damit andere Hilfe bekommen können:

Ändern Sie die Berechtigung:

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

jetzt Helligkeit ändern:

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

in deinem Fall wäre es:/sys/class/backlight/acpi_video0/brightness

verwandte Informationen