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.