Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > media > main > by-pkgid > aa09dbc8e851e434dcc4e1b20f84d6e9 > files > 1094

howto-html-es-9.1-0.5mdk.noarch.rpm

<HTML>
<HEAD>
<TITLE>LS en Color COMO: C&oacute;mo dar una configuraci&oacute;n por defecto.</TITLE>
</HEAD>
<BODY>
<A HREF="Lscolor-Como-3.html">Anterior</A>
<A HREF="Lscolor-Como-5.html">Siguiente</A>
<A HREF="Lscolor-Como.html#toc4">Indice</A>
<HR>
<H2><A NAME="s4">4. C&oacute;mo dar una configuraci&oacute;n por defecto.</A></H2>


<P>Esto es realizado individualmente para cada consola virtual con la ayuda de la
secuencia ANSI. (Esta informaci&oacute;n ha sido encontrada estudiando el c&oacute;digo
fuente del n&uacute;cleo. No puedo decir que se trate de un est&aacute;ndar.)</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
ESC [8]
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>que especifica los valores por defecto de colores <CODE>foreground</CODE> y
<CODE>background</CODE>. La secuencia ANSI de recomposici&oacute;n de atributos,
<CODE>ESC[m</CODE>, permite entonces tener en cuenta esos colores antes que el
blanco sobre fondo negro. </P>
<P>El m&eacute;todo descrito aqu&iacute; se ha supuesto para sistemas aislados, donde los
accesos se hacen s&oacute;lo en la consola. Esto no funciona para <CODE>logins</CODE>
realizados desde terminales remotos, conexiones por m&oacute;dem o desde otras
m&aacute;quinas, ya que no interpretar&iacute;an las secuencias. La interpretaci&oacute;n de
c&oacute;digos ANSI es una propiedad de las consolas Linux y que s&oacute;lo existe en
pocos programas de terminal. </P>
<P>Si se encuentra en un sistema aislado, un buen medio de tener en cuenta
los colores para cada consola es la de modificar el fichero
<CODE>/etc/issue</CODE>, y ver el resultado generado. Generalmente (y en
particular en las distribuciones Slackware) este fichero es le&iacute;do y
mostrado en cada inicializaci&oacute;n del sistema. As&iacute; si su
<CODE>/etc/rc.d/rc.S</CODE> contiene (alrededor de la l&iacute;nea 75): </P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
    # Inicializa /etc/issue y etc/motd para dar la version del nucleo usado
    # ATENCION: los ficheros /etc/issue y /etc/motd son creados en cada inicio
    # Ponga esto en comentario si desea personalizar para siempre todos
    # estos ficheros.
    echo &quot;&quot;&gt;/etc/issue
    echo Bienvenido al mundo maravilloso de Linux \
         '/bin/uname -a | /bin/cut -d\ -f3'.&gt;&gt;/etc/issue
    echo &gt;&gt; /etc/issue
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Coloque estas l&iacute;neas en comentario o modif&iacute;quelas como sigue:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
    # Ponga esto en comentario si desea personalizar para siempre todos
    # estos ficheros.
    ESCAPE=&quot;&lt;sustituir esto por un solo caracter de escape&gt;&quot;
    echo &quot;${ESCAPE}[H${ESCAPE}[37;44m${ESCAPE}[8]${ESCAPE}[2J&quot;&gt;/etc/issue
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Mi shell de arranque no entiende el <CODE>\033</CODE>, debo especificar el c&oacute;digo ASCII 27
en mi script como indiqu&eacute; en el primer p&aacute;rrafo. La l&iacute;nea posee el aspecto:
<BLOCKQUOTE><CODE>
<PRE>
ESCAPE=&quot;^[&quot;.
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Este c&oacute;digo tiene por objeto colocar el cursor al principio de la
ventana, cambiar los colores, salvar la selecci&oacute;n y borrar la pantalla.
Dicha modificaci&oacute;n solo tendr&aacute; efecto al reinicializar la m&aacute;quina. </P>
<P>Si su m&aacute;quina Linux no est&aacute; aislada, puede que aparezcan diversos
problemas en las conexiones con usuarios remotos. Esto es debido al hecho
de que su terminal no interpreta las secuencias de escape ANSI. </P>
<P>Debe entonces ajustar a nivel de usuario:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
 if [&quot;\*(dRTERM&quot;=&quot;console&quot;]; then
   echo &quot;\033[37;44m\033[8]&quot;
 fi
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>o bien,</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
 if (&quot;\*(dRTERM&quot;==&quot;console&quot;) then
   echo &quot;\033[37;44m\033[8]&quot;
 endif
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Si se desea que la modificaci&oacute;n afecte a todos los usuarios del sistema,
basta tan s&oacute;lo con que el <CODE>root</CODE> modifique los ficheros
<CODE>/etc/profile</CODE> o <CODE>/etc/csh.login</CODE>. (Reitero una vez m&aacute;s que
si el shell no puede interpretar los <CODE>\0xx</CODE>, en particular el
c&oacute;digo <CODE>\033</CODE>, basta con sustituir este ultimo por "<CODE>ESC</CODE>". </P>


<HR>
<A HREF="Lscolor-Como-3.html">Anterior</A>
<A HREF="Lscolor-Como-5.html">Siguiente</A>
<A HREF="Lscolor-Como.html#toc4">Indice</A>
</BODY>
</HTML>