Estoy intentando cambiar el brillo sobrescribiendo el valor de este archivo:
sudo echo 5 > /sys/class/backlight/acpi_video0/brightness
-bash: /sys/class/backlight/acpi_video0/brightness: Permission denied
No funciona incluso cuando se usa sudo. Sin embargo, si cambio a superusuario con su, funciona. ¿Porqué es eso?
Respuesta1
El error ocurre porque sudo eleva los permisos para el comando ( sudo echo 5
) pero no la redirección para escribir el archivo ( > /sys/class/backlight/acpi_video0/brightness
). El shell bash real necesita permiso para escribir, por lo que falla con sudo pero funciona como root.
Puede solucionar este problema ejecutando el tee
comando como root para escribir en el archivo:
echo 5 | sudo tee /sys/class/backlight/acpi_video0/brightness
Tenga en cuenta que esto también hará eco de "5" en su terminal. Este es un efecto secundario normal del tee
comando.
Respuesta2
Como está escrito en la wiki de Arch (enlace), de forma predeterminada, sólo root
se puede cambiar el brillo mediante este método. Para permitir que los usuarios del video
grupo cambien el brillo, udev
se puede utilizar una regla como la siguiente (reemplace <vendor>
con su ID de proveedor, por ejemplo 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"
Luego debes agregar tu usuario al video
grupo.
usermod -aG video <user>
Después de eso esto debería funcionar:
echo 5 > /sys/class/backlight/<vendor>/brightness
Respuesta3
Si no desea que se repita 5, esto también funciona:
sudo sh -c 'echo 5 > /sys/class/backlight/acpi_video0/brightness'
Respuesta4
Las siguientes soluciones funcionan bien para mí.
Lo publico como respuesta para que otros puedan obtener ayuda:
cambiar el permiso:
sudo chmod a+rw /sys/class/backlight/intel_backlight/brightness
ahora cambia el brillo:
echo 400 > /sys/class/backlight/intel_backlight/brightness
en tu caso sería:/sys/class/backlight/acpi_video0/brightness