L'erreur se produit car sudo élève les autorisations pour la commande (sudo echo 5 ) mais pas la redirection pour écrire le fichier (> /sys/class/backlight/acpi_video0/brightness ). Le shell bash réel a besoin d'une autorisation pour écrire, c'est pourquoi il échoue avec sudo mais fonctionne en tant que root.
Vous pouvez contourner ce problème en exécutant le tee commande en tant que root pour écrire dans le fichier :
echo 5 | sudo tee /sys/class/backlight/acpi_video0/brightness
Notez que cela fera également écho à "5" sur votre terminal. Ceci est un effet secondaire normal du tee commande.
Comme écrit dans le wiki Arch (lien), par défaut, seulement root peut changer la luminosité par cette méthode. Pour autoriser les utilisateurs dans le video groupe pour changer la luminosité, un udev règle telle que la suivante peut être utilisée (remplacer le <vendor> avec votre identifiant fournisseur. Par exemple. 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"
Ensuite, vous devez ajouter votre utilisateur au video groupe.
usermod -aG video <user>
Après cela, cela devrait fonctionner :
echo 5 > /sys/class/backlight/<vendor>/brightness
Si vous ne vouliez pas que 5 soit répercuté, cela fonctionne également :
sudo sh -c 'echo 5 > /sys/class/backlight/acpi_video0/brightness'