Usando Jm-shell para personalizar el terminal de Linux

Usando Jm-shell para personalizar el terminal de Linux

En el apartado que dedico a Linux en este blog, hoy he decidido hablar de una herramienta útil para los usuarios que quieran obtener más información y personalizar el aspecto de la shell del sistema operativo. Con el nombre de jm-shell obtendremos una nueva shell para Linux que proporcionará mayor información y nuevos diseños, algunos de ellos muy geeks.

La ides de analizar este complemento me vino de Techmint y me pareció bastante útil así que he decido hablaros también de las posibilidades de esta herramienta.

Análisis del complemento de terminal Jm-shell

Peculiaridades

Antes de continuar merece la pena detenerse en dos aspectos que diferencian este tipo de consola:

  1. Al contrario que Bash (que solamente guarda el historial de comandos en un archivo) Jm-shell recoge de manera independiente el historial de cada terminal abierto, en diferentes archivos.
  2. Si nos encontramos en un repositorio de código como pudiera ser Git o Subversion, se nos mostrará información adicional sobre repositorios, por ejemplo la rama activa.

El diseño predefinido de esta shell es el siguiente:

usuario@host:ruta

Este diseño se puede modificar por una de las otras 5 variantes.

Más características

  • Posee un divisor para separar comandos
  • Muestra el número de elementos en cada directorio
  • Muestra la ubicación actual
  • Muestra la hora a la que se finalizó el último comando
  • Muestra la carga actual del sistema*
  • Recoge en pantalla el código de error (si lo hubiera) del último comando lanzado
  • Si el comando previamente lanzado dura más de 4 segundos, se muestra su duración
  • Los trabajos en segundo plano están soportados
  • Muestra el nivel de carga de bateria en el terminal (si no está al 100%) en portátiles.

Y más…

Pasos para instalar Jm-shell

Para instalar este nuevo terminal fácilmente, lo único que haremos es clonar el repositorio desde Git de la siguiente forma y movernos al directorio recién creado.

git clone https://github.com/jmcclare/jm-shell.git

cd jm-shell

Ahora vamos a configurar el intérprete Bash para que utilice jm-shell. Para ello crearemos o copiaremos un enlace simbólico para cada uno de los 3 archivos que vienen en la carpeta (excepto el Readme). Si no existe el directorio ~/.local/lib/bash deberemos crearlo.

Veamos como crear el directorio:

mkdir ~/.local/lib/bash

jm-shell linux 3

NOTA: ~ significa nuestro directorio personal, en mi caso se correspondería con /home/alejandro/

Ahora crearemos los enlaces:

cp -v colors.sh colors_unset.sh ps1 -t ~/.local/lib/bash/

jm-shell linux 2

Lo siguiente que haremos es usar el comando source para dirigirlo hacia nuestro nuevo archivo “ps1”. Podemos hacerlo desde la consola para probar:

source ~/.local/lib/bash/ps1

Veremos como el estado del terminal cambia:

jm-shell linux 1

Y podremos también aplicar uno de los estilos que incorpora, por ejemplo “extensive”:

prompt_style=extensive

jm-shell linux 4

Cambios persistentes

Pero lo que más nos interesará es guardar dicha linea en nuestro archivo de inicialización de shell, ~/.bashrc. De esta forma no tendremos que usar “source” tras cada reinicio del sistema y los cambios se mantendrán.

Para ello abriremos el archivo .bashrc de nuestro espacio personal con uno de los editores de texto:

sudo nano ~/.bashrc

Ahora pegaremos las dos lineas anteriores:

source ~/.local/lib/bash/ps1
prompt_style=extensive

jm-shell linux 7

Guardaremos los cambios (con nano es pulsando CTRL + X) y usaremos este comando:

source ~/.bashrc

Estilos de terminal

Una de las cosas interesantes es que podemos modificar el estilo del terminal entre 7 variantes diferentes. Por ejemplo aquí se puede ver el estilo “erection”, que creo no necesita traducción 😀

jm-shell linux 6

Estilos

  • standard/default: estilo predefinido del sistema
  • tweaked: se aplica una ligera modificación de colores, soporta ejecución de jobs en segundo plano
  • extensive: la que habéis visto antes, es la visión con más información posible
  • minimal: solo se muestra un símbolo dólar, minimalista
  • kirby: un muñeco se mueve con cada comando introducido
  • divider: el precedente de “extensive”, emplea solo variables estandar de bash

Si nos interesa, también podremos cambiar el lugar donde se guardan los log de cada terminal que van rotando. Por defecto se almacenan en ~/.local/share/bash/shell.log. Guardaremos la siguiente linea en nuestro archivo ~/bashrc:

BASHSHELLLOGFILE=~/.bash-shell.log

Conclusiones

Hemos llegado al final del tutorial de hoy. Como habrás podido ver, Jm-Shell es una herramienta de personalización para nuestra shell que resulta muy útil para hardcore users, con herramientas para el uso cotidiano y varios script para personalizar el diseño del terminal.

Deja tu comentario (puedes hacerlo de forma anónima)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.