No se puede escribir en el archivo /sys/class/backlight/acpi_video0/brightness (ubuntu)

No se puede escribir en el archivo /sys/class/backlight/acpi_video0/brightness (ubuntu)

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 teecomando 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 teecomando.

Respuesta2

Como está escrito en la wiki de Arch (enlace), de forma predeterminada, sólo rootse puede cambiar el brillo mediante este método. Para permitir que los usuarios del videogrupo cambien el brillo, udevse 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 videogrupo.

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

información relacionada