18 Oct 2017

Personalización de la terminal de Linux

Esta es una pequeña entrada en mi blog con la cual me gustaría compartir la experiencia que tuve al intentar personalizar la terminal de mi distribución Linux. Me refiero a la distribución Ubutuntu16-LTS.


Objetivos

  • Aumentar las capacidades de configuración del shell y terminal de Ubuntu.
  • Personalizar el prompt de nuestra Terminal utilizando la shell ZSH y el programa oh-my-zsh.


¿Por dónde empezar?



En mi caso empecé por instalar una Terminal la cual creo que es mucho mejor que la que viene instalada por defecto en el sistema operativo. La misma se llama Terminator, esta terminal permite dividir el espacio de trabajo en múltibles subventanas, ya sea realizando diviciones verticales u horizontales, lo cual ofrece la posivilidad de lanzar o ejecutar múltiples instancias sin necesitar de estar cambiando de espacio de trabajo. En caso de querer utilizar esta terminal, se deben ejecutar los siguientes comandos en el Terminal por defecto o el de preferencia:

Adicional a esto, aun falta una característica, la cual díria que es la más importante. Terminator permite agrupar ventanas de tal forma que sea posible enviar instrucciones através de múltiples ventanas con solo hacerlo desde una de ellas, lo que se conoce como Broadcast.

Drawing

Utilizando la función de *Broadcast*.

En la figura anterior muestro cómo establezco multiples accesos ssh a mi Beagle Bone Black al mismo tiempo utilizando la funcionalidad de “Broadcast” de terminator. Por lo cual es una funcionalidad muy útil cuando se desea enviar la misma orden múltiples veces.

Luego que hemos visto las ventajas de utilizar Terminator, prosigamos con la personalización de este emulador para que luzca como ya se ha mostrado en la figura anterior.


Instalación de Zsh y oh-my-zsh

Para empezar.. ¿qué es Zsh?. Para explicar esto hace falta mencionar que por defecto en todos los sistemas basados en Unix, por ende en Linux y sus distros, el shell, que no es más que el motor que se ecncarga de procesar las instrucciones dadas a través de la interfaz de la Terminal, es el llamado bash el cual representa un lenguaje de programación en si.

Habiendo dicho esto, ahora podemos preguntarnos ¿y es el único que existe?… la respuesta es NO. En el mercado existen otras posibilidades como el ZSH, el cual es un shell y lenguaje de programación. Pero a diferencia del bash está diseñado para ofrecer un uso interactivo, ofreciendo una mayor velocidad de desarrollo y la posibilidad de expandir su uso gracias a la comunidad que desarrolla en base a este shell. Para más información visitar su sitio web —> ZSH.


Instalación de ZSH

Para proceder con la instalación solamente hay que ejecutar las siguientes dos instrucciones en la Terminal:

sudo apt-get update
sudo apt-get install zsh

luego para verificar que la instalación ha sido completada,

zsh --version

y por último, para configurar el nuevo shell como el shell por defecto

sudo chsh -s $(which zsh)

Luego de tener ZSH instalado, podemos proceder a instalar oh-my-zsh el cual es un proyecto de código abierto que nos ayudará a configurar el shell utilizando un sin número de plugins que tendremos a nuestra disposición. Para la instalación ejecutar

sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

Para más información, visitar –> Oh-My-Zsh


¡Instalando nuestro primer tema!


Vamos a proceder a la instalación de nuestro primer y fundamental tema, y digo fundamental porque este contiene una gran cantidad de glyphs. Para poder utilizar este tema también será necesario la instalación de las fuentes Powerline y Awesone-Powerline. Primero procederemos con la instalación del tema,

 git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k

Ahora modemos seleccionar el tema modificando el archivo ~/.zshrc añadíendole la siguiente linea

ZSH_THEME=”powerlevel9k/powerlevel9k”

Luego de esto procedemos a la instalación de las fuentes, para esto tendremos que ejecutar los siguentes comandos,

git clone https://github.com/powerline/fonts.git --depth=1
cd fonts
./install.sh
cd ..
rm -rf fonts

con esto instalamos las fuentes Powerline, ahora solo nos queda faltando las fuentes Awesone-Powerline, para instalar estas procedemos de la siguiente manera,

git clone https://github.com/gabrielelana/awesome-terminal-fonts
cp -r ~/awesome-terminal-fonts/build ~/.fonts
fc-cache -fv ~/.fonts

Una vez hecho esto, deberíamos poder configurar los disintos parámetros contenidos en el archivo ~/.zshrc para ajustar la apariencia de la terminal a nuestra preferencia. Por ejemplo, para este caso la terminal luciría así:

Drawing

Tema *Powerline* utilizando las fuentes SourceCodePro+Powerline+Awesone.


Tema Nerd-Fonts


Otro tema que me parece mezcla muy bien los distintos glyphs y letras es el tema basado en Nerd Fonts, este es un tema que incluye diferentes iconos de distintas fuentes como Font Awesome, Devicons, Octicons y otros más. Para ver información más detallada visitar el repositorio de Nerd Fonts


Instalación de las fuentes


Podriamos decir que existen dos métodos de instalar las fuentes Nerd Fonts en nuestro ordenador. El primer método consiste en clonar el repositorio y luego ejecutar el sript install.sh el cual nos instalaría todo el paquete de fuentes incluidas en el repositorio. Esto significa que el proceso tomaría mucho tiempo y espacio en nuestra unidad de almacenamiento. Este proceso se ejecutaría de la siguiente forma:

git clone https://github.com/ryanoasis/nerd-fonts.git
cd nerd-fonts
sudo ./install.sh

En el caso de obtener algún error durante la ejecución del último comando, revisar que el archivo install.sh cuenta con los permisos de ejecución, o lo que es lo mismo, se los asignamos directamente de la siguiente manera:

chmod +x install.sh

El segundo método consiste en instalar solamente las fuentes necesarias, en este caso estamos hablando de Share Tech Mono Nerd Font Complete Mono y Shure Tech Mono Nerd Font Complete. Estas fuentes han sido ya parchadas por lo cual no es necesario que hagamos ningún procedimiento adicional. Solo debemos descargar la fuentes de este enlace y copiar los dos juegos de fuentes en el directorio en donde se encuentran instaladas las fuentes en su sistema operativo, en la mayoria de los casos en la carpeta ~/.fonts como se muestra en la figura,

Una vez instaladas las fuentes solo necesitamos decirle a Terminator que debe usar estas fuentes por defecto para así poder contar con los glyghs de este paquete así como la fuente en si (forma de las letras). Para esto hacemos una vez click con el botón derecho del ratón sobre algún punto dentro de la ventana de Terminatro y seleccionamos Preferencias del menú desplegable, luego cambiamos las fuentes que aparecen por defecto en la pestaña llamada Global, seleccionamos ShureTechMono Nerd Font y hacemos lo propio en la pestaña Profile -> General.

Por último vamos a necesitar un archivo de configuración .zshrc, este es un archivo el cual debe incluir una serie de instrucciones dirigidas a seleccionar los diferentes iconos que aparecerán en el Terminal así como el arreglo en el cual estarán dispuestos.

Ejemplos de archivos de configuración pueden ser encontrados en este enlace. Adicional les puedo dejar el archivo de configuración de mi Terminal la cual está basada en los archivos de configuración a los que hago previa referencia. Dichos archivos de configuración los podrán encontrar en el siguiente enlace. O pueden clonar la rama de mi repositorio en donde se encuentran,

cd ~
git clone --branch=zsh-config https://github.com/jdelacruz26/misccode.git

Los archivo los encontrarán dentro de la carpeta misccode descargada, son dos archivos relevantes los cuales tendrán que copiar en su directorio personal como archivos ocultos,

cd misccode
cp my.zshrc ~/.zshrc
cp my.inputrc ~/.inputrc

luego de esto cierren las terminales que tengan abiertas y vuelvanlas a abrir, ahora la terminal debe lucir así:

Drawing
Tema *Nerd Fonts* utilizando *ShureTechMonoNerdFontComplete*.


Conclusiones

En este pequeño instructivo su pudo mostrar como actualizar nuestra terminal por defecto en Ubuntu, instalando una nueva llamada Terminator. Esta terminal nos permitió dividir la ventana principal en subventanas además de la opción de agrupar las subventanas para realizar un Broadcast entre ellas.

Por último, pudimos ver cómo instalando la shell ZSH y el programa oh-my-zsh, acompañado de otros paquetes de fuentes como Powerline y Nerd Fonts, lográbamos configurar el prompt de nuestra terminal dándole un aspecto más atractivo que nos permitiera !echarle más ganas durante nuestras horas de trabajo o diversión!


Licencia Creative Commons
Personalización de la terminal de Linux por Jorge De La Cruz se distribuye bajo una Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional.

Tags:
Stats:
0 comments