Mr.PlanB Logo
    Volver al blog
    Proxmox
    SSH
    Linux
    Shell
    Productividad

    No olvides tus sesiones activas: un truco de shell para Proxmox por SSH

    21 de diciembre de 2025
    4 min de lectura

    Si has pasado algún tiempo administrando sistemas remotos por SSH, ya conoces la historia. Abres una sesión y te metes de lleno en una tarea (quizá actualizando una máquina virtual, migrando contenedores o ejecutando un script que tarda algo más de lo previsto), y de pronto surge una interrupción. Más tarde, a veces mucho después, vuelves a conectar... y descubres que aquella sesión de screen de antes sigue activa. Tal vez desacoplada, tal vez no, pero olvidada con certeza.

    Esa es justo la frustración cotidiana que un usuario se propuso resolver con un truco sencillo en el archivo .bashrc, y sinceramente, es la clase de mejora práctica que merece algo más de atención.

    Una sola línea para controlar tus sesiones

    Aquí tienes el consejo que abrió el debate. Añade esto a tu archivo .bashrc:

    screen -ls | grep -e Attached -e Detached
    

    ¿Qué hace exactamente? Cada vez que inicias una nueva sesión de terminal, por ejemplo al entrar por SSH en tu servidor Proxmox, recibes un aviso inmediato si existen sesiones de screen en ejecución. Revisa tanto sesiones acopladas como desacopladas, funcionando como un recordatorio de que pudiste haber dejado algo abierto.

    No tiene misterio, pero cumple su cometido. Cuando estás gestionando varias tareas remotas a la vez o ejecutando operaciones largas que no quieres interrumpir por error, ese aviso te ahorra bastantes disgustos.

    Por qué es importante

    Para quien no esté acostumbrado, puede parecer algo menor. "¿Qué más da si una sesión de screen se queda corriendo?", preguntaba un usuario. Es una duda comprensible. Al fin y al cabo, screen (y su alternativa tmux) están pensados expresamente para mantener procesos en segundo plano, incluso tras caer la conexión SSH.

    Dejar sesiones abiertas no supone un problema en sí mismo. El problema surge cuando olvidas por completo que siguen ahí.

    Un participante lo explicó a la perfección:

    "A veces me distraigo mientras hago tareas en la shell en el trabajo. He hecho transferencias grandes de VM y contenedores por SSH y uso screen por si la sesión se cae, por poner un ejemplo."

    Si olvidas que una operación pesada sigue en marcha, o peor aún, arrancas una tarea incompatible en otra sesión sin darte cuenta, el resultado puede ser desagradable: pérdida de datos, procesos duplicados o tiempo perdido intentando averiguar qué sucede. Un aviso rápido al iniciar sesión es una precaución elemental.

    Si usas tmux, también hay solución

    ¿No utilizas screen? Ningún problema, porque los usuarios de tmux no tardaron en aportar alternativas. Una de las opciones más populares para el archivo .bashrc fue esta línea tan limpia:

    tmux new -A -s main
    

    La lógica es sencilla: si ya existe una sesión de tmux llamada "main", se acopla a ella; si no existe, la crea en el acto. Es una forma cómoda de reanudar tu entorno de trabajo automáticamente sin tener que consultar tmux ls ni adivinar nombres de sesión.

    Para quienes prefieren alias, otro miembro compartió este recurso:

    alias t='tmux a || tmux'
    

    Con esto, el comando t intenta acoplarse a la sesión más reciente y, si no encuentra ninguna, inicia una nueva. Simple, ordenado y eficaz.

    La recompensa: tranquilidad mental

    Ninguno de estos ajustes de shell reinventa la rueda, y esa es precisamente su gracia. Son elementales, fáciles de aplicar y eliminan una pequeña distracción mental en una rutina que ya suele estar sobrecargada de complejidades.

    Quienes administran Proxmox conviven habitualmente con múltiples capas de abstracción (máquinas virtuales, contenedores, configuraciones de red, backups, almacenamiento), donde un fallo en un sitio repercute en el resto. Olvidar una sesión de terminal activa no provocará una catástrofe cada día, pero constituye una fisura en el flujo de trabajo que puede agrandarse en el peor momento.

    Estos ajustes funcionan como notas adhesivas en tu terminal. Si alternas con frecuencia entre varios nodos o entornos de Proxmox por SSH, esos pequeños recordatorios te ayudan a mantener el orden.

    Pero... ¿de verdad es tan malo dejar sesiones abiertas?

    El debate técnico siempre genera opiniones encontradas. "¿Por qué importa dejar una sesión corriendo?", argumentaba un usuario, señalando que el consumo de recursos es mínimo y que la persistencia es precisamente la razón de ser de herramientas como screen.

    No le falta razón. Si tu forma de trabajar implica dejar sesiones abiertas durante horas o días sin contratiempos y llevas la cuenta mental sin despistes, adelante. Incluso en ese caso, resulta útil saber con exactitud qué se está ejecutando, sobre todo en servidores compartidos o al gestionar tareas críticas.

    Además, todos nos despistamos de vez en cuando. Cerramos el portátil con prisa, entramos a una reunión o sufrimos un corte imprevisto de red. Un aviso de este tipo te ayuda a mantener el control sobre lo que ocurre en tu máquina.

    Un paso más allá: .bash_logout

    Otro usuario propuso una alternativa interesante: en vez de revisar las sesiones al entrar, ¿por qué no hacerlo al salir? Para eso existe el archivo ~/.bash_logout. Puedes incluir comandos similares allí para lanzar una última comprobación antes de cerrar la shell:

    screen -ls | grep Detached
    

    Así recibes el recordatorio justo al desconectarte. Es como si el terminal te avisara antes de marcharte de que has dejado una tarea a medias. Un detalle muy práctico.

    ¿Es una exageración? Quizá, aunque en realidad no tanto

    En un ecosistema dominado por tareas cron, playbooks de Ansible y configuraciones enrevesadas de passthrough de GPU, un truco así parece casi una reliquia: una sola línea, sin dependencias ni instaladores, simplemente tu intérprete de comandos aportando un granito de arena para evitar errores.

    Es el equivalente digital a dejar las llaves siempre en el mismo sitio. Quizá nunca las pierdas, pero no está de más ponértelo fácil.

    Conclusión: el valor de los pequeños ajustes

    A veces tendemos a ignorar estas pequeñas optimizaciones. No parecen urgentes ni llamativas, pero su beneficio acumulado se nota con el tiempo, igual que revisar el código, poner nombres coherentes a los servidores o documentar lo justo y necesario.

    Esta línea en .bashrc no va a cambiar el mundo. Puede evitar que reinicies una máquina virtual colgada porque olvidaste que una transferencia seguía activa en una sesión desacoplada, o ahorrarte rastrear archivos de log tras matar accidentalmente un proceso de fondo, y eso justifica de sobra añadirla a tu configuración.