GNU/Linux >> Tutoriels Linux >  >> Linux

Impossible d'écrire dans le fichier /sys/class/backlight/acpi_video0/brightness (ubuntu)

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'

Linux
  1. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  2. Modèle Regex pour modifier le fichier /etc/sudoers

  3. Utilisez un dépôt git sur /var/www/html/

  4. unix:///var/run/supervisor.sock aucun fichier de ce type

  5. Comment puis-je chown un fichier à un subuid sans sudo

Comprendre les fichiers /proc/mounts, /etc/mtab et /proc/partitions

Pas de /mnt/hgfs dans l'invité Ubuntu sous VMWare Fusion

Fichier dans Ubuntu équivalent au fichier /etc/inittab dans RedHat

echo ou print /dev/stdin /dev/stdout /dev/stderr

Les sites Web doivent-ils vivre dans /var/ ou /usr/ selon l'utilisation recommandée ?

Comment puis-je utiliser sudo pour vérifier si un fichier existe ?