Script regolazione luminosità LCD per Ubuntu Lucid
In Ubuntu 10.04 Lucid Lynx, vari utenti hanno segnalato l’impossibilità di gestire la luminosità dello schermo LCD dei notebook, nemmeno con il tasti funzione del portatile. In Ubuntu Karmic funzionava correttamente, sia in modo automatico, abbassando la luminosità durante il funzionamento a batteria, sia manualmente con i tasti funzione. Il problema sembra avvenire se si utilizzano driver proprietari Nvidia o Ati (fglrx).
Non riuscendo a ripristinare il normale funzionamento, ho realizzato uno script bash per diminuire o aumentare la luminosità, che ho quindi associato ai tasti funzione (nel mio caso FN+F5 e FN+F6). Nel mio caso si tratta di un notebook Sony Vaio VGN-FW31E, con scheda grafica Ati Radeon, quindi driver fglrx.
Questo lo script, che ho salvato in /opt/brightness.sh (potete quindi crearlo con il comando sudo gedit /opt/brightness.sh )
#!/bin/bash
maxbrightness=$(cat /sys/class/backlight/acpi_video0/max_brightness)
curbrightness=$(cat /sys/class/backlight/acpi_video0/brightness)
let brightness=$curbrightness
if [ $# -gt 0 ]; then
if [ $1 = "+" ]; then
if [ $curbrightness -lt $maxbrightness ]; then
let $((brightness++));
fi
fi
if [ $1 = "-" ]; then
if [ $curbrightness -gt 0 ]; then
let $((brightness--));
fi
fi
fi
echo $brightness > /sys/class/backlight/acpi_video0/brightness
Attenzione: il percorso esatto “/sys/class/backlight/acpi_video0″ può cambiare in base alla marca e al modello del notebook. Verificare da terminale con il comando: ls /sys/class/backlight/
Ho dato quindi i permessi di esecuzione allo script:
sudo chmod a+x /opt/brightness.sh
Inoltre, per evitare di dover ogni volta esguire lo script come root, ho abilitato la scrittura sul file “brightness” per il gruppo “admin” (che comprende anche il mio utente):
sudo chgrp admin /sys/class/backlight/acpi_video0/brightness sudo chmod g+w /sys/class/backlight/acpi_video0/brightness
Nota: ad ogni riavvio questo file di sistema viene azzerato, quindi è utile schedulare ad ogni avvio, questi comandi per dare l’accesso in scrittura al proprio gruppo. Io l’ho fatto inserendo questi comandi in uno script in init.d:
echo chgrp admin /sys/class/backlight/acpi_video0/brightness | sudo tee /etc/init.d/brightness_access echo chmod g+w /sys/class/backlight/acpi_video0/brightness | sudo tee -a /etc/init.d/brightness_access sudo chmod +x /etc/init.d/brightness_access sudo update-rc.d brightness_access defaults
A questo punto, è possibile richiamare lo script “/opt/brightness.sh” passando come parametro “-” per diminuire la luminosità, “+” per aumentarla:
/opt/brightness - /opt/brightness +
Per comodità si può infine associare questi comandi a dei tasti di scelta rapida, magari proprio i tasti funzione originariamente previsti dal notebook. Per fare questo attivare Preferenze > Scorciatoie da tastiera, dal menu Gnome, premere Aggiungi, inserire un nome, es. “Luminosità Riduci” e il comando /opt/brightness.sh – (vedi screenshot); ripetere la stessa operazione per la scorciatoia “Luminosità Aumenta” associata al comando /opt/brightness.sh + .
Facendo click sulla voce “Disabilitata” nella seconda colonna, in corrispondenza delle nuove scorciatoie, premere le combinazione di tasti desiderate, nel mio caso FN+F5 e FN+F6, che vengono viste proprio come “XF86MonBrightnessDown” e “XF86MonBrightnessUp”.
A questo punto, se tutto è andato bene, sarà possibile diminuire e aumentare la luminosità dello schermo con i tasti selezionati.





