GNU/Linux >> Linux Esercitazione >  >> Linux

Impossibile scrivere nel file /sys/class/backlight/acpi_video0/brightness (ubuntu)

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'

Linux
  1. In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

  2. Schema Regex per modificare il file /etc/sudoers

  3. Usa un repository git su /var/www/html/

  4. montare dev, proc, sys in un ambiente chroot?

  5. Nessun /mnt/hgfs nel guest Ubuntu sotto VMWare Fusion

Comprendere i file /proc/mounts, /etc/mtab e /proc/partitions

Quando dovrei usare /dev/shm/ e quando dovrei usare /tmp/?

unix:///var/run/supervisor.sock nessun file di questo tipo

File in Ubuntu equivalente al file /etc/inittab in RedHat

I siti web dovrebbero vivere in /var/ o /usr/ in base all'utilizzo consigliato?

Come posso usare sudo per verificare se esiste un file?