Terminali a caratteri - IIS Marconi Latina - Area didattica

Terminali a caratteri - IIS Marconi Latina - Area didattica Terminali a caratteri - IIS Marconi Latina - Area didattica

iismarconi.net
from iismarconi.net More from this publisher
24.01.2014 Views

626 volume I Sistemi GNU/Linux: uso e amministrazione generale Opzione Descrizione | -background {black|blue ←↪ ↩→ |green|cyan|red|magenta ←↪ ↩→ |yellow|white|default} | -inversescreen [on|off] Permette di modificare il colore dello sfondo. | -clear Ripulisce lo schermo. | -reset Reinizializza lo schermo. Attiva o disattiva l’inversione dei colori dello schermo. Se non viene specificato l’argomento, si intende attivare l’opzione implicitamente. 15.8 Approfondimento: codifica UTF-8 « La codifica UTF-8 è quella usata universalmente dai sistemi Unix attuali, inclusi i sistemi GNU/Linux; pertanto, è normale attendersi che ogni distribuzione GNU/Linux sia già predisposta correttamente per funzionare in questo modo. Tuttavia, l’attivazione della codifica UTF-8 per una console GNU/Linux comporterebbe qualche complicazione che si vuole affrontare in queste sezioni; inoltre non va trascurato il fatto che rimangono programmi che non si adattano bene a funzionare con una codifica UTF-8. 15.8.1 Caratteri per la console « Per poter visualizzare i simboli dell’insieme di caratteri universale, occorre disporre di questi, indicando al sistema un file che ne contiene le informazioni. Si tratta di file contenuti nella directory ‘/usr/share/consolefonts/’ e quelli più adatti per la visualizzazione simultanea degli alfabeti comuni corrispondono al modello ‘LatArCyrHeb-nn.psf’. In pratica si tratta di un insieme di caratteri che consente la visualizzazione di testi in alfabeto latino, arabo, cirillico ed ebraico. Si carica uno di questi file nel modo seguente: # consolechars -f /usr/share/consolefonts/LatArCyrHeb-16.psf [ Invio ] Successivamente, la visualizzazione corretta sullo schermo della console richiede anche l’invio di un codice particolare, con l’aiuto del comando ‘printf’: # printf ’\033%G’ [ Invio ] In alternativa, si può indirizzare precisamente al file di dispositivo della console virtuale che deve essere impostata. L’esempio seguente si riferisce a ‘/dev/tty1’, ovvero quella che dovrebbe essere la prima console virtuale: # printf ’\033%G’ > /dev/tty1 [ Invio ] Si osservi che non sempre le cose funzionano bene. Quando si vogliono caricare insiemi di caratteri del calibro di ‘LatArCyrHeb-nn.psf’, si potrebbe osservare che il testo colorato appare con caratteri errati; per cercare di ovviare a questo inconveniente, si può tentare di caricare prima un insieme comune, quale è quello contenuto nel file ‘lat1u-16.psf’. Praticamente, l’esempio già mostrato andrebbe adattato così: # consolechars -f /usr/share/consolefonts/lat1u-16.psf [ Invio ]

Terminali a caratteri 627 # consolechars -f /usr/share/consolefonts/LatArCyrHeb-16.psf [ Invio ] # printf ’\033%G’ [ Invio ] |Riquadro 15.78. Terminale UTF-8 per la console. In passato, per i sistemi GNU/Linux era necessario predisporre la configurazione di un tipo di terminale adatto per la console in modalità UTF-8, compilando il sorgente seguente: |# linux-utf8 |# linux console in utf-8 mode |linux+utf8|linux console in utf-8 mode, | acs_chars=a\261f\370g\361h\260j\331k\277l\332m\300n\305q\304t ←↪ ↩→\303u\264v\301w\302x\263z\372}\375-\1360\333p\304r\304{\343}\234, | enter_alt_charset_mode=\E%@\E[11m, | enter_pc_charset_mode=\E%@\E[11m, | exit_alt_charset_mode=\E[10m\E%G, | exit_attribute_mode=\E[0;10m\E%G, | exit_pc_charset_mode=\E[10m\E%G, | set_attributes=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t; ←↪ ↩→5%;%?%p5%t;2%;%?%p6%t;37;42;1%;%?%p7%t;32;42%;%?%p9%t;m\E%%@\E[11%;m, | use=linux, Il listato che si vede è il sorgente, tratto da Step by step introduction to switching your debian installation to utf-8 encoding, di Radovan Garabík, con due righe spezzate per motivi tipografici. Supponendo che questo file si chiami ‘linux+utf8’, lo si compila facilmente con ‘tic’ nel modo seguente: # tic linux+utf8 [ Invio ] Si ottiene il file ‘/usr/share/terminfo/l/linux+utf8’. Per utilizzare questo tipo di definizione del terminale, basta intervenire nella variabile di ambiente TERM: $ TERM=linux+utf8 [ Invio ] $ export TERM [ Invio ] 15.8.2 Mappa della tastiera Per poter scrivere utilizzando la codifica UTF-8, la mappa della tastiera deve essere stata caricata usando ‘loadkeys’ con l’opzione ‘-u’, ovvero ‘--unicode’. È possibile adattare la mappa corrente con l’aiuto di ‘dumpkeys’, nel modo seguente: « # dumpkeys | loadkeys --unicode [ Invio ] In ogni caso, occorre modificare anche la modalità di funzionamento attraverso ‘kbd_mode’: # kbd_mode -u [ Invio ] Bisogna considerare che le sequenze di composizione non funzionano quando la tastiera è stata configurata in modalità UTF-8. Per la precisione, se sono previste, le sequenze di composizione generano i caratteri, ma lo fanno sempre in byte, pertanto, il loro uso diventa inutile e dannoso, perché generalmente i programmi non sono preparati a gestire sequenze incomplete in UTF-8.

<strong>Terminali</strong> a <strong>caratteri</strong> 627<br />

# consolechars -f /usr/share/consolefonts/LatArCyrHeb-16.psf [ Invio ]<br />

# printf ’\033%G’ [ Invio ]<br />

|Riquadro 15.78. Terminale UTF-8 per la console.<br />

In passato, per i sistemi GNU/Linux era necessario predisporre la configurazione di un tipo di<br />

terminale adatto per la console in modalità UTF-8, compilando il sorgente seguente:<br />

|# linux-utf8<br />

|# linux console in utf-8 mode<br />

|linux+utf8|linux console in utf-8 mode,<br />

| acs_chars=a\261f\370g\361h\260j\331k\277l\332m\300n\305q\304t ←↪<br />

↩→\303u\264v\301w\302x\263z\372}\375-\1360\333p\304r\304{\343}\234,<br />

| enter_alt_charset_mode=\E%@\E[11m,<br />

| enter_pc_charset_mode=\E%@\E[11m,<br />

| exit_alt_charset_mode=\E[10m\E%G,<br />

| exit_attribute_mode=\E[0;10m\E%G,<br />

| exit_pc_charset_mode=\E[10m\E%G,<br />

| set_attributes=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t; ←↪<br />

↩→5%;%?%p5%t;2%;%?%p6%t;37;42;1%;%?%p7%t;32;42%;%?%p9%t;m\E%%@\E[11%;m,<br />

| use=linux,<br />

Il listato che si vede è il sorgente, tratto da Step by step introduction to switching your debian<br />

installation to utf-8 encoding, di Radovan Garabík, con due righe spezzate per motivi tipografici.<br />

Supponendo che questo file si chiami ‘linux+utf8’, lo si compila facilmente con ‘tic’ nel modo<br />

seguente:<br />

# tic linux+utf8 [ Invio ]<br />

Si ottiene il file ‘/usr/share/terminfo/l/linux+utf8’. Per utilizzare questo tipo di<br />

definizione del terminale, basta intervenire nella variabile di ambiente TERM:<br />

$ TERM=linux+utf8 [ Invio ]<br />

$ export TERM [ Invio ]<br />

15.8.2 Mappa della tastiera<br />

Per poter scrivere utilizzando la codifica UTF-8, la mappa della tastiera deve essere stata caricata<br />

usando ‘loadkeys’ con l’opzione ‘-u’, ovvero ‘--unicode’. È possibile adattare la<br />

mappa corrente con l’aiuto di ‘dumpkeys’, nel modo seguente:<br />

«<br />

# dumpkeys | loadkeys --unicode [ Invio ]<br />

In ogni caso, occorre modificare anche la modalità di funzionamento attraverso ‘kbd_mode’:<br />

# kbd_mode -u [ Invio ]<br />

Bisogna considerare che le sequenze di composizione non funzionano quando la tastiera è stata<br />

configurata in modalità UTF-8. Per la precisione, se sono previste, le sequenze di composizione<br />

generano i <strong>caratteri</strong>, ma lo fanno sempre in byte, pertanto, il loro uso diventa inutile e<br />

dannoso, perché generalmente i programmi non sono preparati a gestire sequenze incomplete<br />

in UTF-8.

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

Saved successfully!

Ooh no, something went wrong!