Guía "Navaja Suiza" Tui para Ubuntu

Guía "Navaja Suiza" Tui para Ubuntu

¿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 encadenar systemctl 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. 🚀
Oh My Zsh - a delightful & open source framework for Zsh
Oh My Zsh is a popular open-source Zsh configuration framework loved by developers worldwide. It includes 300+ plugins, themes, and tweaks to supercharge your terminal experience.

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.

  1. 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 7zip

bash

  1. 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

  1. INSTALACION DE HERRAMIENTAS (APT)
sudo apt install -y btop ncdu

bash

  1. 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

  1. 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

  1. 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.