Personaliza el mensaje de bienvenida en Linux al iniciar sesión (bash o zsh)

Personaliza el mensaje de bienvenida en Linux al iniciar sesión (bash o zsh)

Una terminal con un toque personalizado puede marcar la diferencia. Ya sea porque gestionas servidores, usas WSL, o simplemente te gusta tener tu entorno ordenado y estético, mostrar información útil al iniciar sesión es una excelente práctica. En este artículo aprenderás a configurar un mensaje de bienvenida profesional y visualmente agradable usando un pequeño script.

¿Qué vas a lograr?

Cada vez que inicies sesión en tu servidor (por SSH o local), verás algo así:

Welcome

    🖥  OS: Debian GNU/Linux 12 (bookworm)
    🏠  Hostname: servidor-principal
    💡  IP Address: 192.168.1.10

    📈 Uptime: up 5 days, 4 hours
    💽 Uso disco (raíz): 4.2G / 20G usados (21%)
    👥 Usuarios conectados: 2

Requisitos

  • Cualquier sistema Linux moderno (Ubuntu, Debian, etc.)
  • Shell bash o zsh (te explicamos para ambos)
  • Permisos de escritura para configurar el entorno

Paso 1: Crear el script de bienvenida

Vamos a usar un archivo de configuración que se ejecuta automáticamente al iniciar sesión.

Contenido del script

Copia este contenido tal cual:

[[ $- != *i* ]] && return  # Salir si no es una shell interactiva

echo ""
echo -e "\e[1mWelcome\e[0m"
echo ""

echo -e "    🖥  \e[33mOS: \e[1;92m$(lsb_release -d | cut -f2)\e[0m"
echo -e "    🏠  \e[33mHostname: \e[1;92m$(hostname)\e[0m"
echo -e "    💡  \e[33mIP Address: \e[1;92m$(hostname -I | awk '{print $1}')\e[0m"

echo ""
echo -e "    📈 \e[33mUptime: \e[1;92m $(uptime -p)"

disk_usage=$(df -h / | tail -1 | awk '{print $3 " / " $2 " usados (" $5 ")"}')
echo -e "    💽 \e[33mUso disco (raíz):\e[1;92m $disk_usage"

users_connected=$(who | wc -l)
echo -e "    👥 \e[33mUsuarios conectados:\e[1;92m $users_connected"

echo ""

Paso 2: Guardar el script

Para Bash (globalmente):
  1. Crea el archivo:
sudo nano /etc/profile.d/00-welcome.sh

2. Pega el contenido.
3. Guarda y sal con CTRL+O, ENTER, y luego CTRL+X.
4. Asegúrate de que tenga los permisos correctos:

sudo chmod 644 /etc/profile.d/00-welcome.sh

Para Zsh (por usuario):

  1. Edita tu archivo ~/.zlogin:
nano ~/.zlogin

2. Pega el contenido allí.

Zsh no ejecuta /etc/profile.d/* por defecto. Por eso debes usar ~/.zlogin para mostrar el mensaje al iniciar sesión. También es posible configurarlo para todos en /etc/zsh/zlogin

Paso 3: Probar que funciona

  • Cierra tu sesión SSH y vuelve a conectarte.
  • O bien, abre una nueva terminal (si estás trabajando localmente).
  • También puedes forzar la carga de la shell con:
bash --login

Limpieza y extras

  • Si usas muchas conexiones SSH, mantener este mensaje simple y rápido evitará demoras innecesarias.
  • Puedes ampliarlo fácilmente añadiendo más información (versión del kernel, memoria libre, carga promedio, etc.)
  • Para distribuciones sin lsb_release, puedes sustituir esa línea por:
os_name=$(grep PRETTY_NAME /etc/os-release | cut -d= -f2 | tr -d '"')

Resultado final

El mensaje de bienvenida no solo es más bonito, sino que te ofrece información crítica de un vistazo cada vez que inicias sesión. Esto es especialmente útil si gestionas varios servidores o entornos.

Bonus: ¿Quieres ver también el logo de Ubuntu o Debian?

Para una experiencia más visual aún, puedes instalar neofetch:

sudo apt install neofetch

Y añadir al inicio del script:

neofetch --ascii_distro ubuntu

Conclusiones

Personalizar el mensaje de bienvenida de tu sistema Linux no es solo una cuestión estética:
es una forma rápida y práctica de acceder a información clave cada vez que abres una terminal o te conectas por SSH.

Este tipo de ajustes te permite:

  • Tener una vista inmediata del estado básico del sistema, sin necesidad de comandos adicionales.
  • Mejorar la productividad si gestionas servidores o entornos remotos.
  • Dar un toque personal y profesional a tus terminales.

Además, es totalmente reversible, seguro y ligero, y puedes adaptarlo a tus necesidades fácilmente.

Comentarios

Aún no hay comentarios. ¿Por qué no comienzas el debate?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *