7.6. Configurazione della console Linux

In questa sezione descrive come configurare lo script di avvio console che imposta la mappa della tastiera (keymap) e i font della console. Se non si necessita dei caratteri non ASCII, (per esempio sterlina Inglese o Euro), e la tastiera è americana, si può saltare questa sezione. Senza il file di configurazione, lo script di avvio console non fa niente.

Lo script console usa come file di configurazione /etc/sysconfig/console. Occorre decidere che mappa per la tastiera e che font per lo schermo usare ed un aiuto lo si può ricevere dall'HOWTO specifico per la lingua. Un file /etc/sysconfig/console precostruito con impostazioni corrette per alcuni paesi è stato installato con il pacchetto LFS-Bootscripts, e basterà  togliere il commento dalla sezioni che interessa se il paese di appartenenza è supportato. Se i dubbi persistono, la directory /usr/share/kbd contiene una lista di mappe per tastiera e font per lo schermo che si possono usare. Si leggano quindi le pagine di manuale di loadkeys e setfont per decidere quali argomenti usare per questi programmi. Una volta deciso, si crei il file di configurazione con il seguente comando:

cat >/etc/sysconfig/console <<"EOF"
KEYMAP="[arguments for loadkeys]"
FONT="[arguments for setfont]"
EOF

P.e., per utenti spagnoli che volessero usare il carattere Euro (accessibile premendo AltGr+E), la configurazione corretta è la seguente:

cat >/etc/sysconfig/console <<"EOF"
KEYMAP="es euro2"
FONT="lat9-16 -u iso01"
EOF
[Nota]

Nota

La riga con la direttiva FONT è corretta solo per il set di caratteri ISO-8859-15. Se si volesse usare il set ISO-8859-1 per il simbolo della sterlina invece che l'Euro, la direttiva FONT è la seguente:

FONT="lat1-16"

Se le variabili KEYMAP o FONT non sono definite, lo script di avvio console non eseguirà il programma corrispondente.

In alcune mappe tastiera, i tasti Backspace e Delete inviano caratteri differenti da quelli predefiniti nella keymap del kernel. Questo confonde alcune applicazioni. Ad esempio Emacs, premendo Backspace, visualizza il proprio help (invece di cancellare il carattere che precede il cursore). Per controllare se la keymap in uso è affetta da questo problema (solo per keymap i386):

zgrep '\W14\W' [/percorso/della/vostra/keymap]

Se si nota che il codice del tasto 14 è Backspace e non Delete, si proceda come segue:

mkdir -p /etc/kbd && cat > /etc/kbd/bs-sends-del <<"EOF"
                  keycode  14 = Delete Delete Delete Delete
              alt keycode  14 = Meta_Delete
        altgr alt keycode  14 = Meta_Delete
                  keycode 111 = Remove
    altgr control keycode 111 = Boot
      control alt keycode 111 = Boot
altgr control alt keycode 111 = Boot
EOF

Si dovrà istruire lo script console affinché carichi questo script dopo la keymap principale:

cat >>/etc/sysconfig/console <<"EOF"
KEYMAP_CORRECTION="/etc/kbd/bs-sends-del"
EOF

Se si vuole compilare la keymap direttamente nel kernel invece di doverla ogni volta definire attraverso lo script di avvio console, si seguano le istruzioni che si trovano nella Linux. In questo modo ci si assicura che la tastiera funzioni sempre come ci si aspetta, anche quando si avvia il sistema in modalità di manutenzione (passando init=/bin/sh al kernel), situazione nella quale lo script di avvio console non viene eseguito. Inoltre, il kernel non definirà automaticamente il font dello schermo. D'altra parte questo non dovrebbe porre troppi problemi ai caratteri ASCII che verranno visualizzati correttamente ed è improbabile che si usino caratteri non ASCII in modalità manutenzione.

Dato che sarà il kernel a definire la keymap, si può omettere la variabile KEYMAP dal file di configurazione /etc/sysconfig/console anche se, volendo, la si può lasciare. Anzi, questo potrebbe essere un beneficio nel caso si compilino kernel differenti e non si sia sicuri che la keymap sia compilata in ogni kernel.