[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico] [volume]


Capitolo 608.   nanoLinux: configurazione locale

La configurazione locale di nanoLinux, nella sua edizione standard, prevede inizialmente una variabile di ambiente LANG con il valore en_US.UTF-8, però con una mappa per la tastiera italiana e il fuso orario italiano; naturalmente, delle edizioni derivate di questo lavoro possono essere pubblicate con una configurazione iniziale differente.

Una caratteristica speciale di nanoLinux per quanto riguarda la configurazione locale consiste nel separare il valore della variabile LANG per l'uso da console, rispetto a quello in modo grafico. Ciò consente, per esempio, di utilizzare proficuamente la console, con una configurazione che prevede l'uso di una lingua con alfabeto latino, mentre in modalità grafica si può lavorare con alfabeti esotici, sia fonetici, sia ideografici.

608.1   Codifica per la console

Inizialmente, la console funziona secondo la codifica UTF-8, ma è possibile passare alla codifica tradizionale di 8 bit per carattere con il comando seguente:

nanorc unicode stop[Invio]

Oppure:

u[Invio]

Nello stesso modo, per ritornare alla codifica normale, si usa il comando seguente:

nanorc unicode start[Invio]

Oppure:

U[Invio]

Quando il comando viene impartito da un utente comune, il cambiamento può risultare incompleto: per lo schermo è limitato alle sole console aperte dallo stesso utente, mentre il funzionamento della tastiera riguarda tutte le console. Quando è l'utente root a dare il comando, l'effetto riguarda tutte le console attive, senza limitazioni.

Riquadro 608.1. Gestione del passaggio a UTF-8.

Durante la fase di avvio di nanoLinux, attraverso lo script /etc/init.d/rc.nano, viene impostata la console per funzionare secondo la modalità UTF-8; tuttavia questa azione è quasi inutile, perché ciò riguarda solo il terminale attivo, che inizialmente è /dev/tty1. Per fare in modo che le varie console virtuali inizino a funzionare in modalità UTF-8, si è reso necessario intervenire nel file /etc/profile, pertanto, a ogni accesso (login), tutte le console attive sono coinvolte in qualche modo, anche se l'intenzione è quella di lavorare a soli 8 bit.

Questa spiegazione serve a fare comprendere che si può essere costretti a usare spesso i comandi nanorc unicode start e nanorc unicode stop.

Si osservi anche il fatto che in modalità UTF-8, non è possibile generare dei caratteri attraverso tasti morti o sequenze di composizione, perché allo stato attuale il kernel è in grado di generare solo codici a 8 bit. Pertanto, l'utilizzo dei comandi nanorc unicode start e nanorc unicode stop serve anche a garantire di disabilitare completamente tale metodo di inserimento quando si usa la modalità UTF-8, oltre che a ricaricare la mappa della tastiera predefinita, come contenuto nel file /etc/console/boottime.kmap.gz.

In generale, se possibile, conviene evitare di ridurre la codifica agli 8 bit tradizionali, perché questi cambiamenti producono effetti strani nell'aspetto dei programmi che invece funzionano correttamente con la codifica standard. A ogni modo, se si ha la necessità di usare una codifica a 8 bit, può essere conveniente impostare la console con la lingua inglese, per esempio scegliendo il valore en_US per la variabile LANG; infatti, in questo modo non vengono visualizzate lettere accentate nei messaggi dei programmi.

608.2   Conversione automatica

Per evitare di dover far funzionare la console a 8 bit, è possibile usare il programma luit. Per facilitarne l'uso, è disponibile lo script latin1. L'esempio seguente avvia il programma mc, in modo da passare a lui codici a soli 8 bit, mentre la configurazione locale prevede la codifica UTF-8:

latin1 mc -a[Invio]

Per comodità, si può usare lo stesso script u, che, come già descritto, se usato senza argomenti coinvolge le console, mentre così interviene solo sul programma indicato:

u mc -a[Invio]

Si osservi che l'opzione -a di mc, serve per evitare che il programma usi simboli particolari per disegnare i bordi delle sue finestre, che altrimenti verrebbero rappresentati con qualcosa di poco gradevole esteticamente.

Un problema simile a quello appena descritto si crea quando si vogliono visualizzare, attraverso un programma come xterm le pagine di manuale cinesi, mentre la configurazione locale prevede per tale lingua una codifica UTF-8. Infatti, le pagine cinesi sono scritte normalmente con la codifica BIG-5. Per risolvere il problema, si può usare lo script big5:

big5 man cat[Invio]

Naturalmente, la consultazione di tali documenti diviene utile solo attraverso una finestra di terminale del sistema grafico, perché dalla console sarebbe comunque impossibile.

608.3   Configurazione

È possibile modificare la configurazione locale con il comando nanorc locale config, che cambia comportamento se avviato dall'utente root o da un utente comune:

nanorc locale config[Invio]

Figura 608.2. Configurazione della variabile LANG.

.---------Console language selection-----------.
| Please select your language for the console: |
| .------------------------------------------. |
| |   it_IT  default or previous selection   | |
| |   aa_DJ                                  | |
| |   af_ZA                                  | |
| |   br_FR                                  | |
| |   ca_ES                                  | |
| |   da_DK                                  | |
| |   de_AT                                  | |
| |   de_BE                                  | |
| |   de_CH                                  | |
| |   de_DE                                  | |
| |   de_LU                                  | |
| |   en_AU                                  | |
| |   en_BW                                  | |
| |   en_CA                                  | |
| |   en_DK                                  | |
| |   en_GB                                  | |
| `---.(+)-----------------------------------' |
|                                              |
|----------------------------------------------|
|           <  OK  >        <Cancel>           |
`----------------------------------------------'

La prima richiesta a cui si viene sottoposti riguarda la selezione della stringa da assegnare alla variabile LANG, che riguarda direttamente il comportamento della console. Questo valore viene poi salvato nel file /etc/nanoLinux/LANG: se si accede nuovamente al sistema (eventualmente in un'altra console virtuale), la variabile LANG viene impostata in base al contenuto di questo file (ciò avviene attraverso /etc/profile).

Si osservi che a seconda del livello di nanoLinux possono essere disponibili più o meno linguaggi; tuttavia, al massimo sono disponibili quelli che utilizzano i simboli da U+0000 a U+00FF. In pratica, nel caso di nanoLinux II, il linguaggio della console può essere soltanto en_US e non viene nemmeno richiesto di specificarlo.

Figura 608.3. Configurazione dei caratteri usati per la console.

.---------------------Console font encoding selection------------------------.
| Please select your console font encoding;                                  |
| usual values might be "lat1u-16.psf.gz" and "LatArCyrHeb-16.psf.gz":       |
| .------------------------------------------------------------------------. |
| |LatArCyrHeb-16+.psf.gz   previous_value                                 | |
| |alt-8x14.psf.gz          /usr/share/consolefonts/alt-8x14.psf.gz        | |
| |alt-8x16.psf.gz          /usr/share/consolefonts/alt-8x16.psf.gz        | |
| |alt-8x8.psf.gz           /usr/share/consolefonts/alt-8x8.psf.gz         | |
| |altb-8x16.psf.gz         /usr/share/consolefonts/altb-8x16.psf.gz       | |
| |altc-8x16.psf.gz         /usr/share/consolefonts/altc-8x16.psf.gz       | |
| |aply16.psf.gz            /usr/share/consolefonts/aply16.psf.gz          | |
| |arm8.psf.gz              /usr/share/consolefonts/arm8.psf.gz            | |
| |cp850-8x14.psf.gz        /usr/share/consolefonts/cp850-8x14.psf.gz      | |
| |cp850-8x16.psf.gz        /usr/share/consolefonts/cp850-8x16.psf.gz      | |
| |cp850-8x8.psf.gz         /usr/share/consolefonts/cp850-8x8.psf.gz       | |
| |cp857-8x14.psf.gz        /usr/share/consolefonts/cp857-8x14.psf.gz      | |
| |cp857-8x16.psf.gz        /usr/share/consolefonts/cp857-8x16.psf.gz      | |
| `v(+)--------------------------------------------------------------------' |
|                                                                            |
|                                                                            |
|                                                                            |
|----------------------------------------------------------------------------|
|                       <  OK  >            <Cancel>                         |
`----------------------------------------------------------------------------'

Dopo la variabile LANG si passa alla selezione dell'insieme dei caratteri usati per la rappresentazione sullo schermo della console. In generale, può andare bene qui l'uso degli insiemi contenuti nei file lat1u-16.psf.gz e LatArCyrHeb-16.psf.gz, tenendo conto che il secondo, che generalmente è il migliore, potrebbe dare dei problemi quando si tenta di leggere il contenuto di una directory in un file system Tmpfs.

La scelta dell'insieme dei caratteri per lo schermo si ripercuote immediatamente su tutte le console virtuali.

Dal momento che non è possibile usare una codifica differente da UTF-8, a parte la possibilità di passare temporaneamente a una codifica di soli 8 bit, è praticamente inutile utilizzare altre voci.

Figura 608.4. Configurazione della mappa della tastiera per la console.

.----------------------Console keyboard map selection------------------------.
| Please select your console keyboard map:                                   |
| .------------------------------------------------------------------------. |
| |it-xfree              previous_value                                    | |
| |azerty                /usr/share/keymaps/i386/azerty/azerty.kmap.gz     | |
| |be2-latin1            /usr/share/keymaps/i386/azerty/be2-latin1.kmap.gz | |
| |be-latin1             /usr/share/keymaps/i386/azerty/be-latin1.kmap.gz  | |
| |fr                    /usr/share/keymaps/i386/azerty/fr.kmap.gz         | |
| |fr-latin0             /usr/share/keymaps/i386/azerty/fr-latin0.kmap.gz  | |
| |fr-latin1             /usr/share/keymaps/i386/azerty/fr-latin1.kmap.gz  | |
| |fr-latin9             /usr/share/keymaps/i386/azerty/fr-latin9.kmap.gz  | |
| |fr-pc                 /usr/share/keymaps/i386/azerty/fr-pc.kmap.gz      | |
| |fr-x11                /usr/share/keymaps/i386/azerty/fr-x11.kmap.gz     | |
| |mac-usb-be            /usr/share/keymaps/i386/azerty/mac-usb-be.kmap.gz | |
| |mac-usb-fr            /usr/share/keymaps/i386/azerty/mac-usb-fr.kmap.gz | |
| |mac-usb-it            /usr/share/keymaps/i386/azerty/mac-usb-it.kmap.gz | |
| |wangbe                /usr/share/keymaps/i386/azerty/wangbe.kmap.gz     | |
| |ANSI-dvorak           /usr/share/keymaps/i386/dvorak/ANSI-dvorak.kmap.gz| |
| |dvorak-classic        /usr/share/keymaps/i386/dvorak/dvorak-classic.kmap| |
| `.(+)--------------------------------------------------------------------' |
|                                                                            |
|----------------------------------------------------------------------------|
|                       <  OK  >             <Cancel>                        |
`----------------------------------------------------------------------------'

Successivamente viene richiesto di specificare la mappa della tastiera, da usare per la console. Anche questa selezione si ripercuote immediatamente su tutte le console virtuali.

Figura 608.5. nanoLinux si presenta inizialmente con una mappa della tastiera per la console che è stata realizzata appositamente, in modo da essere il più simile possibile a quella usata per la lingua italiana con la grafica di X (si veda eventualmente il capitolo 80). Volendo selezionare espressamente questo tipo di mappa, occorre scegliere la voce it-xfree.

tastiera estesa

Figura 608.6. Configurazione del fuso orario.

.--------------------Time zone selection-----------------------.
| Please select your time zone:                                |
| .----------------------------------------------------------. |
| |   Europe/Rome                previous_value              | |
| |   Africa/Abidjan             Africa/Abidjan              | |
| |   Africa/Accra               Africa/Accra                | |
| |   Africa/Addis_Ababa         Africa/Addis_Ababa          | |
| |   Africa/Algiers             Africa/Algiers              | |
| |   Africa/Asmera              Africa/Asmera               | |
| |   Africa/Bamako              Africa/Bamako               | |
| |   Africa/Bangui              Africa/Bangui               | |
| |   Africa/Banjul              Africa/Banjul               | |
| |   Africa/Bissau              Africa/Bissau               | |
| |   Africa/Blantyre            Africa/Blantyre             | |
| |   Africa/Brazzaville         Africa/Brazzaville          | |
| |   Africa/Bujumbura           Africa/Bujumbura            | |
| |   Africa/Cairo               Africa/Cairo                | |
| |   Africa/Casablanca          Africa/Casablanca           | |
| |   Africa/Ceuta               Africa/Ceuta                | |
| |   Africa/Conakry             Africa/Conakry              | |
| `---v(+)---------------------------------------------------' |
|--------------------------------------------------------------|
|                 <  OK  >         <Cancel>                    |
`--------------------------------------------------------------'

Il fuso orario viene indicato selezionando una città di riferimento.

Figura 608.7. Configurazione della variabile LANG_FOR_X, che si riflette nella configurazione locale del sistema grafico.

.------------X language selection---------------.
| Please select your language for the X         |
| graphical environment.                        |
| Please note that if there will be an          |
| environment variable LANG_FOR_X defined, it   |
| will override this selection.                 |
| .----(+)------------------------------------. |
| |   pa_IN.UTF-8           UTF-8             | |
| |   pl_PL.UTF-8           UTF-8             | |
| |   pt_BR.UTF-8           UTF-8             | |
| |   pt_PT.UTF-8           UTF-8             | |
| |   ro_RO.UTF-8           UTF-8             | |
| |   ru_RU.UTF-8           UTF-8             | |
| |   ru_UA.UTF-8           UTF-8             | |
| |   se_NO.UTF-8           UTF-8             | |
| |   sid_ET.UTF-8          UTF-8             | |
| |   sk_SK.UTF-8           UTF-8             | |
| |   sl_SI.UTF-8           UTF-8             | |
| |   so_ET.UTF-8           UTF-8             | |
| `---.(+)------------------------------------' |
|-----------------------------------------------|
|           <  OK  >       <Cancel>             |
`-----------------------------------------------'

Al termine viene offerto di specificare il valore da assegnare alla variabile di ambiente LANG_FOR_X; vengono proposti solo linguaggi che utilizzano la codifica UTF-8.

Si osservi che gli utenti comuni possono utilizzare il comando nanorc locale config, per definire il contenuto delle variabili LANG e LANG_FOR_X, perché lo script ~/.profile va a leggere il contenuto dei file ~/.LANG e ~/.LANG_FOR_X, nei quali vengono annotate queste informazioni:

nanorc locale config[Invio]

L'utente comune non può cambiare i caratteri usati per la visualizzazione attraverso la console e non può nemmeno cambiare la mappa della tastiera, mentre rimane questa possibilità quando utilizza la grafica.

608.4   Configurazione di mouse e tastiera

La configurazione iniziale della tastiera è prevista secondo le convenzioni della distribuzione GNU/Linux Debian, nel file /etc/console/boottime.kmap.gz. La mappa predefinita di nanoLinux è diversa da quella standard per la lingua italiana usata dalla distribuzione Debian; pertanto, se si aggiorna il pacchetto relativo alla gestione della tastiera, può darsi che la mappa venga rimpiazzata con quella comune, perdendo le estensioni previste per nanoLinux. Se necessario, la mappa estesa si trova in /usr/share/keymaps/i386/qwerty/it-xfree.kmap.gz:

cp /usr/share/keymaps/i386/qwerty/it-xfree.kmap.gz \
  \/etc/console/boottime.kmap.gz
[Invio]

Oppure si utilizza nuovamente nanorc locale config.

La gestione del mouse è sottoposta al controllo di GPM e il sistema grafico, X, utilizza le informazioni generate da GPM stesso, senza accedere direttamente al mouse. La configurazione predefinita di nanoLinux prevede l'uso di un mouse di tipo PS/2 con rotellina (precisamente un mouse IntelliMouse PS/2), che è perfettamente compatibile con un mouse PS/2 normale, anche se a due tasti, ma si può utilizzare il comando nanorc mouse config per attivare la gestione di un mouse differente:

nanorc mouse config[Invio]

.---------------------------Mouse selection-----------------------------.
| Please select the mouse command:                                      |
| .-------------------------------------------------------------------. |
| |   gpm -t imps2 -m /dev/psaux -R ms3  previous_value               | |
| |   gpm -t imps2 -m /dev/psaux -R ms3  IM PS/2 (wheel)              | |
| |   gpm -t ps2   -m /dev/psaux -R ms3  PS/2                         | |
| |   gpm -t ms3   -m /dev/ttyS0 -R ms3  MS IM serial COM1: (wheel)   | |
| |   gpm -t ms3   -m /dev/ttyS1 -R ms3  MS IM serial COM2: (wheel)   | |
| |   gpm -t ms    -m /dev/ttyS0 -R ms3  MS serial COM1:              | |
| |   gpm -t ms    -m /dev/ttyS1 -R ms3  MS serial COM2:              | |
| |   gpm -t msc   -m /dev/ttyS0 -R ms3  MSystems serial COM1:        | |
| |   gpm -t msc   -m /dev/ttyS1 -R ms3  MSystems serial COM2:        | |
| `-------------------------------------------------------------------' |
|                                                                       |
|-----------------------------------------------------------------------|
|                     <  OK  >            <Cancel>                      |
`-----------------------------------------------------------------------'

Eventualmente si può intervenire manualmente nel file /etc/gpm.conf, cambiando ciò che serve; se si agisce in questo modo, dopo la modifica, ovviamente, si deve riavviare il demone gpm attraverso lo script previsto dalla distribuzione:

/etc/init.d/gpm stop[Invio]

/etc/init.d/gpm start[Invio]

Se funziona il mouse su una console, funziona di conseguenza anche con X.

Può capitare che il demone gpm non si avvii regolarmente, anche se la configurazione predefinita corrisponde alla situazione reale. In tal caso è necessario riavviare manualmente il servizio nel modo appena mostrato.

Appunti di informatica libera 2006.07.01 --- Copyright © 2000-2006 Daniele Giacomini -- <daniele (ad) swlibero·org>


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome nanolinux_configurazione_locale.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [translators] [docinfo] [indice analitico]

Valid ISO-HTML!

CSS validator!