Wrapper per Variabili d’ambiente

ExportModificando delle variabili d’ambiente specifiche, prima di lanciare un programma, è possibile modificare il comportamento dello stesso (per esempio, per cambiargli la lingua dell’interfaccia), secondo le nostre necessità.

Per modificare (o creare) le variabili d’ambiente, bisogna aprire un terminale e digitare:
export VARIABILE=valore
In seguito si lancia il programma, sempre da quello stesso terminale, perché purtroppo, al di fuori del terminale da cui è stato lanciato export, la variabile d’ambiente non è leggibile. Con questo metodo, ad esempio, non è possibile creare un’icona di avvio applicazione (sotto Gnome) che esegua il programma con la variabile d’ambiente voluta.

Per rimediare, seguiamo l’ottimo consiglio di Federico di Gregorio: è necessario creare uno wrapper, cioè uno script che prenda in input la variabile, il valore da assegnargli e il programma da lanciare.

Apriamo un terminale e diventiamo root con su (o sudo -s se utilizzate Ubuntu); poi digitiamo:

cd /usr/local
mkdir bin
nano bin/export-wrapper

Si aprirà l’editor di testo nano (se volete usarne altri, come gedit, sostituite, nel comando precedente, nano con gedit); dentro il file così aperto incolliamo:

#!/bin/sh
until [ -z "$2" ] # Finché ci sono 2 parametri...
do
export $1
shift
done
exec $@

(se usate nano, potrebbe esservi utile la lettura del breve articolo “Copia e incolla su terminale”). Salviamo e usciamo dall’editor. Rendiamo lo script eseguibile:

chmod a+x bin/export-wrapper

Per lanciare programma, imponendo a VARIABILE il valore desiderato, basterà dare il seguente comando:

/usr/local/bin/export-wrapper "VARIABILE=valore" programma

(occhio, il comando precedente sta su una sola riga :wink: )

È possibile anche passare più variabili da esportare; l’importante è che il comando per lanciare il programma stia alla fine:

/usr/local/bin/export-wrapper "VARIABILE1=valore1" "VARIABILE2=valore2" "VARIABILE_n=valore_n" programma

Per esempio, è possibile aprire Firefox sia con Pango disattivato che in lingua inglese:

Firefox in Inglese su Desktop in italiano e Pango disattivato
L’interfaccia di Firefox è in Inglese rispetto al resto dell’ambiente desktop (confrontare con i menu di Gnome); inoltre presenta font migliorati, in seguito alla disattivazione di Pango. Questo è stato ottenuto eseguendo il comando:
usr/local/bin/export-wrapper "MOZ_DISABLE_PANGO=1" "LANG=en" firefox
Per vedere un esempio d’uso, potete leggere l’articolo “Firefox per Linux: migliorare i Font e lo Scroll”.

3 Risposte a “Wrapper per Variabili d’ambiente”

  1. Firefox per Linux: migliorare i Font e lo Scroll Dice:

    [...] lo wrapper seguendo le istruzioni dell’articolo “Wrapper per Variabili d’ambiente”. Fatto ciò, possiamo lanciare Firefox “semplicemente” col [...]

  2. notoriousxl Dice:

    Aggiornamento: ho modificato lo script per fargli accettare più di due parametri: adesso è possibile lanciare programmi esportando allo stesso tempo più variabili d’ambiente.

  3. Eseguire un programma in un’altra lingua Dice:

    [...] creare lo wrapper, seguite le istruzioni riportate nell’articolo “Wrapper per Variabili d’ambiente”; dopo aver salvato e reso eseguibile lo script, il comando da usare per lanciare, ad esempio, [...]

Lascia una Risposta