L'errore si verifica perché sudo eleva le autorizzazioni per il comando (sudo echo 5
) ma non il reindirizzamento per scrivere il file (> /sys/class/backlight/acpi_video0/brightness
). L'effettiva shell bash richiede il permesso di scrivere, motivo per cui fallisce con sudo ma funziona come root.
Puoi aggirare questo problema eseguendo tee
comando come root per scrivere nel file:
echo 5 | sudo tee /sys/class/backlight/acpi_video0/brightness
Nota che questo echeggerà anche "5" sul tuo terminale. Questo è un normale effetto collaterale del tee
comando.
Come scritto nel wiki di Arch (link), per impostazione predefinita, solo root
può cambiare la luminosità con questo metodo. Per consentire agli utenti nel video
gruppo per modificare la luminosità, un udev
può essere utilizzata una regola come la seguente (sostituisci <vendor>
con il tuo ID fornitore. Per esempio. 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"
Quindi devi aggiungere il tuo utente al video
gruppo.
usermod -aG video <user>
Dopodiché dovrebbe funzionare:
echo 5 > /sys/class/backlight/<vendor>/brightness
Se non vuoi che venga ripetuto 5, anche questo funziona:
sudo sh -c 'echo 5 > /sys/class/backlight/acpi_video0/brightness'