Não é possível gravar no arquivo /sys/class/backlight/acpi_video0/brightness (ubuntu)

Não é possível gravar no arquivo /sys/class/backlight/acpi_video0/brightness (ubuntu)

Estou tentando alterar o brilho substituindo o valor neste arquivo:

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

Não funciona mesmo quando uso o sudo. No entanto, se eu mudar para superusuário com su, funciona. Por que é que?

Responder1

O erro acontece porque o sudo eleva as permissões para o comando ( sudo echo 5), mas não o redirecionamento para gravar o arquivo ( > /sys/class/backlight/acpi_video0/brightness). O shell bash real precisa de permissão para escrever, e é por isso que falha com o sudo, mas funciona como root.

Você pode contornar isso executando o teecomando como root para gravar no arquivo:

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

Observe que isso também ecoará "5" no seu terminal. Este é um efeito colateral normal do teecomando.

Responder2

Conforme escrito no wiki do Arch (link), por padrão, só rooté possível alterar o brilho por este método. Para permitir que os usuários do videogrupo alterem o brilho, uma udevregra como a seguinte pode ser usada (substitua <vendor>pelo ID do seu fornecedor. Por exemplo 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"

Então você precisa adicionar seu usuário ao videogrupo.

usermod -aG video <user>

Depois disso, isso deve funcionar:

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

Responder3

Se você não queria que 5 fosse ecoado, isso também funciona:

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

Responder4

as soluções abaixo funcionam bem para mim.

estou postando como resposta para que outras pessoas possam obter ajuda:

altere a permissão:

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

agora mude o brilho:

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

no seu caso seria:/sys/class/backlight/acpi_video0/brightness

informação relacionada