Cómo utilizar Screen de Linux para una gestión eficaz del terminal en 2024

Screen Linux es un multiplexor de terminal que permite a los usuarios crear varias sesiones virtuales de shell en su sistema. Guarda el proceso actual en terminal, manteniéndolo en ejecución incluso después de que el usuario se desconecte del servidor.

También conocida como GNU Screen, esta herramienta es especialmente útil cuando se gestionan sistemas remotos como un servidor privado virtual (VPS) alojado mediante SSH.

Su capacidad para crear varias sesiones de terminal ayuda a los usuarios a realizar varias tareas a la vez y a colaborar fácilmente.

En este artículo, te explicaremos cómo instalar Screen en Linux y ejemplos de comandos. También aprenderás varios consejos para utilizarla y emparejarla con nuestro asistente de IA, Kodee, para mejorar la productividad del terminal Linux.

Screen Linux es una utilidad de línea de comandos para crear y gestionar varias sesiones de terminal. Te permite crear un shell virtual cuyo proceso permanece en ejecución incluso después de que el usuario se desconecte del servidor.
Con Screen, los usuarios de VPS pueden abandonar una sesión SSH y continuar donde la dejaron. Está disponible en la mayoría de las distribuciones de Linux, incluidos los sistemas operativos basados en Debian y RHEL.

Cómo instalar el comando Screen de Linux

Tras configurar tu VPS, conéctate al servidor remoto mediante SSH utilizando PuTTY o terminal

Si utilizas Hostinger, utiliza nuestro Terminal del navegador en hPanel para ejecutar comandos de Linux directamente desde tu navegador web.

Vista general del panel VPS de hPanel

Introduce las credenciales de acceso SSH. En hPanel, esta información se encuentra en la pestaña Acceso SSH del menú general del VPS. Una vez conectado, ejecuta el siguiente comando para comprobar si tu sistema tiene instalada la utilidad GNU Screen:

screen --version
Uso del comando screen --version

Si terminal te devuelve el número de versión, tu sistema ya tiene Screen instalado. En caso contrario, ejecuta estos comandos para instalar Screen en Ubuntu 22.04 u otros derivados de Debian:

sudo apt update
sudo apt install screen

Para instalar Screen en sistemas derivados de RHEL como CentOS, utiliza dnf o yum. Para versiones más recientes como CentOS 8 o posteriores, utiliza los siguientes comandos dnf:

sudo dnf update
sudo dnf install screen

Consejo profesional

Descubre más cuáles son las mejores distribuciones de Linux para tu VPS.

Alternativamente, instala Screen desde su repositorio. Aquí te explicamos cómo hacerlo en Ubuntu 22.04:

  1. Ejecuta estos comandos para instalar GCC y la biblioteca ncurses. Si ya los tienes, omite este paso.
sudo apt -y install gcc
sudo apt -y install libncurses-dev
  1. Obtén el archivo de instalación de Screen del repositorio utilizando el comando wget:
wget https://ftp.gnu.org/gnu/screen/screen-4.9.1.tar.gz
  1. Descomprime el archivo utilizando el comando tar.
tar -xvf screen-4.9.1.tar.gz
  1. Navega hasta el directorio descomprimido utilizando cd:
cd screen-4.9.1
  1. Ejecuta la instalación utilizando este comando:
./configure
  1. Introduce este comando para construir y compilar GNU Screen:
make
  1. Instala Screen en tu sistema con el siguiente comando:
sudo make install
  1. Comprueba la versión de Screen de Linux para verificar si la instalación se ha realizado correctamente.

Ejemplos de uso de Screen de Linux

En esta sección, exploraremos algunos comandos de Screen Linux para diversos usos, con el fin de ayudarte a comprender la herramienta.

Iniciar una nueva sesión de Screen

Para iniciar una sesión, introduce el comando pantalla y pulsa la barra espaciadora para cerrar el mensaje de bienvenida. Si no especificas el nombre de la sesión, Screen lo establecerá automáticamente como tty1.hostname.

Para facilitar la identificación, da a tu sesión un nombre personalizado utilizando la opción -S. Por ejemplo, utiliza este comando de Screen para iniciar una nueva sesión llamada session1:

screen -S session1

Para salir de Screen, introduce el comando exit. terminal mostrará el siguiente mensaje, indicando que has vuelto al shell original:

Uso del comando exit

Crear una nueva ventana de terminal

Pulsa Ctrl-a + c en una sesión para crear una nueva ventana de Screen con un intérprete de comandos. Esta ventana de comandos independiente ayuda a agilizar la multitarea de la terminal de Linux y mejora el aislamiento de los procesos.

Para crear más instancias de terminal, repite el atajo de teclado según sea necesario. Introduce el comando exit o pulsa el atajo de teclado Ctrl-a + k para cerrar la ventana actual.

¡Importante! Para utilizar los atajos de pantalla de Linux, suelta Ctrl + a antes de pulsar la siguiente tecla. Los comandos distinguen entre mayúsculas y minúsculas, así que asegúrate de introducir correctamente las letras mayúsculas o minúsculas.

Cambiar entre ventanas

Utiliza atajos de teclado para cambiar entre ventanas en una sesión:

  • Ctrl-a + n: pasa a la siguiente ventana de la pantalla.
  • Ctrl-a + p: ir a la ventana anterior.
  • Ctrl-a + número ID: cambia a cualquier ventana de la Pantalla.
  • Ctrl-a + 1: pasa al segundo terminal. La numeración empieza desde cero.
  • Ctrl-a: púlsalo dos veces para alternar rápidamente entre la ventana actual y la anterior. Te moverá directamente a la última ventana de terminal a la que hayas accedido.

Ver y seleccionar de una lista todas las ventanas activas

En lugar de ir y venir entre varias ventanas de Screen, pulsa Ctrl-a + ” para listarlas todas. Navega por la lista utilizando las teclas de flecha y pulsa Intro para acceder a la resaltada.

Ver y seleccionar de una lista todas las ventanas activas

Screen Linux también te permite moverte entre las ventanas de pantalla utilizando su nombre. Para ello, pulsa Ctrl-a + ‘ e introduce su nombre.

Para cambiar el nombre de una ventana, navega hasta la instancia de terminal en cuestión y pulsa Ctrl-a + : para activar el modo comando. Introduce lo siguiente para cambiar su nombre:

title "Nombre de la ventana de la pantalla"

Abandonar una sesión de pantalla

Para abandonar una sesión de Screen y volver al intérprete de comandos original de terminal, pulsa el atajo de teclado Ctrl-a + d. Puedes hacerlo desde cualquier ventana de pantalla dentro de esa sesión.

La sesión desconectada mantiene sus procesos y ventanas ejecutándose en segundo plano. Si ejecutas una aplicación en esta sesión, permanecerá activa incluso después de desconectarte del servidor.

Listar todas las sesiones de pantalla activas

Para listar todas las sesiones activas, ejecuta el siguiente comando Screen en tu shell de terminal original:

screen -ls

Esto mostrará todas las sesiones de Screen en ejecución, sus estados de desvinculación, nombres e IDs de proceso. Esta información se utiliza para volver a unirse a la sesión de Screen.

Uso del comando screen -ls

Volver a una sesión de Screen desvinculada

Para volver a conectarte a una sesión de Pantalla en ejecución, ejecuta el siguiente comando en el terminal principal de tu sistema:

screen -r ID-name

Sustituye ID-name por el ID o nombre real de la sesión de Screen. Por ejemplo, puedes ejecutar cualquiera de los dos comandos de Screen para volver a conectarte a la sesión 1268.session1:

screen -r 1268
screen -r session1

Enviar comandos a una sesión desconectada

Screen de Linux te permite ejecutar comandos en una sesión desvinculada sin volver a vincularla y abrirla. Para ello, utiliza esta sintaxis:

screen -S session-name-or-id -X -p 0 command

Sustituye el 0 por el número de ventana del terminal. Por ejemplo, ejecutaremos el siguiente comando para hacer eco de un mensaje en la primera ventana de terminal de la sesión hostinger:

screen -S hostinger -X -p 0 echo "Test message"

La sesión de Pantalla virtual no producirá una salida si el comando se ejecuta correctamente. En su lugar, imprimirá mensajes de error y salidas del script bash.

Ejecutar procesos de larga duración

Screen mantiene los procesos de larga ejecución en segundo plano, permitiéndote continuar donde lo dejaste tras desconectarte de la sesión SSH actual. Esta función es útil para ejecutar scripts bash, que pueden tardar mucho tiempo en ejecutarse.

Para ello, crea una nueva sesión de Screen, ejecuta el script en la terminal virtual y desconéctate de ella. Alternativamente, ejecútalo a través del shell principal utilizando el comando stuff:

screen -S session -X -p 0 stuff "cd /script/directory/path; ./script.sh"$(printf \\r)

Además de los scripts bash, esta función mantiene activas las aplicaciones alojadas en segundo plano. Por ejemplo, permite que tu servidor Linux de Minecraft siga siendo accesible después de que abandones la sesión.

También puedes ejecutar el comando tail con la opción -f. Como Screen muestra las nuevas entradas del registro en una sesión virtual, puedes utilizar el intérprete de comandos principal de terminal para otras tareas.

Para supervisar la tarea en la sesión virtual, instala y activa una herramienta de seguimiento de procesos como htop. Para ello, ejecuta secuencialmente los siguientes comandos:

sudo apt install htop
screen -r session-name
htop
Herramienta de seguimiento de procesos htop

Colaboración a distancia y programación por parejas

La pantalla de Linux permite a los usuarios crear una sesión compartida de terminal para simplificar la colaboración y la gestión de tareas. Una sesión aislada también hace que la interfaz de la línea de comandos esté menos recargada, para que los usuarios puedan consultar fácilmente el historial de comandos.

Para conectarte a una sesión compartida de Screen existente, accede al servidor mediante SSH y conéctate utilizando este comando:

ssh user@vps-ip -t "screen -r session-name"

Para un cliente SSH, ejecuta el comando Screen por separado después de iniciar sesión en el servidor. Para simplificar la colaboración remota con Screen, crea varias instancias separadas de terminal en una ventana pulsando Ctrl-a + S.

Consejo profesional

Habilitar la sesión compartida en Linux permite que varios usuarios ejecuten comandos en tu servidor. Para mejorar la seguridad del VPS, activa la contraseña de pantalla introduciendo Ctrl-a + :contraseña en la sesión.

Ejecutar varias tareas simultáneamente

Puedes crear varias sesiones de Pantalla y ventanas, cada una ejecutando un proceso independiente. Esto simplifica la multitarea y mejora el aislamiento de los procesos y la eficiencia de los recursos.

Como cada tarea se ejecuta de forma independiente, puedes terminar las que no respondan sin afectar a otros procesos. Desactivarlas también te permite reasignar recursos del servidor para ejecutar otra tarea que requiera mucho hardware.

Ejecutar tareas en terminales aisladas también simplifica los datos de registro para facilitar la solución de problemas y la depuración. Para crear una sesión de Screen registrada, utiliza el siguiente comando:

screen -L -S session-name

Consejos de Screen para un uso eficaz

En esta sección, explicaremos buenas prácticas de Screen de Linux para ayudarte a utilizarla eficazmente para la gestión de VPS.

Personalizar la configuración de pantalla mediante .screenrc

Para modificar la configuración de Screen, edita el archivo de configuración del usuario en el directorio ~/.screenrc. Como Screen no proporciona este archivo por defecto, créalo introduciendo este comando como root:

cd ~; nano .screenrc

En el editor de texto, escribe las configuraciones de Screen y pulsa Ctrl-x + y para guardar los cambios. Puedes modificar varias configuraciones, entre ellas:

  • Escape: modifica el atajo para enviar comandos a Screen. El predeterminado es Ctrl-a.
  • Startup program (programa de inicio): establece comandos o scripts para que se ejecuten automáticamente cuando inicies Screen.
  • Keybindings (combinaciones de teclas): altera las combinaciones de teclas para los comandos y acciones de Screen.
  • Number (número): cambia la configuración de numeración de la ventana terminal. Puedes desactivarla o iniciar la ventana con otro número.
  • Startup message (mensaje de inicio): desactiva o activa el mensaje de bienvenida que se muestra tras iniciar una sesión de Pantalla.

Consejo profesional

Como el archivo .screenrc está oculto, utiliza el comando ls -a en el directorio para comprobar si se ha creado correctamente.

Por ejemplo, añade el siguiente fragmento para desactivar el mensaje de bienvenida y cambiar la tecla prefijo ctrl-a por defecto:

#Disable the welcome message
startup_message off
#Change prefix to alt-tab
escape ^Ii

Utilizar títulos de ventana relevantes para facilitar la navegación de la sesión

Tener varias sesiones de Screen en ejecución complica la navegación, sobre todo cuando comparten el mismo nombre. Para simplificar la tarea, te recomendamos que les des un nombre descriptivo, como proceso en ejecución o script.

Además de utilizar la opción -S para iniciar una nueva sesión con un nombre personalizado, Screen te permite renombrar las ya existentes. Para ello, accede a la sesión en cuestión, pulsa el atajo de teclado Ctrl-A + : e introduce el nuevo nombre.

Si tu sesión de Pantalla tiene varias ventanas, establece su nombre por defecto utilizando la opción -t. Ésta es la sintaxis del comando:

screen -S Session-name -t Window-title

Al ejecutar el comando en el terminal principal se creará una nueva sesión llamada Session-name. Cuando crees una nueva ventana en ella, el nombre se establecerá por defecto en Window-title.

Utilizar la función de pantalla dividida para multitareas

GNU Screen permite a los usuarios dividir un gestor de ventanas de terminal en regiones separadas con shells independientes. Esto facilita la multitarea, ya que pueden moverse entre diferentes terminales manteniendo todas ellas visibles.

Pulsa Ctrl-a + S para dividir la ventana horizontalmente y Ctrl-a + | para separarla verticalmente. Utilizando los mismos comandos, puedes separar aún más la nueva región para crear una ventana de terminal más pequeña.

Por defecto, la nueva región es una ventana en blanco inutilizable. Para activarla, desplázate a la nueva región utilizando Ctrl-a + tab y crea una nueva ventana pulsando Ctrl-a + C. Repite este proceso para todas las regiones.

División de pantallas para multitareas

Alternativamente, navega cambiando el foco de entrada mediante el modo comando. Por ejemplo, introduce Ctrl-a + :focus right para cambiar a la región de la derecha de tu ventana actual.

También puedes volver a vincular los comandos de navegación de la ventana terminal editando el archivo .screenrc. Por ejemplo, este fragmento te permite cambiar de región pulsando Ctrl-a + flecha de navegación:

#Rebind the split-window navigation shortcuts
bind ^[[A focus up
bind ^[[A focus up
bind ^[[B focus down
bind ^[[C focus left
bind ^[[D focus right

Utilizar atajos de teclado

Comprender los atajos de teclado de Screen en Linux es crucial para utilizar y navegar por la herramienta. Algunas de las combinaciones de teclas esenciales son:

  • Ctrl-a + c: crear una nueva ventana.
  • Ctrl-a + p y n: pasar a la ventana anterior y a la siguiente.
  • Ctrl-a + w: mostrar la lista de ventanas del terminal.
  • Ctrl-a + A: cambia el nombre de la ventana actual.
  • Ctrl-a + : entra en el modo comando.
  • Ctrl-a + x: cierra la ventana actual.
  • Ctrl-a + a: cancelar el atajo Ctrl-a inicial.

Para ayudarte a recordar las combinaciones, cambia las combinaciones de teclas por defecto según tus preferencias editando el archivo .screenrc.

Utilizar Kodee con Screen de Linux

La integración de Hostinger VPS con IA ayuda a simplificar la gestión del servidor con Linux Screen. Nuestro Asistente de IA, Kodee, te permite introducir indicaciones sencillas para generar comandos relacionados con Screen, código e instrucciones paso a paso.

Asistente de IA Kodee de Hostinger

Kodee está disponible con todos los servicios VPS de Hostinger. Para acceder a él, inicia sesión en hPanel y haz clic en VPS en el menú lateral. Selecciona el servidor de la lista y haz clic en Kodee.

¡Importante! Debido a las limitaciones de la IA, la herramienta puede dar información obsoleta o inexacta. Comprueba siempre los resultados para asegurarte de que siguen siendo exactos.

Introduce tus preguntas en el campo y pulsa Enviar. Por ejemplo, puedes preguntar cómo instalar y utilizar GNU Screen en tu sistema:

  • Estoy utilizando un VPS Ubuntu 22.04. ¿Puedes darme los pasos para instalar Screen de Linux?
  • He instalado Linux Screen en mi sistema. ¿Puedes explicarme cómo utilizarla?
  • ¿Puedes darme un comando para iniciar una nueva sesión de la pantalla de Linux?
  • Por favor genera un comando para ejecutar un script bash en una sesión separada de mi terminal principal.
  • Quiero cambiar las combinaciones de teclas de Screen de Linux. ¿Puedes generar ajustes de configuración para el archivo .screenrc?

Asegúrate de que las instrucciones para la gestión del VPS con IA son claras y específicas para que el asistente pueda generar resultados precisos. Por ejemplo, especifica el sistema operativo de tu VPS, ya que los comandos de Linux varían según la distribución.

Conclusión

Screen de Linux es un multiplexor que te permite crear varias sesiones virtuales de terminal en tu sistema. Mantiene el proceso de la sesión ejecutándose en segundo plano incluso cuando el usuario se desconecta del servidor.

Para instalar esta herramienta en tu sistema, utiliza la utilidad de comandos del gestor de paquetes como apt, yum o dnf. Alternativamente, descárgala del repositorio oficial utilizando el comando wget. Una vez instalada, ejecuta el comando screen para iniciar una nueva sesión.

En la nueva sesión, pulsa Ctrl-a + c para crear nuevas ventanas de Screen y Ctrl-a + a para cambiar entre ellas. Utiliza el atajo de teclado Ctrl-a + d para desconectarte de las sesiones de terminal y el comando Pantalla -r para volver a conectarte.

Screen te permite ejecutar comandos de forma remota en la sesión separada utilizando la opción -X, que se suele utilizar para procesos largos como la ejecución de scripts. También admite un terminal de pantalla dividida, que simplifica la multitarea y la colaboración.

Si utilizas el VPS de Hostinger, introduce indicaciones en nuestro asistente con IA, Kodee, para que te ayude a navegar por Screen.

Esperamos que esta guía te haya sido de utilidad. Si tienes algún comentario o pregunta, escríbela en la sección de abajo. ¡Buena suerte!

Author
El autor

Gustavo B.

Gustavo es un apasionado por la creación de sitios web. Se enfoca en la aplicación de estrategias SEO en Hostinger para España y Latinoamérica, así como la creación de contenidos de alto nivel. Cuando no está aplicando nuevos trucos en WordPress lo puedes encontrar tocando la guitarra, viajando o tomando un curso online.