Home > Guide > Script regolazione luminosità LCD per Ubuntu Lucid

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 + .

Impostazione delle scorciatoie da tastiera per lo script "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.

Categorie:Guide Tag:, ,
  1. 13/06/2010 alle 21:14

    Grazie della dritta
    Ho preso oggi un Sony Vaio VPCEA1S1E e chiaramente come prima cosa ci ho installato Linux, per il momento Ubuntu tramite Wubi, a breve Gentoo (domani devo già essere operativo a lavoro all’uni)

    L’unica cosa che per il momento non funzionava era appunto questa della luminosità.
    Ho messo lo scriptino in /usr/local e i vari chmod in /etc/rc.local
    M’hai risolto tutto in cinque minuti, grazie🙂

  2. Endy
    12/07/2010 alle 12:30

    Ciao Pisu,
    sono tra gli sfortunati con il problema della luminosità che non si riesce a regolare.
    Ho provato a seguire le tue istruzioni ma c’è qualche problema, perchè quando provo ad eseguire manualmente lo script digitando da terminale “brightness -” ricevo l’errore “brightness: command not found”.
    L’unica variazione che ho fatto è quella di mettere lo script nella home anzichè dentro /opt; i permessi li ho settati; se nella home digito ls vedo lo script brightness (anche con Nautilus vedo che il file è lì, ed il contenuto è giusto).
    Puoi aiutarmi? Grazie!

  3. Endy
    12/07/2010 alle 12:37

    Come non detto, risolto. Da vero neofita di Linux cercavo di eseguire lo script dalla mia home senza specificare che lo script si trova proprio nella home.
    Beh in questo DOS è un po’ più amichevole: se non specifichi altrimenti cerca il comando che lanci nella cartella in cui ti trovi.
    Ad ogni modo, grazie!!!

  4. Michele
    08/10/2010 alle 14:53

    Mi hai risolto un problemone in meno di 5 minuti… ottima guida!🙂

  5. Andrea
    03/02/2011 alle 10:20

    Waaaaaa che figata… funziona! Era da ormai un anno che ubuntu non mi regolava più la luminosità!

  6. Bollins
    01/03/2011 alle 17:21

    Grande Pisu! il tuo post è stato utilissimo anche per me.
    Io ho una Slackware 12.1 e un Lenovo SL500. Ho modificato lo script perchè sulla mia distribuzione / kernel l’ACPI genera errori se non vai a “step” di 10…:

    #!/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=$brightness+10
    fi
    fi

    if [ $1 = “-” ]; then
    if [ $curbrightness -gt 0 ]; then
    let brightness=$brightness-10
    fi
    fi
    fi

    echo $brightness > /sys/class/backlight/acpi_video0/brightness

  7. Alessandro Noferi
    03/10/2011 alle 20:42

    Ragazzi perchè a me non riesce? faccio tutto, vado a dare il comando /opt/brightness – e mi dice comando non trovato, ho provato a lanciarlo da qualsiasi parte (/opt, direttamente dalla cartella video0 ovunque non riesco, sapete darmi edlle dritte (sono un nvello di ubuntu) possiedo un acer aspire 5750 i3 con garfica intel HD G3000..grazie

  8. Alessandro Noferi
    03/10/2011 alle 20:57

    io ho Ubuntu alla versione 11.04. grazie dell’informazione aspetterò l’aggiornamento e vedrò cosa succede.

  9. eriol
    27/10/2011 alle 17:00

    scusate l’ignoranza ma nel ultimo passaggio cè scritto
    A questo punto, è possibile richiamare lo script “/opt/brightness.sh” passando come parametro “-” per diminuire la luminosità, “+” per aumentarla:
    /opt/brightness –
    /opt/brightness +

    esattamente come si fà questa parte!

  10. eriol
    27/10/2011 alle 17:11

    ok avevo dimenticato la parte .sh😀
    funziona grazie

  11. Daag
    28/11/2011 alle 22:30

    io ho eseguito tutta la procedure correttamente, lanciando il comando e passando i parametri da terminale non mi ritorna errori però non fà nulla:-/ …collegando la scorciatoia ai tasti e premendoli appare la notifica in alto a destra con la barra della luminosità che aumenta o diminuisce ma lo schermo rimane sempre con la stessa luminosità (al massimo) sbaglio qualcosa?

    uso ubuntu 10.10 notebook

    • Daag
      28/11/2011 alle 22:42

      scusate il doppio post, ho risolto modificando con:

      sudo gedit /etc/default/grub

      cambiato la riga:

      GRUB_CMDLINE_LINUX=””

      in:

      GRUB_CMDLINE_LINUX=”acpi_osi=Linux”

      lanciato il comando:

      sudo update-grub

      e riavviato, ora funziona perfettamente😉

  1. 14/06/2010 alle 21:51
  2. 09/10/2010 alle 20:57

Lascia un commento

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: