Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > e05c4514608e650af9b28d9be1d35a18 > files > 256

howto-html-it-10.1-4mdv2008.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
 <TITLE>I colori sui terminali Linux: Modifica della modalit&agrave; di testo predefinita (bianco su sfondo nero).</TITLE>
 <LINK HREF="Colour-ls-7.html" REL=next>
 <LINK HREF="Colour-ls-5.html" REL=previous>
 <LINK HREF="Colour-ls.html#toc6" REL=contents>
</HEAD>
<BODY>
<A HREF="Colour-ls-7.html">Avanti</A>
<A HREF="Colour-ls-5.html">Indietro</A>
<A HREF="Colour-ls.html#toc6">Indice</A>
<HR>
<H2><A NAME="s6">6.</A> <A HREF="Colour-ls.html#toc6">Modifica della modalit&agrave; di testo predefinita (bianco su sfondo nero).</A></H2>


<P>Dovrete dire al codice del driver del terminale che vi serve un altro
default. Non c'&egrave; un modo standard per farlo, ma nel caso di Linux potete
usare il programma setterm. </P>

<P>"setterm" usa le informazioni nel database del terminale per impostare gli
attributi. Le selezioni vengono fatte cos&igrave;:
<BLOCKQUOTE><CODE>
<PRE>
setterm -foreground black -background white -store
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>dove lo "-store" oltre alla vera modifica pone come default
anche per la console corrente la selezione fatta.
Questo metodo richiede che il terminale corrente (la variabile
d'ambiente TERM) sia "abbastanza ben" descritta nel database di termcap. Se
setterm per qualche ragione non funziona, ecco alcune alternative:</P>

<H2><A NAME="ss6.1">6.1</A> <A HREF="Colour-ls.html#toc6.1">Xterm</A>
</H2>

<P>Almeno uno di questi xterm dovrebbe essere disponibile, ed almeno uno di
essi permette l'uso dei colori.</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
xterm -fg white -bg blue4
color_xterm -fg white -bg blue4
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>dove 'color_xterm' rende possibile l'uso di 'ls'. Questa particolare scelta
somiglia ai colori usati su un SGI.</P>

<H2><A NAME="ss6.2">6.2</A> <A HREF="Colour-ls.html#toc6.2">La console virtuale</A>
</H2>


<P>Potete modificare il kernel una volta per tutte, fornendo anche un default
di avvio per le console virtuali con una sequenza di escape. Vi consiglio
la patch per il kernel se ne avete compilato uno da soli.</P>
<P>Il file di sorgente del kernel &egrave;
<CODE>/usr/src/linux/drivers/char/console.c</CODE>;
dovete modificare intorno alla linea 1940, cambiando</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
        def_color       = 0x07;   /* bianco */
        ulcolor         = 0x0f;   /* bianco evidente */
        halfcolor       = 0x08;   /* grigio */
</PRE>
</CODE></BLOCKQUOTE>

come pi&ugrave; appropriato. Io uso bianco su blu con
<BLOCKQUOTE><CODE>
<PRE>
        def_color       = 0x17;   /* bianco */
        ulcolor         = 0x1f;   /* bianco evidente */
        halfcolor       = 0x18;   /* grigio */
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>I numeri sono i codici di attributo usati dalla scheda video espressi in 
esadecimale: la cifra pi&ugrave; significativa (l' "1" nei colori di esempio qui 
sopra) &egrave; lo sfondo; la cifra meno significativa
&egrave; il primo piano. 0 = nero, 1 = blu, 2 = verde, 3 = cyan, 4 = rosso, 5 =
rosa, 6 = marrone/giallo, 7 = bianco. Aggiungeteci 8 per avete colori pi&ugrave;
luminosi. Notate che, nella maggior parte dei casi, uno sfondo luminoso ==
caratteri che lampeggiano e sfondo opaco. (Da
<A HREF="mailto:sjlam1@mda023.cc.monash.edu.au">sjlam1@mda023.cc.monash.edu.au</A>).</P>


<P>Potete anche fornire un nuovo default di avvio per una console virtuale,
sulla base dello schermo con la sequenza ANSI non standard (che si trova
ricercando nei sorgenti del kernel)</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
        ESC [ 8 ]
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>che imposta come default i colori di sfondo e di primo piano correnti.
Poi, la stringa degli Attributi di Reset (ESC [ m) imposta questi
colori al posto del bianco su nero.</P>
<P>In realt&agrave; dovrete visualizzare questa stringa sulla console ogni volta che
riavviate il sistema. A seconda di come usate la vostra macchina Linux,
potete fare in diversi modi:</P>

<H3>/etc/issue</H3>


<P>Qui &egrave; dove viene mostrato il "Benvenuti in Linux xx.yy" nella Slackware,
ed &egrave; una buona scelta per macchine stand-alone (e probabilmente &egrave; da
evitare come la peste per gli utenti che si collegano con telnet). Questo
file viene creato all'avvio (su Slackware in /etc/rc.d/rc.S, su Redhat in 
/etc/rc.d/rc.local), e dovreste modificare le linee simili a questa:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
  echo ""> /etc/issue
  echo Benvenuti su Linux `/bin/uname -a | /bin/cut -d\  -f3`. >>
/etc/issue
</PRE>
</CODE></BLOCKQUOTE>

to
<BLOCKQUOTE><CODE>
<PRE>
  ESCAPE="&lt;sostituire con un singolo carattere di escape>"
  echo "${ESCAPE}[H${ESCAPE}[37;44m${ESCAPE}[8]${ESCAPE}[2J"> /etc/issue
  echo Welcome to Linux `/bin/uname -a | /bin/cut -d\  -f3`. >> /etc/issue
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Questo codice porter&agrave; il cursore in alto a sinistra, imposter&agrave; il colore
(qui &egrave; bianco su blu), salver&agrave; questa scelta e ripulir&agrave; il resto dello
schermo. Le modifiche hanno effetto dopo il riavviamento seguente.
Ricordate di inserire il carattere di escape _letterale_ nel file con C-q
in emacs o con control-v in vi, dato che apparentemente la sh usata per
l'esecuzione di questo script non capisce la sintassi <CODE>/033</CODE>.</P>


<H3>/etc/profile or .profile</H3>

<P>
<BLOCKQUOTE><CODE>
<PRE>
  if [ "$TERM" = "console" ]; then
      echo "\033[37;44m\033[8]" #
# or use setterm.
      setterm -foreground white -background blue -store
  fi
</PRE>
</CODE></BLOCKQUOTE>
</P>

<H3>/etc/login or .login</H3>


<P>
<BLOCKQUOTE><CODE>
<PRE>
  if ( "$TERM" == "console" ) then
    echo "\033[37;44m\033[8]"  
# or use setterm.
      setterm -foreground white -background blue -store
  endif
</PRE>
</CODE></BLOCKQUOTE>
</P>

<H2><A NAME="ss6.3">6.3</A> <A HREF="Colour-ls.html#toc6.3">Login remoto</A>
</H2>


<P>Dovreste poter usare il programma setterm come &egrave; stato mostrato sopra. Di
nuovo, questo richiede che la macchina remota sappia abbastanza cose sul
vostro terminale, e che l'emulatore di terminale che fornisce il login
supporti il colore.
Per la mia esperienza le migliori emulazioni di vt100 disponibili al momento
per altri tipi di piattaforma sono:
<UL>
<LI>MS-DOS:         MS-Kermit (un prodotto free, non della Microsoft)</LI>
<LI>Windows 95/NT:  Kermit/95 (shareware)</LI>
<LI>OS/2:           Kermit/95 (shareware).  Notate per&ograve; che il telnet
standard riconosce i colori e pu&ograve; essere configurato localmente.</LI>
</UL>
</P>
<P>Per dettagli su Kermit vedere 
<A HREF="http://www.columbia.edu/kermit/">http://www.columbia.edu/kermit/</A>.</P>

<P>Se trovate una combinazione che funziona, vorrei averla qui.</P>

<HR>
<A HREF="Colour-ls-7.html">Avanti</A>
<A HREF="Colour-ls-5.html">Indietro</A>
<A HREF="Colour-ls.html#toc6">Indice</A>
</BODY>
</HTML>