venerdì 10 settembre 2010

Openbox: Notifiche-osd del Volume e la Luminosità

Salve a tutti, oggi velocemente vedremo come avere le notifiche del volume e della luminosità con notify-osd quando usiamo la combinazione di tasti del nostro netbook o notebook.

Installazione

Su archlinux

yaourt -S notify-osd
yaourt -S notify-osd-icons

Su Debian

(grazie Doc ;)
Si devono installare, se non già presenti:
  • libnotify-bin
  • notify-osd-icons (disponibili nel repo di Hadret)
  • notify-osd (se si desidera, si può anche upgradare alla versione di Hadret)

Scripts

Sul sito spagnolo Archlinux XZ ho trovato questi due script semplicissimi e validi per qualunque distro. (quello del volume è stato successivamente modificato da Doc)
Dovete scaricarli nella home: volume e brightness
Gli rendiamo eseguibili con questo comando
chmod +x brightness
chmod +x volume
Ora, con i seguenti comandi creeremo una cartella chiamata .bin nella home e metteremo il file lì dentro. Eseguite in ordine:
mkdir .bin
mv volume ~/.bin/
mv brightness ~/.bin/
E ora dovremo assegnare alle combinazione di tasti dei volumi i seguenti comandi:
~/.bin/volume 3-       #per abbassare il volume
~/.bin/volume 3+       #per alzare il volume
~/.bin/volume toggle   #per metterlo in mute.
~/.bin/brightness      #per abbassare e alzare la luminosità *(per questo guardare la nota più in basso)
Per facilitare l'operazione useremo obkey.
yaourt -S obkey
Basta che aprite il programma, scegliete "insert sibling keybin" e nella nuova voce editate la colonna key. È sufficente cliccarci col muose e dovrete poi premere la combinazioni di tasti. Nel mio caso FN+F3 e così via.. dopodiché aggiungete un'azione (in questo caso Execute) e nella casella comando mettete i comandi citati prima. (guardare l'immagine per capire meglio)


È fatta!

*Nota bene per lo script della luminosità.

Questo script non fa altro che mostrare lo stato attuale della luminosità nelle notifiche. Dato che la combinazione di tasti in realtà funziona già. Quindi il meglio da fare è tararlo.

Taratura:

Per tararlo dovrete alzare tutta la luminosità e dare questo comando dal terminale:
Se avete un eeepc:
cat /sys/class/backlight/eeepc/actual_brightness
Se avete un notebook:
cat /sys/class/backlight/acpi_video0/actual_brightness
-------
Se vi dice che il file non esiste allora dovrete trovare il file actual_brightness dentro alla cartella sys/class/backlight/ [ecc.. ecc]. dopodiché il comando da dare sarà:
cat /indirizzo/del/file/nel/vostro-pc/actual_brightness
-------
Dovrebbe restituirvi un numero. Quel numero è il massimo della vostra luminosità ed andrà messo nello script. PS: se avete un eeepc forse non dovrete modificare niente.

Una volta che conoscete l'indirizzo del file "actual_brightness" e il numero che restituisce con cat modificate lo script:
gedit ~/.bin/brightness
eccolo, le parte da modificare sono evidenziate:
#!/bin/sh
brightness=`cat /sys/class/backlight/eeepc/actual_brightness`
brillo=`expr $brightness "*" 100 "/" 15`
notify-send " " -i notification-display-brightness-low -h int:value:$brillo -h string:x-canonical-private-synchronous:brightness &
Salvate e andate in pace. :)

PS: Se avete altri indirizzi per il file "actual_brightness" o cat vi restituisce altri numeri, non dimenticate di lasciarmi le info - modello pc, marca, ecc - nei commenti così aggiorno la guida ;)

28 commenti:

  1. Ciao grazie per il tutorial! Ho eseguito i passi per configurare lo script "volume" e installato i due pacchetti di notify-osd. Ho aggiunto la scorciatoia da tastiera nel file di configurazione di xbindkeys (.xbindkeysrc), il volume lo regolo correttamente però non mi appare la notifica, dimentico qualcosa? Grazie, Marco

    RispondiElimina
  2. @toketin
    Ciao, non ho mai usato xbindkeys, però se riesci ad assegnare questo commando ~/.bin/volume 3- alla combinazione di tasti apposita, dovrebbe andare. A meno che tu non gli abbia dato i permessi al file.

    PS: stai usando Arch?
    se dai ~/.bin/volume 3- semplicemente dal terminale funziona?

    RispondiElimina
  3. lol ho capito perchè subito non è andato, dovevo riavviare la sessione XD Grazie ancora!

    RispondiElimina
  4. Grande Santiago, openbox mi piace sempre più!

    @toketin: obkey lo hai mai provato? Anch'io prima di scoprirlo usavo xbindkeys...ma ora non tornerei mai più indietro! Molto più intuitivo obkey!

    RispondiElimina
  5. @Milozzy
    si l'ho provato ma è come configurare a mano rc.xml, semplificato ovviamente, però con xbindkeys almeno si attivando i tasti multimediali altrimenti avrei dovuto usare, come ho fatto tempo fa, Xmodmap solo che una volta scoperto xbindkeys nulla regge più :D

    RispondiElimina
  6. @toketin
    Perché mai? Cosa intendi con "tasti multimediali"? Quelli del volume?
    A me, su debian con OB, quelli del volume vanno perfettamente ed ho utilizzato obkey. Per i dettagli rimando alla mia guida per Debian.

    RispondiElimina
  7. @ Santiago
    Niente! Sul portatilone, non riesco ad ottenere le notifiche a video per il volume.
    I tastini però funzionano con lo script, ma funzionavano anche prima, con la voce in obkey "amixer -c 0 sset Master 3+ unmute cap" e simili.

    RispondiElimina
  8. @Doc
    Se può esserti d'aiuto su CrunchBang ci sono, magari puoi dare un'occhiata alla live e vedere come sono configurati...

    RispondiElimina
  9. @AlfiereNero
    @ Alf
    Purtroppo, mi riferisco al portatilone. Ancora non le ho messe sul piccino, ma presumibilmente andranno anche là.
    Per la verità, sto lavorando su LXde,ma non dovrebbe cambiare molto...

    RispondiElimina
  10. Doc se invece provi a dare il commando dentro allo script su un terminale?
    ad esempio:
    notify-send " " -i notification-audio-volume-muted -h int:value:0 -h string:x-canonical-private-synchronous:volume

    RispondiElimina
  11. @Santiago
    Così compare la notifica del mute. :O

    RispondiElimina
  12. Ok, allora i commandi dentro allo script funzionano.
    Domanda: hai riavviato la sessione dopo aver configurato con obkey?

    RispondiElimina
  13. @Santiago
    Ovvio!
    Anche più di una volta!

    Ora sono sull'eeepc e sto configurando il volume.

    RispondiElimina
  14. Se gli hai dati i permessi e dopo aver configurato obkey hai riavviato non vedo perché non dovrebbe andare. Sto pensando, a questo punto, che forse lo script serva solo per arch?
    Non dovrebbe, lo sto guardando adesso con gedit e non è niente dell'altro mondo.
    Credo usi Alsamixer. Tu hai pulseaudio per caso?

    RispondiElimina
  15. @Santiago
    Risolto sul 1000he: non avevo mai installato "libnotify-bin" e non me ne ero accorto! :D

    Riassumendo: luminosità funziona con osd benone; circa il volume, non funzionano gli OSD.
    Comunque, la situazione si sta schiarendo. Ecco l'errore se lancio "volume" da terminale (copio dal portatilone, ma è lo stesso sul 1000he):
    domenico@domenico-A6Km:~/bin$ volume
    Specify what you want to set...
    /home/domenico/bin/volume: 14: [[: not found
    /home/domenico/bin/volume: 14: [[: not found
    expr: errore di sintassi
    /home/domenico/bin/volume: 36: [[: not found
    /home/domenico/bin/volume: 36: [[: not found
    /home/domenico/bin/volume: 36: [[: not found
    /home/domenico/bin/volume: 36: [[: not found
    /home/domenico/bin/volume: 36: [[: not found

    Aggiungo che i comandi singoli interni confermano l'errore su expr, ma danno responsi diversi circa le impostazioni audio: il portatilone va su "front", l'altro su "mono".

    RispondiElimina
  16. Capito, comunque, a quanto pare allora Debian gestisce il volume in modo diverso.
    Per la luminosità sull'Eeepc sicuramente bisogna tararlo

    RispondiElimina
  17. @Doc
    XD abbiamo scritto allo stesso tempo.
    un problema simile c'era sul sito del creatore dello script! gli ha detto che in effetti il suo pc gestisce alsamixer in modo diverso.

    PS: mandami in privato il risultato di questo commando "~/.bin/volume 3-"
    così glielo invio al creatore dello script.

    RispondiElimina
  18. @ Sant
    Ti ricordo che devi scrivere che su debian ci vogliono:
    1) notify-osd (meglio se da Hadret)
    2) notify-osd-icons (per forza da Hadret)
    3) libnotify-bin

    RispondiElimina
  19. Grazie mille la guida mi è stata utilissima :D

    RispondiElimina
  20. hola installato gli script sul 901go la luminosità funziona il volume, compaiono le notifiche legate agli eee-scripts (dal cui conf ho però disattivato i comandi di gestione appunto per far fare tutto a obkey) ma non hanno nessun effetto se però eseguo lo script da terminale funziona sia la notifica che la modifica reale
    sono su arch con lxde avete idee?

    RispondiElimina
  21. Phoenix forse è un problema di permessi! Quando esegui lo script da terminale sei root?

    prova a dare permessi di esecuzione allo script e dici :)

    RispondiElimina
  22. i permessi si danno con chmod +x giusto??
    se si l'ho già fatto

    RispondiElimina
  23. @Phoenix Fire
    Impossibile! A me gli script funzionano perfettamente sia su OB sia su Lxde.
    Mettili in ~/bin, rendili eseguibili e metti il comando in obkey: se, ad esempio, lo script si chiama "pippo", basta che metti in obkey "pippo".

    Infine, riavvia X e... dovrebbero andare.

    RispondiElimina
  24. @ Sant
    Ce lo chiedevamo con Milozzy, ma... su Arch Linux usate Alsa o Pulseaudio?
    Questo script non va con pulseaudio e stiamo studiando una soluzione alternativa. Se risolviamo, non sarebbe male aggiornare la guida.

    RispondiElimina
  25. Era una pirlata!
    Con pulse, probabilmente, al contrario di alsa va necessariamente specificato il dispositivo d'uscito quindi
    amixer set Master 2+ non funziona ma
    amixer set -c 0 Master 2+ funziona!

    Dunque basta modificare la seconda riga dello script in modo che
    amixer sset Master $1 diventi
    amixer sset -c 0 Master $1

    Tutto lì! Ovviamente al posto di "0" andrà messo il numero corrispondente ad altro dispositivo se si vuole controllare una schedia audio esterna ad esempio.

    Santiago vedi tu se è il caso di fare un appunto in guida! ;)

    RispondiElimina
  26. Grandissimi!! su Arch uso Alsa, è molto più consigliato di pulseaudio perché quest'ultimo genera qualche magagna. Appena ho tempo ci sentiamo in privato e facciamo un'appunto nella guida ;)

    RispondiElimina
  27. Sant, potresti controllare bene questa guida?

    Per le notifiche a video del volume ora ricorro al SOLO volumeicon, disponibile anche su Aur. Questo programma è in grado di gestire anche i tastini.

    Al contrario, per le notifiche della luminosità, almeno su Debian (da wheezy?) non c'è più bisogno di niente. Controlla anche su Arch.

    RispondiElimina

Chiunque può commentare. Anzi, siete altamente incoraggiati a commentare

Se avete una miglioria o qualche consiglio che pensiate migliori la guida sarete i benvenuti. Vi sarà riconosciuto onore e verrete citati in modo doveroso. Non esitate a comunicarci dubbi e/o critiche. Le migliori guide sono quelle che si fanno insieme, ed è questo lo spirito che vogliamo mantenere.

NOTA BENE: Se avete critiche riguardo alla gestione di questo blog potete inviarle al nostro indirizzo: netbookteam [at] gmail [dot] com. Chiediamo quindi di farle in modo privato, per non generare confusione nelle discussioni tecniche che si trovano qui nei commenti. Grazie.