Apuntes mientras aprendo sobre software y computadoras.

Linux

Cambiar los colores de la terminal en Linux

Para romper con la monotonía, vamos a cambiar los colores de la terminal en Linux.

¿Utilizás mucho la terminal? ¿O recién estás acostumbrándote a trabajar con la misma?

Sea cual sea la respuesta a esas pregunta, si te encontrás leyendo esto es por que te interesa cambiar la apariencia de la linea de comandos.

Así que sin más preámbulos, aquí están algunas de las modificaciones más comunes que podes hacer. Recordá que estos ejemplos fueron testeados en Ubuntu y en Linux Mint, puede haber alguna ligera variación con otros sabores de Linux.

Primero vamos a ver como modificar los colores de fondo y en la tipografía a través del menú gráfico. Luego vamos a hacer el cambio usando la terminal misma.

Cómo cambiar los colores de la terminal en Linux (de forma gráfica)

Con la terminal ya abierta, hace clic en Editar > Preferencias. O alternativamente, hace clic con el botón derecho sobre la terminal y luego elegí Preferencias.

Vas a encontrar una pestaña llamada Colores.

Ahora básicamente tenes dos elecciones:

1- Marcar la opción “utilizar los colores predeterminados por el tema.La opción más directa, tal vez menos original, pero la que más me gusta. La terminal se mantiene a tono con el resto del tema de escritorio.

2- Elegir la opción “paleta” y armar tu propia paleta de colores, eligiendo tus propias variaciones entre las opciones disponibles.

Pero hay una cosa extra que podes encontrar en este menú.

Cómo volver la terminal transparente

Tenemos la opción de volver la terminal transparente, lo que es de mucha utilidad cuando queremos seguir la pista de varias ventanas a la vez.

Por defecto suele venir marcada la opción “Use transparency from system theme” o “usar la transparencia predeterminada por el tema”. No mucho por hacer aquí.

Sin embargo la cosa cambia si tocamos Use transparent background” o “usar fondo transparente”.

Esta última opción nos habilita deslizarnos gradualmente entre un fondo para nada opaco y uno completamente opaco, con todos los grados intermedios.

Cambiar el color de la terminal a través de comandos

Ahora, ya vimos como cambiar el color de la terminal de forma gráfica. Veamos como se hace para modificar su apariencia utilizando directamente la terminal misma.

La apariencia de BASH esta dictada por una variable llamada PS1.

No es la única variable de este tipo, existe la PS2, PS3 y PS4.

BASH extrae de la variable PS1 la información que va a mostrarte mientras espera a que ingreses comandos. Esto es, un texto que contiene tu nombre, que viene de un color determinado, y que puede estar acompañado de fecha y hora, etc.

¿Qué hay “dentro” de la variable PS1?

Pensemos que yo abro mi terminal,y veo esto:

ezequiel@computadora :~$

Si lo analizamos parte a parte, tenemos que ezequiel es el nombre de usuario. Le sigue computadora, que es el (admito que poco original) nombre que le di a mi equipo.

Luego sigue~ que representa al directorio actual (en este caso home).Por último termina en $, que significa que no estoy en modo root (en ese otro caso mostraría # en lugar de $).

Pero si lo leyéramos directamente como la variable PS1, lo que encontramos es un conjunto de letras y números separados:

[\u@\h \W]$

Puesto uno junto al otro, se puede entender mejor:

ezequiel@computadora :~$
[\u@\h \W]$

Visto así, uno sobre el otro, entendemos que

\u@ | representa el nombre de usuario (en este caso “ezequiel”)

\h | acompaña al nombre del equipo (en este caso “computadora”).

\W | el directorio en el que me encuentro (en este caso ~ o home).

\$ | si te conectas como root muestra #; caso contrario $.

Modificar la variable PS1

Como vimos, la variable PS1 guarda los valores que la terminal nos enseña mientras espera que ingresemos texto. Podemos modificar lo que muestra, y como lo muestra.

Podemos entre otras cosas modificar el nombre que identifica a la máquina. De hecho podríamos agregar información nueva. Por ejemplo:

\t | muestra el horario en formato 24 horas

\d | muestra la fecha del día y el mes.

\w | enseña el camino del directorio completo, no solo la carpeta donde estamos.

Pero volvamos a nuestra tarea…

Modificar los colores (ahora si)

El formato del comando que tenemos que usar es el siguiente:

PS1="\e[40;0;32m[\u@\h \W]$ "

En este caso lo importante de la sintaxis es:

\e[40;0;32m

Encontramos que hay tres números, separados por punto y coma.

El primero de los números (en este caso 40) representa el color del fondo. Le sigue otro número (en este caso el 0) que representa las características del texto. Luego termina con el último número (el 32) que esta en lugar del color del texto.

Por su parte el “/e” y “m” que abren y cierran significa que estamos usando una secuencia de colores.

El resto del comando ya lo leímos:

PS1="\e[40;0;32m[\u@\h \W]$ "

\u@ representa tu nombre… y así, ya lo vimos más arriba. Esto se puede modificar si lo necesitamos. Pero volviendo a nuestro tema…

¿Qué colores podemos usar?

Estas son las variables que podemos modificar.

Las características del texto:

0: texto normal
1: texto en negrita
3Texto subrayado

El color del texto:

30: negro
31: rojo
32: verde
33: amarillo
34: azul
35: violeta
36: cyan
37: blanco

Color del fondo:

40: negro
41: rojo
42: verde
43: amarillo
44: azul
45: violeta

Entonces podemos entender que:

PS1="\e[40;0;32m[\u@\h \W]$ "

Quiere decir que queremos un fondo color negro, un texto sin modificaciones y que es de color verde.

Digamos que queremos lo mismo, pero con un texto resaltado y de color violeta:

PS1="\e[40;1;35m[\u@\h \W]$ "

¿No te gusta el resultado?

Bueno, siempre podes cambiarlo. Lo importante es que esta técnica no es permanente. Si cerrás la terminal vas a perder los cambios que hiciste.

¿Cómo hacer que el cambio se guarde?

Para que el cambio sea permanente, lo que hay que hacer es un cambio en

~/.bashrc

Abrí ese archivo en ese directorio (podes usar un editor de texto como Nano) y buscá la linea de texto directamente ahí.

Puede parecer mucha información, pero si lo buscás vas a encontrar dentro del archivo algo como:

\[3[01;32m\]

Ahora podés cambiar los números para conseguir los colores que necesitás. Guardalo, y cuando lo hagas las modificaciones van a mantenerse.

En algunas versiones de Linux, el cambio tenes que hacerlo en el directorio:

~/.bash_profile 

Pero en Linux Mint es en ~/.bashrc

Conclusión:

Cambiar los colores de la terminal en Linux no es algo que hagamos muchas veces, pero puede ser útil en algunos casos. Por ejemplo, para no confundirnos cuando usamos varias terminales a la vez, compartidas entre máquinas virtuales.

Podemos hacer varias modificaciones en tanto a la apariencia de la shell, y podemos llegar a esos resultados siguiendo varios caminos.

Si te interesa leer otras ideas, esta es una guía básica para empezar con la terminal de Linux que también te pueden resultar de utilidad en la terminal.

Y por otro lado esta es una guía básica para comenzar a probar en el lenguaje de Bash.

Poco a poco voy a subir más información, para que podamos seguir en este camino de aprender más sobre el sistema operativo Linux.

Cualquier idea que tengas en referencia a este sitio, enviame un correo electrónico directamente con el formulario de contacto o escribí un mensaje con tu opinión.

¡Hasta el próximo apunte!

3 Comments

  1. Nicolas

    Excelente publicación, pude personalizar la terminal a mi gusto, gracias!

  2. Owynn

    Buen vlog, me resultó muy útil hermano, sigue así!

Leave a Reply