¿Para qué queremos instalar un entorno gráfico pesado o llenar el servidor de paneles web devoradores de RAM si a través de SSH podemos ser el doble de rápidos? ⚡ Cuando gestionas servidores locales, la eficiencia y la ligereza lo son todo.
En el ecosistema Linux, las TUI (Terminal User Interfaces) son las reinas indiscutibles: nos ofrecen lo mejor de los dos mundos, la potencia de la línea de comandos con la comodidad visual de una interfaz bien estructurada, todo ejecutándose directamente sobre la shell. 💻
En esta guía os comparto mi "Navaja Suiza" particular: el conjunto de herramientas esenciales que instalo por defecto en cada máquina Ubuntu que toco. Son utilidades diseñadas para administrar recursos, auditar discos, levantar contenedores y movernos por el sistema a la velocidad del rayo sin despegar las manos del teclado. 🦅
Aquí tenéis el desglose rápido de lo que vamos a desplegar hoy:
🛠️ RESUMEN DE COMANDOS INSTALADOS
yy(Yazi): Nuestro navegador de archivos ultra-rápido en la terminal. Lo mejor que tiene es su memoria de ruta; vuelves exactamente a donde lo dejaste sin picar código de más. 📂

stui(Systemd TUI): Olvídate de encadenarsystemctl status. Con esto gestionamos, arrancamos y paramos los servicios de Systemd de forma visual y directa. ⚙️

btop: El monitor de recursos definitivo. Visualmente es una locura y te da de un vistazo el estado de la CPU, memoria, discos y procesos con gráficos en tiempo real. 📊

ncdu: El salvavidas cuando el disco se llena misteriosamente. Analiza el espacio ocupado y te permite rastrear qué carpeta o log gigante se está comiendo los gigas. 🎛️

lzd(Lazydocker): La forma más cómoda de controlar tus contenedores, revisar logs, ver el uso de CPU de Docker y reiniciar stacks sin escribir comandos kilométricos. 🐳

zsh: Nuestra terminal vitaminada. Con el autocompletado inteligente y el histórico avanzado, escribir comandos se vuelve casi automático. 🚀


A continuación, os explico el paso a paso de cómo automatizar la instalación de este kit de herramientas y cómo dejarlas configuradas para empezar a trabajar como un verdadero profesional de la terminal. 👇
Esta guia configura un entorno profesional de terminal basado en Zsh y herramientas TUI modernas.
- PREPARACION DEL SISTEMA
Actualización de repositorios y dependencias base para las herramientas TUI:
sudo apt update && sudo apt install -y curl wget git unzip build-essential file fzf ripgrep fd-find poppler-utils unar jq zoxide 7zipbash
- ZSH + OH MY ZSH + PLUGINS
Instalacion de Zsh, Oh My Zsh y los plugins de productividad (Autosuggestions y Syntax Highlighting):
# Instalar Zsh
sudo apt install -y zsh
# Instalar Oh My Zsh (Modo no interactivo)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended
# Instalar plugins externos
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# Configurar plugins en el archivo .zshrc
sed -i 's/plugins=(git)/plugins=(git zsh-autosuggestions zsh-syntax-highlighting zoxide)/' ~/.zshrc
bash
- INSTALACION DE HERRAMIENTAS (APT)
sudo apt install -y btop ncdu
bash
- INSTALACION DE BINARIOS (YAZI, SYSTEMCTL-TUI, LAZYDOCKER)
Yazi (Version MUSL por compatibilidad)
wget https://github.com/sxyazi/yazi/releases/latest/download/yazi-x86_64-unknown-linux-musl.zip
unzip yazi-x86_64-unknown-linux-musl.zip
sudo mv yazi-x86_64-unknown-linux-musl/yazi yazi-x86_64-unknown-linux-musl/ya /usr/local/bin/
rm -rf yazi-x86_64-unknown-linux-musl*
bash
Systemctl-tui
wget https://github.com/rgwood/systemctl-tui/releases/latest/download/systemctl-tui-linux-x86_64.tar.gz
tar -xzf systemctl-tui-linux-x86_64.tar.gz
sudo mv systemctl-tui /usr/local/bin/
rm systemctl-tui-linux-x86_64.tar.gz
bash
Lazydocker
curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash
sudo mv $HOME/.local/bin/lazydocker /usr/local/bin/
bash
- CONFIGURACION FINAL DEL ENTORNO
Añadir funciones y variables necesarias al archivo .zshrc para que todo funcione fluido:
cat << 'EOF' >> ~/.zshrc
# Configurar Nano como editor predeterminado
export EDITOR="nano"
# Funcion para que Yazi cambie el directorio al salir con 'yy'
function yy() {
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")"
yazi "$@" --cwd-file="$tmp"
if cwd="$(cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
builtin cd -- "$cwd"
fi
rm -f -- "$tmp"
}
# Alias rapidos
alias lzd='lazydocker'
alias stui='systemctl-tui'
EOF
bash
- APLICAR CAMBIOS
# Cambiar el shell por defecto a Zsh
sudo chsh -s $(which zsh) $(whoami)
# Recargar configuracion
source ~/.zshrc
bash
RESUMEN DE COMANDOS INSTALADOS:
- yy: Lanzar Yazi (navegador de archivos con memoria de ruta).
- stui: Gestionar servicios de Systemd de forma visual.
- btop: Monitor de recursos avanzado.
- ncdu: Analizador de espacio en disco.
- lzd: Gestionar contenedores Docker.
- zsh: Terminal vitaminada con autocompletado inteligente.
