web-dev-qa-db-fra.com

Impossible d'écrire sur File / SYS / Classe / Rétro-éclairage / ACPI_VIDEO0 / Luminosité (Ubuntu)

J'essaie de changer la luminosité en écrasant la valeur de ce fichier:

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

Cela ne fonctionne pas même lorsque vous utilisez sudo. Cependant, si je passe au super-utilisateur avec Su, cela fonctionne. Pourquoi donc?

16
Kei Nivky

L'erreur se produit car le sudo élève des autorisations pour la commande (Sudo echo 5) Mais pas la redirection pour écrire le fichier (> /sys/class/backlight/acpi_video0/brightness). La coque Bash a besoin de la permission d'écrire, c'est pourquoi elle échoue avec sudo mais fonctionne comme une racine.

Vous pouvez contourner cela en exécutant la commande tee en tant que root pour écrire dans le fichier:

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

Notez que cela échoue également à "5" à votre terminal. C'est un effet secondaire normal de la commande tee.

17
mguymon

Comme écrit dans le wiki Arch (- link ), par défaut, seul root peut modifier la luminosité par cette méthode. Pour permettre aux utilisateurs du groupe video de modifier la luminosité, une règle udev telle que les éléments suivants peuvent être utilisés (remplacer le <vendor> avec votre identifiant de 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 groupe video.

usermod -aG video <user>

Après cela, cela devrait fonctionner:

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

Si vous n'avez pas envie de faire écho, cela fonctionne également:

Sudo sh -c 'echo 5 > /sys/class/backlight/acpi_video0/brightness'
2
raphael

Je me suis battu avec ce problème sur mon Vaio VPCEG pendant une période de temps. Après avoir tout mentionné dans chaque forum, j'ai trouvé quelque chose d'intéressant:

Après avoir changé le paramètre de démarrage acpi_osi=Linux acpi_backlight=vendor et essayer de changer manuellement /sys/class/backlight/[vendor - in my case intel_backlight]/brightness, J'ai réalisé que cela a permis de changer l'autorisation de ce fichier de la racine à mon utilisateur et de redémarrer le service ACPID, cela me permettrait d'utiliser des touches de luminosité sans défaut.

0
user273880