En este artículo veremos como instalar y configurar zsh para tener una terminal moderna, atractiva y con funcionalidades interesantes como autocompletado de comandos basado en el historial, resaltado y detección de comandos existentes o completado avanzado de comandos.
Instalar Z Shell (zsh)
El intérprete Z Shell (más conocido como zsh
) es uno de los shells más conocidos de GNU/Linux, adoptado hace poco por Apple como su intérprete de terminal por defecto desde 2019. Hoy en día, quizás el más extendido es bash, sin embargo, zsh gana cada día más adeptos debido a su capacidad y potencia de personalización y su activa comunidad. Es una excelente alternativa a bash.
Si tenemos un sistema recién instalado (o por defecto), lo más probable es que tengamos un bash o un sh (más simple). Lo primero que necesitamos tener instalado en nuestro sistema es el intérprete de zsh. Para instalarlo utilizaremos apt
, que se encargará de buscar los paquetes necesarios y sus dependencias:
sudo apt update && sudo apt install zsh
Con esto tendríamos el intérprete instalado, pero se trata de un «zsh pelado», sin configuración. De hecho, de momento ni siquiera se va a iniciar por si solo y seguiremos utilizando el interprete que teníamos antes. Si escribimos zsh
podemos obligar al sistema a abrir zsh y ver si se ha instalado correctamente. Nos debería aparece una pantalla similar a la siguiente:
zsh.newuser-install.
You are seeing this message because you have no zsh startup files
(the files .zshenv, .zprofile, .zshrc, .zlogin in the directory
~). This function can help you with a few settings that should
make your use of the shell easier.
You can:
(q) Quit and do nothing. The function will be run again next time.
(0) Exit, creating the file ~/.zshrc containing just a comment.
That will prevent this function being run again.
(1) Continue to the main menu.
(2) Populate your ~/.zshrc with the configuration recommended
by the system administrator and exit (you will need to edit
the file by hand, if so desired).
--- Type one of the keys in parentheses ---
Esta es la pantalla de bienvenida de zsh, que nos da varias opciones para configurarlo manualmente, dejar su configuración vacía, entre otras. Marcamos la opción 0, que simplemente creará nuestro fichero de configuración ~/.zshrc
para que no nos vuelva a salir este mensaje de bienvenida cada vez que arranquemos zsh.
Si todo ha ido bien, debería aparecernos algo parecido a esto (con el nombre de nuestro sistema):
DESKTOP-OHQ7ANH% _
Escribimos exit
para salir de esta sesión y volver a la anterior (donde aún no usabamos zsh
).
Usar zsh por defecto
Habrás comprobado que si cierras la terminal y la vuelves a abrir, parece no haber cambiado nada y no inicia zsh. Esto ocurre porque aunque está instalada en el sistema, aún estás usando otro intérprete de comandos (probablemente, el anterior que tenías). Para saber que intérprete de comandos o shell estamos utilizando, puedes escribir echo $0
o echo $SHELL
, el cuál debería mostrarte cuál estas utilizando en el momento actual.
Por otro lado, escribiendo cat /etc/shells
podemos ver que intérpretes tenemos instalados en nuestro sistema y podemos utilizar. Si queremos cambiar el shell con el que inicia un usuario (por ejemplo, manz), solo tenemos que utilizar el comando chsh
(change shell):
chsh manz -s /bin/zsh
Perfecto. Ahora cuando volvamos a abrir una terminal, nos arrancará la shell zsh. Ahora que ya lo tenemos todo listo, toca configurarlo para que haga magia.