La nostra distribuzione Debian ha un sistema molto efficiente per la gestione "automatica" di applicazioni dello stesso tipo: debian-alternatives
.
Cerchiamo per prima cosa di capire di cosa stiamo parlando: diciamo che sulla nostra distro abbiamo installato i browser Chrome, Iceweasel e Opera, e che una qualsiasi applicazione (l'esempio classico è uno script) debba aprire il browser, quale dei tre sarà scelto? Oppure (caso pratico grazie al quale ho deciso poi di scrivere questo articolo) in caso di più versioni del compilatore Java installate, quale sarà quella usata di default? Ovviamente, in ogni caso basta far richiamare il giusto comando e non ci saranno mai dubbi, ma la nostra Debian è capace di invocare, ad esempio, nel primo caso il comando generico x-www-browser
, e nel secondo il comando javac
.
Il loro "significato", ovvero il comando di riferimento, possiamo gestirlo tramite il comando debian-alternatives
: in parole povere, il sistema usa questi comandi generici che noi utenti possiamo far riferire ad uno specifico programma installato.
Come usarlo? Digitando, come root, update-alternatives
, seguito da una delle seguenti opzioni:
--display
: mostra le impostazioni attuali;--list
: mostra le alternative;--config
: configura un’alternativa;--auto
: reimposta lo stato automatico per un’alternativa, viene cioè scelta quella a priorità maggiore;--install
: una nuova alternativa entra a far parte di un gruppo, se questo esiste. Se il gruppo non esiste, lo crea;--remove
: rimuove un’alternativa all’interno di un gruppo, con tutti i suoi slave, cioè link subordinati a quello principale per l'alternativa;--remove-all
: rimuove un intero gruppo di alternative.Ad esempio, il comando
sudo update-alternatives --list x-ww-browser
Restituirà la lista delle alternative disponibili per il browser, ma più interessante è l'opzione display, che restituisce anche la priorità assegnata a ciascuno, in base alla quale avviene la scelta automatica (nel caso in cui non sia stata presa una decisione dall'utente ovviamente).
Ovviamente per configurare un'alternativa si usa:
sudo update-alternatives --config x-www-browser
Fermo restando che il sottoscritto sta usando il browser come esempio, ma le opzioni valgono per tutti i comandi generici disponibili nel sistema.
Ovviamente le opzioni remove e remove-all servono a rimuovere una o un intero gruppo di alternative.
Attenzione perchè se si disinstalla un programma incluso in un gruppo di alternative, queste potrebbero essere riconfigurate automaticamente.
Esistono anche dei tool di configurazione grafica per debian-alternatives, ma sono essenzialmente per Gnome e KDE, quindi il sottoscritto usando Xfce si è risparmiato la loro installazione.
Alla prossima..