24.01.2014 Views

Terminali a caratteri - IIS Marconi Latina - Area didattica

Terminali a caratteri - IIS Marconi Latina - Area didattica

Terminali a caratteri - IIS Marconi Latina - Area didattica

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

630 volume I Sistemi GNU/Linux: uso e amministrazione generale<br />

|#!/bin/sh<br />

|# stop console UTF-8<br />

|#<br />

|kbd_mode -a<br />

|loadkeys /etc/console/boottime.kmap.gz<br />

|for n in 1 2 3 4 5 6<br />

|do<br />

| if [ -w /dev/tty$n ]<br />

| then<br />

| printf ’\033%@’ > /dev/tty$n<br />

| fi<br />

|done<br />

> /dev/null<br />

|/usr/bin/consolechars -f /usr/share/consolefonts/lat1u-16.psf.gz<br />

Questi comandi possono essere utilizzati dall’utente ‘root’ o da un utente comune, ma nel<br />

secondo caso, l’effetto del cambiamento di funzionamento si trasmette in modo incompleto<br />

alle console, perché possono mancare i permessi di scrittura ai file di dispositivo delle altre<br />

console virtuali. Si osservi che, una volta deciso di configurare la console per l’uso della<br />

codifica UTF-8, sarebbe meglio evitare di riportarla a funzionare secondo il vecchio sistema<br />

a byte, perché comunque c’è la possibilità di avviare i programmi più vecchi con l’aiuto di<br />

‘luit’.<br />

|Riquadro 15.85. Configurazione automatica della console per la codifica UTF-8.<br />

Considerato che UTF-8 consente la rappresentazione di tutti simboli previsti dall’insieme di <strong>caratteri</strong><br />

universale, è auspicabile che diventi presto lo standard di tutti. Pertanto, è evidente che i<br />

passaggi necessari a impostare il terminale della console di un sistema GNU/Linux vadano inseriti<br />

all’interno di uno script della procedura di inizializzazione del sistema, in modo che all’avvio sia<br />

tutto eseguito automaticamente. Tuttavia, non è detto che le cose funzionino come previsto. Infatti,<br />

se si usa un sistema come uDev per la generazione automatica dei file di dispositivo nella directory<br />

‘/dev/’, può darsi che nella fase di avvio non ci siano tutti i file riferiti alle console virtuali che si<br />

intendono attivare. Per fare in modo che le cose funzionino, anche di fronte a questa difficoltà, può<br />

essere il caso di mettere i comandi necessari nel file ‘/etc/profile’, in modo che siano eseguiti<br />

ogni volta che un utente accede al sistema, anche se questo è controproducente quando si vuole<br />

lavorare in una console secondo la vecchia modalità a byte.<br />

«<br />

15.8.5 Utilizzo di «luit»<br />

Il programma ‘luit’, il quale fa parte di X, è un filtro che si utilizza per avviare un altro<br />

programma, quando il proprio terminale a <strong>caratteri</strong> è configurato in modo da gestire la codifica<br />

UTF-8 (sia per la tastiera, sia per lo schermo) e il programma in questione utilizza una codifica<br />

differente:<br />

|<br />

|luit [opzioni] [--] [programma [argomenti]] |<br />

Come si può intuire dal modello sintattico, in mancanza dell’indicazione di un programma<br />

da avviare, ‘luit’ avvia una shell. Al posto di descrivere le opzioni di questo programma,<br />

vengono mostrati alcuni esempi, a cominciare da quello più semplice, in cui il controllo della<br />

conversione avviene semplicemente attraverso la configurazione della variabile LC_ALL:<br />

$ LC_ALL=en_US.ISO-8859-1 luit mio_programma [ Invio ]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!