Alternatives

Debian-swirl.png Versioni Compatibili

ERRORE: valore non valido ( Debian Sarge 3.1
Debian Etch 4.0
Debian Lenny 5.0
Debian Squeeze
Debian Sid )! Vedi qui.

Introduzione

Le alternative sono un sistema di link simbolici che permettono di gestire comodamente i programmi di default per ogni categoria di applicazioni (browser, editor, ecc ...).

L'idea che è alla base di questo sistema è di avere un database che raccoglie le possibili alternative ad una applicazione (per esempio, x-www-browser è una alternativa che può essere collegata al browser proferito).

Struttura del sistema

Elenco Alternatives

Nome Descrizione
editor
fakeroot
firefox-javaplugin.so
ftp
infobrowser
java, javac, ... impostazioni circa il path degli eseguibili Java
vi Permette di scegliere l'alternativa tra vi o vim
view
vim
www-browser Il browser di default in modalità testuale.
x-cursor-theme Il tema dei cursori di default.
x-session-manager Il session manager di default.
x-terminal-emulator L'emulatore di terminale predefinito da usare in X
x-window-manager Il window manager di default.
x-www-browser Il browser di default in modalità grafica.

Modifica Impostazioni

Ottenere informazioni

È possibile ottenere le informazioni relative alle varie alternative disponibili per una voce tramite il comando

# update-alternatives --display <alternativa>

L'output del comando sarà simile a questo:

# update-alternatives --display x-www-browser
x-www-browser - status is auto.
 link currently points to /usr/bin/konqueror
/usr/bin/konqueror - priority 100
 slave x-www-browser.1.gz: /usr/share/man/man1/konqueror.1.gz
/usr/bin/firefox - priority 70
 slave x-www-browser.1.gz: /usr/share/man/man1/firefox.1.gz
/usr/bin/mozilla - priority 80
 slave x-www-browser.1.gz: /usr/share/man/man1/mozilla.1.gz
Current `best' version is /usr/bin/konqueror.

Verranno mostrati, in ordine di priorità, le varia alternative, accompagnate dalla manpage.

Cambiare l'associazione

Cambiare l'associazione, tra quelle disponibili, è semplice:

# update-alternatives --config x-www-browser

There are 3 alternatives which provide `x-www-browser'.

  Selection    Alternative
-----------------------------------------------
 +        1    /usr/bin/konqueror
*         2    /usr/bin/firefox
          3    /usr/bin/mozilla

Press enter to keep the default[*], or type selection number:

a questo punto sarà sufficiente inserire il numero della alternativa che si vuole utilizzare.

A fianco delle varie scelte sono presenti due caratteri: + indica che quel programma ha la priorità maggiore (quindi, secondo il sistema, è l'associazione più appropriata); *, invece, indica l'applicazione attualmente associata all'alternativa.


Nel caso siano necessarie delle modifiche massive (come, ad esempio, nel caso in cui si voglia utilizzare il java ufficiale Sun) si può procedere alla riconfigurazione di tutte le alternatives con il comando:

# update-alternatives --all

che si occuperà di richiamare update-alternatives --config su tutte le alternatives registrate. Per quelle relative a java, si potrà effettuare la modifica, mentre per le altre sarà sufficiente premere invio per mantenere le impostazioni attuali senza modificarle.

Aggiunta

Per aggiungere alla lista delle alternative (o crearne una nuova) è possibile usare l'opzione --install nel seguente modo:

# update-alternatives [options] --install link name path priority [--slave link name path]

con i seguenti parametri:

link
il nome del link che verrà inserito nella directory di alternative (/etc/alternative/)
name
il nome dell'alternativa (è normale farlo coincidere con il nome del link)
path
il path dell'eseguibile
priority
la priorità da assegnare a quella alternativa
--slave
si tratta di una opzione facoltativa, che permette l'aggiunta di una alternative ad una già presente; per questa opzione è necessario indicare gli stessi argomenti usati per --master


Ad esempio, se vogliamo aggiungere Iceweasel come browser, basterà dare il seguente comando:

# update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/iceweasel 70

Rimozione

Per la rimozione esistono due opzioni:

--remove <name> <path>
provoca la rimozione di una sola alternativa (associata a <path>) dall'elenco di quelle relativa a <name>
--remove-all <name>
rimuove l'intera alternativa <name>

Riferimenti

  • man update-alternatives