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.
Relacionado – ¿Cómo personalizar el CMD en Windows?
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:
- 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.
- 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
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/
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:
Y podremos también aplicar uno de los estilos que incorpora, por ejemplo «extensive»:
prompt_style=extensive
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
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 😀
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.
Categories
deweloper View All
Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.