domingo, 29 de agosto de 2010

Prompt del bash de Ubuntu en color

En este documento explico de forma introductoria y sencilla como se puede cambiar la configuración de color del terminal en Ubuntu y otras distribuciones que usen el archivo .bashrc del que hablo más abajo.

Resulta que cada usuario dispone de un archivo propio de configuración del bash denominado .bashrc (ojo porque está oculto, se puede ver con ls -a). Si abrimos dicho archivo con cualquier editor de texto se pueden ver las lineas

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes


Bueno, pues simplemente quitándole el comentario (el símboo #) a la última línea (force_color_prompt=yes) obtenemos el bash en color (cuando abramos un nuevo terminal)

Si además lo vemos un poco chillón, se pueden cambiar los colores de los distintos elementos. Busca la línea

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '


Fíjate que en la línea que empieza por PS1 hay varios números que terminan en una m (32m, 00m,34m,00m). Bien, pues el primero se refiere al color del nombre de usuario@maquina.  El segundo se refiere a los dos puntos. El tercero al color del directorio en el que estamos y finalmente el cuarto al símbolo $. Puedes probar entre otros estos colores:

  •     30: negro
  •     31: rojo
  •     32: verde
  •     33: amarillo/marrón
  •     34: azul
  •     35: púrpura
  •     36: cian
  •     37: blanco o gris

O con estos lo que cambias es el fondo en lugar de las letras:
  •     40: fondo negro
  •     41: fondo rojo
  •     42: fondo verde
  •     43: fondo amarillo
  •     44: fondo azul
  •     45: fondo púrpura
  •     46: fondo cian
  •     47: fondo blanco (o gris)

También es posible conseguir efecto de negrita. Fíjate por ejemplo en el primer número que acaba en m, el que corresponde al color del usuario@máquina. Este se encuentra entre corchetes con un 01: [01;32m\] Ese 01 indica negrita. Si ponemos 00 eliminamos esa negrita y cambiando a otros valores se consiguen otros efectos. También se pueden añadir a las otras partes del prompt.

Anímate a probar otros valores de colores para conseguir un prompt completamente personalizado.

No hay comentarios:

Publicar un comentario