  LS en Color COMO
  V. Inglesa: Thorbjoern Ravn Andersen ravn@imada.ou.dk
  V. Espaola: Toms Hidalgo, Guy Paul Gallardo thidalgo@albo
  ran.ualm.es
  v1.0, 15 de Noviembre 1996

  El comando ls includo en la distribucin Slackware de linux permite
  color. (Slackware 2.0.2 y ncleo 1.1.54 de Linux. Funciona tambin con
  agetty, o bien con mgetty_ps). Puede que los colores por defecto no le
  gusten o que les haya cogido mana. Este documento tiene como objetivo
  explicar el principio de funcionamiento y configuracin de colores
  usados por este comando.
  ______________________________________________________________________

  ndice General:

  1.      Cmo seleccionar los colores?

  2.      Cules son las combinaciones de colores posibles?

  2.1.    Inciso del traductor espaol.

  3.      Aspecto por tipos de ficheros.

  4.      Cmo dar una configuracin por defecto.

  5.      Copyright

  6.      La traduccin.

  7.      Anexo: El INSFLUG
  ______________________________________________________________________

  1.  Cmo seleccionar los colores?

  Existen dos mtodos:

    Primer mtodo:
     Utilizar el programa setterm que es vlido para una modificacin
     rpida y simple de la configuracin por defecto. Los manuales y
     ayudas de este comando estn escritos de forma farragosa y no
     intentar de ninguna manera traducirlos ms claros ;-).

     Las selecciones se realizan de la forma:

                setterm -foreground black -background white -store

  donde -store significa que dicha configuracin es grabada por defecto
  en la consola activa. Sera necesario repetir esta operacin para cada
  consola virtual nueva, por lo que parece una buena idea colocar esta
  lnea en el .login (en csh o tcsh) o en el .profile (sh, ksh o bash).
  En adelante sabr tanto sobre el comando setterm como yo :-).

    Segundo mtodo: Linux usa cdigos de escape ANSI del tipo:
     ESC[<parmetros>m donde ESC es el carcter ASCII 27 y <parmetros>m
     es uno o varios nmeros separados por puntos y comas. Por ejemplo:

    "\033[41;33;1m" que da un aspecto amarillo sobre fondo rojo.

    "\033[30;47m" que da un aspecto blanco sobre fondo negro.

    "\033[m" que restablece el aspecto por defecto.

     Estos ejemplos necesitan un shell que reconozca las construcciones
     del tipo \xxx. Si no es el caso, inserte directamente un carcter
     de escape en la cadena. En bash/vi teclee Ctrl-V ESC, y bajo
     tcsh/emacs teclee Ctrl-Q ESC.

  2.  Cules son las combinaciones de colores posibles?

  Este es un script en C-shell que muestra en la consola el conjunto de
  combinaciones de colores:

       ______________________________________________________________________

        #!/bin/csh
        #
        # Muestra los colores ANSI
        #
        set esc="\033["
        foreach fore (30 31 32 33 34 35 36 37)
        set line1="\*(dRfore " line2="  "
        foreach back (40 41 42 43 44 45 46 47)
        set line1="\*(dR{line1}\*(dR{esc}\*(dR{back};\*(dR{fore}m Normal \*(dR{esc}0m"
        set line2="\*(dR{line2}\*(dR{esc}\*(dR{back};\*(dR{fore}1m \*(dR{back} Bold \*(dR{esc}0m"
        end
        echo "\*(dRline1\n\*(dRline2"
        end

       ______________________________________________________________________

  El nmero de colores foreground crece hacia la izquierda, y el nmero
  de colores background sigue la misma norma. Si desea una intensidad
  alta coloque 01 como primer parmetro. Ponga un punto y coma entre
  cada parmetro y toda la secuencia de parmetros seguida.

  2.1.  Inciso del traductor espaol.

  Para una mayor facilidad a la hora de poder elegir el aspecto de
  colores para el comando ls se describen a continuacin la
  correspondencia entre los nmeros y los colores de las secuencias de
  escape.

  Funciones Grficas

    0............Desactivar todos los atributos

    1............Activar negrita (alta intensidad)

    4............Subrayar (slo en adaptadores monocromo)

    5............Activar parpadeo

    7............Activar vdeo inverso

    8............Activar ocultamiento

       Colores Primer Plano (Foreground)            Colores de Fondo (Background)

                30.....................Negro....................40
                31.....................Rojo.....................41
                32.....................Verde....................42
                33.....................Amarillo.................43
                34.....................Azul.....................44
                35.....................Magenta..................45
                36.....................Azul verdoso.............46
                37.....................Blanco...................47

  3.  Aspecto por tipos de ficheros.

  El comando ls comienza por mirar la definicin de asociaciones de
  color en el fichero ~/.dir_colors y si no existe usa el fichero
  /etc/DIR_COLORS. Dichos ficheros contienen entradas del tipo:

              LINK 36;1      # enlace simbolico
              FIFO 40;33     # pipeline
              SOCK 41;01;35  # socket
              BLK 41;33;01   # gestor en modo bloque
              CHR 41;33;01   # gestor en modo caracter

              EXEC 32;1      # ficheros ejecutables

              .tar 01;31     # ficheros y archivos comprimidos
              .tgz 01;31
              .zip 01;31
              .z   01;31
              .Z   01;31
              .gz  01;31

  Las secuencias de escape dadas en parmetros aqu poseen exactamente
  la misma sintaxis que para el comando setterm. Modifique esto a su
  gusto y ver el resultado ejecutando un ls en /sbin, /etc o /etc/dev.

  Con el fin de que el fichero /etc/DIR_COLORS o ~/.dir_colors sea
  tomado en cuenta es necesario aadir en /etc/profile o ~/.profile
  (sh/bash) o /etc/csh.login o ~/.login (csh/tcsh) la lnea:

       eval '/bin/dircolors'

  ATENCIN: Esta lnea debe ser colocada antes de cualquier definicin
  de alias para el comando ls. Este comando lee el fichero
  /etc/DIR_COLORS o ~/.dir_colors y une las variables de entorno
  LS_COLORS y LS_OPTIONS as como  los alias ls, dir, vdir, d y v.

  4.  Cmo dar una configuracin por defecto.

  Esto es realizado individualmente para cada consola virtual con la
  ayuda de la secuencia ANSI. (Esta informacin ha sido encontrada
  estudiando el cdigo fuente del ncleo. No puedo decir que se trate de
  un estndar.)

       ESC [8]

  que especifica los valores por defecto de colores foreground y
  background. La secuencia ANSI de recomposicin de atributos, ESC[m,
  permite entonces tener en cuenta esos colores antes que el blanco
  sobre fondo negro.

  El mtodo descrito aqu se ha supuesto para sistemas aislados, donde
  los accesos se hacen slo en la consola. Esto no funciona para logins
  realizados desde terminales remotos, conexiones por mdem o desde
  otras mquinas, ya que no interpretaran las secuencias. La
  interpretacin de cdigos ANSI es una propiedad de las consolas Linux
  y que slo existe en pocos programas de terminal.

  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
  /etc/issue, y ver el resultado generado. Generalmente (y en particular
  en las distribuciones Slackware) este fichero es ledo y mostrado en
  cada inicializacin del sistema. As si su /etc/rc.d/rc.S contiene
  (alrededor de la lnea 75):

           # 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 "">/etc/issue
           echo Bienvenido al mundo maravilloso de Linux \
                '/bin/uname -a | /bin/cut -d\ -f3'.>>/etc/issue
           echo >> /etc/issue

  Coloque estas lneas en comentario o modifquelas como sigue:

           # Ponga esto en comentario si desea personalizar para siempre todos
           # estos ficheros.
           ESCAPE="<sustituir esto por un solo caracter de escape>"
           echo "${ESCAPE}[H${ESCAPE}[37;44m${ESCAPE}[8]${ESCAPE}[2J">/etc/issue

  Mi shell de arranque no entiende el \033, debo especificar el cdigo
  ASCII 27 en mi script como indiqu en el primer prrafo. La lnea
  posee el aspecto:

       ESCAPE="^[".

  Este cdigo tiene por objeto colocar el cursor al principio de la
  ventana, cambiar los colores, salvar la seleccin y borrar la
  pantalla.  Dicha modificacin solo tendr efecto al reinicializar la
  mquina.

  Si su mquina Linux no est 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.

  Debe entonces ajustar a nivel de usuario:

        if ["\*(dRTERM"="console"]; then
          echo "\033[37;44m\033[8]"
        fi

  o bien,

        if ("\*(dRTERM"=="console") then
          echo "\033[37;44m\033[8]"
        endif

  Si se desea que la modificacin afecte a todos los usuarios del
  sistema, basta tan slo con que el root modifique los ficheros
  /etc/profile o /etc/csh.login. (Reitero una vez ms que si el shell no
  puede interpretar los \0xx, en particular el cdigo \033, basta con
  sustituir este ultimo por "ESC".

  5.  Copyright

  Esta versin bajo copyright (c)1995 es propiedad de Pierre
  Vassellerie.

  Como todo documento HOWTO (-- N del T: COMOs--) , este documento puede
  ser reproducido y distribuido en su integridad o en parte, por
  cualquier medio fsico. A pesar de todo queda sujeto a las condiciones
  siguientes:

    La mencin del copyright debe ser conservada, y la presente seccin
     debe preservarse en su integridad en toda copia, tanto completa
     como en parte.

    Las traducciones y trabajos derivados deben ser aprobadas por el
     autor antes de la distribucin.

    Si distribuye este trabajo parcialmente, debe mencionarse como
     obtener una versin completa de este documento y estar en
     condiciones de suministrarla.

    Pueden ser usadas pequeas porciones de este documento como
     ilustraciones de una revista o como reseas sin autorizacin previa
     siempre que se cite a los autores.

  Pueden ser acordadas excepciones a estas reglas con fines educativos;
  escriba al autor y pregunte. Estas restricciones tiene como nico
  objetivo proteger a los autores y su trabajo. Toda aportacin
  educativa a este documento ser valorada positivamente.

  6.  La traduccin.

  Este documento ha sido traducido por Toms Hidalgo Salvador para el
  grupo de usuarios de Linux INSFLUG coordinado por Francisco Jos
  Montilla.

  Dicha traduccin se encuentra amparada por los mismos derechos
  expresados en la seccin ``''.

  Toms Hidalgo Salvador, thidalgo@alboran.ualm.es

  7.  Anexo: El INSFLUG

  El INSFLUG forma parte del grupo internacional Linux Documentation
  Project, encargndose de las traducciones al castellano de los Howtos
  (Comos), as como la produccin de documentos originales en aquellos
  casos en los que no existe anlogo en ingls.

  En el INSFLUG se orienta preferentemente a la traduccin de documentos
  breves, como los COMOs y PUFs (Preguntas de Uso Frecuente, las FAQs.
  :) ), etc.

  Dirjase a la sede del INSFLUG para ms informacin al respecto.

  En la sede del INSFLUG encontrar siempre las ltimas versiones de las
  traducciones:  www.insflug.org. Asegrese de comprobar cul es la
  ltima versin disponible en el Insflug antes de bajar un documento de
  un servidor rplica.

  Se proporciona tambin una lista de los servidores rplica (mirror)
  del Insflug ms cercanos a Vd., e informacin relativa a otros
  recursos en castellano.

  Francisco Jos Montilla, pacopepe@insflug.org.

