Aunque bash
es el intérprete de comandos más usado en los entornos de Linux, Zsh
(Z Shell) es un potente shell que ha estado ganando terreno, en gran parte por entornos como Oh My ZSH o powerlevel10k. En este post vamos a ver cómo instalar Zsh y Oh My ZSH.
Vamos a instalar Zsh
en Fedora mediante la utileria dnf
.
sudo dnf install zsh
Para verificar la instalación ejecutamos.
zsh --version
zsh 5.9 (x86_64-redhat-linux-gnu)
Con Zsh
instalado, ya puedes utilizarlo con solo ejecutar el comando zsh
, pero cada vez que inicies tu consola iniciará con el shell por default, es mi caso bash
.
Cambiar zsh por default
Antes de cambiar Zsh
para que sea mi shell por default podemos revisar una lista de los shells disponibles en el sistema.
cat /etc/shells
# Salida
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/usr/bin/tmux
/bin/tmux
/usr/bin/zsh
/bin/zsh
Para revisar el que estamos usando ejecuta alguno de estos dos comandos.
echo $SHELL
echo $0
Otra manera de revisar cuál shell está usando un usuario puedes revisar el archivo /etc/passwd
y el último segmento lo indica.
Para establecer zsh por default usamos chsh
.
chsh -s /bin/zsh
En Fedora chsh
no viene instalado de origen, pero puedes usar dnf
para hacerlo.
dnf install util-linux-user
Si no quieres instalar chsh
, lo puedes hacer ejecutando.
sudo usermod -s /bin/zsh $USER
Instalar Oh My ZSH
Oh My ZSH es el entorno más popular para Zsh
y es bastante configurable.
Para instalarlo ejecutamos:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
Una de las ventajas que tiene OMZsh son sus temas gráficos. Por default el tema es “robbyrussell”. Esta configuración se encuentra en el archivo en la carpeta de usuario llamado .zshrc
en la variable ZSH_THEME="robbyrussell"
.
Puedes colocar temas aleatorios haciendo lo siguiente.
# Establecemos en nombre "random"
ZSH_THEME="random"
# Luego hacemos una lista de los posibles valores
ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster","gallois","kolo")
Una vez establecido este cambio o cualquier otro en el archivo .zshrc
, debemos ejecutar.
source .zshrc
Plugins de OMZsh
OMZsh tiene muchos plugins que puedes consultar aquí. Y que se pueden activar dentro del .zshrc
. Los que más uso son git
, sudo
y copyfile
.
plugins=(git sudo copyfile)
Sudo
es para que al dar dos veces la tecla Esc
se agregue al inicio la palabra sudo
y ejecutes el comando como superusuario.
Copyfile
carga el contenido de un archivo al clipboard del sistema, usando copyfile nombre-archivo
.
Hay otros plugins creados para el entorno de Zsh
. Los dos más populares son:
- zsh-syntax-highlighting: te pone en verde o rojo si los comandos están bien escritos o si existen en el sistema.
- zsh-autosuggestions: puedes ver comandos ya usados y de acuerdo a lo que escribas te va sugiriendo opciones.
# zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
Como ves, instalar Zsh y Oh My ZSH es bastante sencillo y ya tienes un entorno que puedes continuar adecuando según tus necesidades.
Saludos.