Inicio

Cómo modificar los colores del prompt de la terminal

Esta página es un copia-pega de un artículo de Desde Linux

Seguramente has notado que en algunas distribuciones GNU/Linux (OpenSuse es una de ellas), el Prompt en la terminal tiene un color distinto en relación a los demás comandos, esto le da un aspecto totalmente diferente, sin contar que una de sus ventajas es que nos permite ubicarnos de una manera mucho más sencilla en el comienzo y en el fin de una línea de comando. Pero esta característica no está en la mayoría de las distros, donde el promt siempre está del mismo color que el resto del texto.

Pero una de las ventajas de GNU/Linux es que casi todo se puede configurar de acuerdo a las necesidades de cada quien, y si estás interesado en conocer cómo personalizar y cambiar el color o el aspecto del prompt, sigue leyendo que te cuento como hacerlo.

Logo inicial

Entonces el primer paso que debemos hacer es cambiar la configuración del prompt para que se muestre con color.

Vamos a ubicarnos en la carpeta personal dentro de /home y oprimiremos Ctrl H, esto hará que las carpetas y archivos ocultos se hagan visibles. Luego de eso vamos a localizar el archivo de configuración de Bash, que será .bashrc.

Para editarlo no debemos hacer mayor cosa que hacer clic con el botón secundario del mouse sobre el archivo y seleccionar abrir con Gedit, o con cualquier otro editor de texto que tengamos disponible. Ya que estemos ahí, debemos ubicar la línea que dice “force_color_prompt=yes” y eliminamos el comentario que está delante de la línea (debemos eliminar el símbolo #).

Una vez que hayamos realizado esto se aplicara el color predeterminado, un color con una tonalidad verde.

Pero si eres una persona a la que le gusta personalizar todo un poco más allá de lo común, pues, continúa leyendo que aún hay más personalización del prompt. Esto que veras a continuación son unos trucos sencillos con los que puedes ir probando hasta conseguir el que más se ajuste a tus gustos.

El archivo de configuración de Bash guarda todos los parámetros relacionados con la configuración del prompt en una variable que lleva el nombre de PSI. Esto nos indica que para modificar “el look” del prompt, y su color debemos customizar los parámetros de PSI. Entonces para hacer esas modificaciones en PSI, debemos ir hasta la sentencia if else, esta debe estar entre las líneas 59 – 64, si eres usuario de Ubuntu, veras algo como esto:

if [ “$color_prompt” = yes ]; then
PS1=’${debian_chroot:+($debian_chroot)}[33[01;32m]\u@\h[33[00m]:[33[01;34m]\w[33[00m]\$ ‘
else
PS1=’${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ‘
fi
unset color_prompt force_color_prompt

Ahora bien, en la sentencia que está debajo del if se establece la variable PSI, en caso tal que se haya descomentado el color con el “force_color_prompt=yes”, y debajo del else se encuentra la variable definida, pero esta vez es en caso de que el color este deshabilitado.

Ya cuando hagamos esto se podra apreciar entonces, que en caso tal de que el color este habilitado, la variable PSI se vera muy parecido a esto:

PS1=’${debian_chroot:+($debian_chroot)}[33[01;32m]\u@\h[33[00m]:[33[01;34m]\w[33[00m]\$ ‘

Un aspecto un tanto más complejo, pero es este el que debes conocer para poder hacer las modificaciones, la información para eso es esta a continuación:

\u@ el nombre de usuario logueado luego del símbolo @
\h para el nombre del host
\w directorio actual de trabajo

Debemos escribir en código ANSI los parámetros para definir el color en cada parámetro que hemos visto, de manera predefinida el nombre de usuario y el nombre del host, se mostraran en color vede [33[01;30m], los dos puntos en color blanco [33[00m] y un color azulado para el directorio de trabajo [33[01;34m].

Aquí tienes otros parámetros que puedes colocar para que también se muestren en el prompt:

Si necesitas más colores, aquí tienes algunos con su propio código ANSI:

Una recomendación a tener en cuenta, es que debemos deshabilitar la línea donde se define PSI con un # al inicio, de manera que Bash no la lea y luego definimos nuestra variable “personalizada” en la línea que sigue para que sea esta la que el sistema ejecute.

Ya con esta información puedes comenzar a personalizar el prompt y probar diferentes combinaciones de colores, hasta obtener la que mejor se adapte a tus gustos. Por si tienes dudas aquí te dejo otro ejemplo:

if [ “$color_prompt” = yes ]; then
#PS1=’${debian_chroot:+($debian_chroot)}[33[01;32m]\u@\h[33[00m]:[33[01;34m]\w[33[00m]\$ ‘
PS1=’${debian_chroot:+($debian_chroot)}[33[01;34m]\u@\h[33[00m]:[33[01;32m]\w[33[00m]\$’
else
PS1=’${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ‘
fi
unset color_prompt force_color_prompt
 

Si luego de hacer todos estos cambios en la configuración, quieres volver al estado original, solo debes borrar descomentar la línea en la que se define PSI y comentar la que añadimos anteriormente. Un aspecto a tener presente es que los cambios que realices en la configuración de Bash solo se aplicaran a la cuenta en la que estés al momento de realizarlos, (si estas logueado en tu usuario estándar, cuando pases a root, el prompt seguirá como esté por defecto).