Nie można zapisać do pliku / sys / class / backlight / acpi_video0 / jasność (ubuntu)


16

Próbuję zmienić jasność, zastępując wartość tego pliku:

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

Nie działa nawet podczas korzystania z sudo. Jeśli jednak przełączę się na superużytkownika z su, to działa. Dlaczego?


Ta akcja jest ograniczona tylko do użytkowników sudo. W tym komentarzu znalazłem odpowiedź :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.
Aleksiej Wołodko,

Odpowiedzi:


17

Błąd występuje, ponieważ sudo podnosi uprawnienia do polecenia ( sudo echo 5), ale nie przekierowanie do zapisu pliku ( > /sys/class/backlight/acpi_video0/brightness). Rzeczywista powłoka bash wymaga pozwolenia na pisanie, dlatego nie działa z sudo, ale działa jako root.

Możesz obejść ten problem, uruchamiając teekomendę jako root, aby zapisać do pliku:

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

Zauważ, że będzie to również odbijało się echem na twoim terminalu. Jest to normalny efekt uboczny teepolecenia.


Podziękowania dla @duskwuff za sprytne teerozwiązanie
mguymon

5
Nie mogę uwierzyć, że to wymyśliłem - to trochę folkloru UNIX, który wybrałem od kto-gdzie-gdzie.
duskwuff -inactive-

1
nie działa dla mnie z / sys / class / drm / card0 / device / pp_sclk_od nie może zmienić wartości
Alexela 15.09.17

5

Jak napisano w Arch wiki ( link ), domyślnie rootmożna jedynie zmienić jasność tą metodą. Aby umożliwić użytkownikom w videogrupie zmianę jasności, audev reguły takie jak poniżej może być używany (Wymień <vendor>z identyfikatorem dostawcy Np. 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"

Następnie musisz dodać użytkownika do videogrupy.

usermod -aG video <user>

Po tym powinno to działać:

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

1
Ta metoda działa dla mnie po zastąpieniu acpi_video0przez intel_backlight.
Mehdi

1
Dziękujemy za opinię. Zaktualizowałem odpowiedź.
Manuel Schmitzberger

2

Jeśli nie chcesz echa 5, działa to również:

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

0

Od dłuższego czasu zmagam się z tym problemem na mojej VAIO VPCEG. Po zrobieniu wszystkiego wymienionego na każdym forum znalazłem coś interesującego:

Po zmianie parametru rozruchu acpi_osi=Linux acpi_backlight=vendori próbie ręcznej zmiany /sys/class/backlight/[vendor - in my case intel_backlight]/brightness, zdałem sobie sprawę, że zmiana uprawnień do tego pliku z root na mojego użytkownika i ponowne uruchomienie usługi acpid, pozwoli mi to bezbłędnie korzystać z klawiszy jasności.


-1

poniższe rozwiązania działają dobrze dla mnie ..

wysyłam jako odpowiedź, aby inni mogli uzyskać pomoc:

zmień uprawnienia:

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

teraz zmień jasność:

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

w twoim przypadku byłoby to: /sys/class/backlight/acpi_video0/brightness


1
Witamy w Super User! Nie dodawaj „dziękuję” jako odpowiedzi. Zainwestuj trochę czasu na stronie, a zyskasz wystarczające uprawnienia do głosowania na odpowiedzi, które Ci się podobają, co jest sposobem Super Użytkownik na podziękowanie.
DavidPostill

Poza tym tak naprawdę nie odpowiedziałeś na pytanie: „Dlaczego?”
DavidPostill

wielkie dzięki .. za informacje i naprawdę przepraszam .. tylko przeze mnie .. zmarnowałeś swój ważny czas na prowadzenie mnie .. upewnię się, że to się więcej nie powtórzy
noobdeveloper99

Nie jest dobrą praktyką zezwalanie wszystkim na odczytywanie i zapisywanie takiego pliku konfiguracji systemu.
2015

Mam kilka scenariuszy, w których ekran zaczyna działać, ale wartość podświetlenia nadal wynosi 0,
ransh
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.