Kann nicht in die Datei / sys / class / backlight / acpi_video0 / bright (ubuntu) schreiben


16

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

Es funktioniert nicht einmal mit sudo. Wenn ich jedoch mit su zum Superuser wechsle, funktioniert es. Warum das?


Diese Aktion ist nur für sudo-Benutzer verfügbar. Ich fand eine Antwort in diesem Kommentar :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.
Alexey Volodko

Antworten:


17

Der Fehler tritt auf, weil sudo die Berechtigungen für command ( sudo echo 5) erhöht, aber nicht die Umleitung, um die Datei zu schreiben ( > /sys/class/backlight/acpi_video0/brightness). Die eigentliche Bash-Shell benötigt die Berechtigung zum Schreiben, weshalb sie mit sudo fehlschlägt, aber als root fungiert.

Sie können dies umgehen, indem Sie die tee Befehl 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 sendet. Dies ist eine normale Nebenwirkung des teeBefehls.


Dank geht an @duskwuff für die clevere teeLösung
mguymon

5
Ich kann nicht glauben, dass ich mir das ausgedacht habe - es ist ein bisschen UNIX-Folklore, die ich von who-knows-where aufgegriffen habe.
duskwuff -inactive-

1
funktioniert bei mir nicht mit / sys / class / drm / card0 / device / pp_sclk_od kann den Wert nicht ändern
alexela

4

Wie im Arch-Wiki ( Link ) beschrieben, rootkann die Helligkeit standardmäßig nur mit dieser Methode geändert werden. Damit die Benutzer in der videoGruppe um die Helligkeit zu ändern, eine udevRegel wie die folgenden verwendet werden (ersetzen die <vendor>mit Ihrem Händler - ID Eg. 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 dies funktionieren:

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

1
Diese Methode funktioniert bei mir nach dem Ersetzen acpi_video0durch intel_backlight.
Mehdi

1
Vielen Dank für Ihr Feedback. Ich habe die Antwort aktualisiert.
Manuel Schmitzberger

2

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

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

0

Ich habe mit diesem Problem auf meinem VAIO VPCEG schon seit einiger Zeit zu kämpfen. Nachdem ich alles getan hatte, was in jedem Forum erwähnt wurde, fand ich etwas Interessantes:

Nachdem ich den Boot-Parameter acpi_osi=Linux acpi_backlight=vendorgeändert und versucht hatte, ihn manuell zu ändern /sys/class/backlight/[vendor - in my case intel_backlight]/brightness, wurde mir klar, dass ich die Berechtigung für diese Datei von root auf meinen Benutzer ändern und den Acpid-Dienst neu starten konnte, um fehlerfreie Helligkeitstasten zu verwenden.


-1

Die folgenden Lösungen funktionieren gut für mich ..

Ich poste es als Antwort, damit andere Hilfe bekommen:

ändere die Erlaubnis:

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


1
Willkommen bei Super User! Bitte geben Sie als Antwort nicht "Danke" an. Wenn Sie etwas Zeit in die Website investieren, erhalten Sie ausreichende Berechtigungen , um die von Ihnen gewünschten Antworten zu verbessern.
DavidPostill

Außerdem haben Sie die Frage "Warum ist das so?" Nicht wirklich beantwortet.
DavidPostill

vielen dank .. für die informationen und wirklich leid .. nur meinetwegen .. du hast deine wichtige zeit damit verschwendet mich anzuleiten..ich werde dafür sorgen, dass dies nicht noch einmal passiert
noobdeveloper99 29.06.15

Es ist nicht empfehlenswert, jedem das Lesen und Schreiben einer solchen Systemkonfigurationsdatei zu erlauben.
Lindhe

Ich habe einige Szenarien, in denen der Bildschirm funktionieren beginnt, noch die Hintergrundbeleuchtung Wert ist immer noch 0,
ransh
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.