Guía de uso de comandos de pantalla en Linux
Introducción
El comando screen es un potente multiplexor de terminal para Linux y sistemas tipo Unix. Permite gestionar varias sesiones de shell desde una única ventana de terminal, mantener las sesiones en ejecución incluso después de cerrar la sesión y volver a conectarse a ellas más tarde. Esto es particularmente útil para las sesiones remotas a través de SSH, ya que asegura que los procesos de larga duración no se interrumpan si su conexión se cae. En esta guía, cubriremos cómo instalar, usar y administrar sesiones de pantalla, junto con algunos comandos comunes y consejos prácticos.
¿Por qué usar screen?
Utilizar screen ofrece varias ventajas:
- Gestión de sesiones: Ejecuta múltiples sesiones de shell en una única ventana de terminal.
- Persistencia de la sesión: Continúe ejecutando procesos aunque se desconecte del terminal o pierda la conexión SSH.
- Reconexión: Vuelva a conectarse a una sesión en cualquier momento y continúe donde lo dejó.
- Facilidad de uso: comandos y atajos sencillos que facilitan la gestión de las sesiones.
Pantalla de instalación
screen suele venir preinstalado en la mayoría de las distribuciones de Linux. Sin embargo, si no está disponible en tu sistema, puedes instalarla utilizando tu gestor de paquetes:
- Debian/Ubuntu:
sudo apt-get update
sudo apt-get install pantalla
- CentOS/RHEL:
sudo yum install pantalla
- Fedora:
sudo dnf install pantalla
- Arch Linux:
sudo pacman -S screen
Una vez instalado, puede empezar a utilizar screen inmediatamente.
Iniciar una sesión de screen
Para iniciar una nueva sesión de screen, simplemente escriba:
pantalla
Se abrirá una nueva sesión de pantalla con una interfaz de línea de comandos que se comporta como un terminal normal. Puedes empezar a ejecutar comandos o procesos dentro de esta sesión.
Para iniciar una nueva sesión con un nombre específico (lo que facilita su gestión posterior), utilice:
screen -S nombre_sesión
Sustituya nombre_sesión por un nombre significativo para su sesión.
Cómo desvincularse y volver a vincularse a las sesiones
Una de las características más útiles de screen es la posibilidad de desvincularse de una sesión y volver a vincularse más tarde.
Separarse de una sesión
Para separarse de una sesión de pantalla sin cerrarla, pulse:
Ctrl A , D
La secuencia Ctrl A indica a screen que estás a punto de darle un comando, y D significa “separar” Después de desconectar, tu sesión continuará ejecutándose en segundo plano.
Cómo volver a conectarse a una sesión
Para volver a conectarse a una sesión desconectada, utilice:
screen -r
Si tiene varias sesiones, puede enumerarlas y elegir la sesión específica a la que desea conectarse:
screen -ls
Este comando mostrará todas las sesiones de pantalla activas, incluyendo sus IDs y nombres:
Hay pantallas en
1234.nombre_sesión (Desconectada)
5678.otra_sesión (Desconectada)
2 Sockets en /var/run/screen/S-user.
Para volver a conectarse a una sesión específica, utilice su ID o nombre:
screen -r 1234
o
screen -r nombre_sesión
Uso de varias ventanas en una misma sesión de pantalla
screen te permite crear múltiples ventanas dentro de una misma sesión. Esto significa que puede ejecutar diferentes comandos o procesos en ventanas separadas y cambiar entre ellas fácilmente.
Creación de una nueva ventana
Para crear una nueva ventana dentro de una sesión de pantalla existente, pulse:
Ctrl A , C
Esto abrirá una nueva ventana con un nuevo intérprete de comandos.
Navegación entre ventanas
Para cambiar entre ventanas, utilice:
- Ctrl A, N: Pasar a la ventana siguiente.
- Ctrl A, P: Ir a la ventana anterior.
- Ctrl A, “: Mostrar una lista de ventanas abiertas y elegir una para cambiar.
Cambiar el nombre de una ventana
Para renombrar una ventana para organizarla mejor, pulse:
Ctrl A , A
Escriba el nuevo nombre de la ventana y pulse Intro.
Cerrar una ventana
Para cerrar una ventana, simplemente salga del intérprete de comandos que se ejecuta en esa ventana escribiendo:
exit
o pulsando Ctrl D .
Bloqueo y desbloqueo de una sesión de pantalla
Si necesita bloquear temporalmente su sesión de pantalla, utilice el siguiente comando:
Ctrl A , X
Esto le pedirá que introduzca su contraseña de usuario para desbloquear la sesión.
Personalización de la pantalla Configuración
El comportamiento de screen puede personalizarse utilizando el archivo .screenrc, que se encuentra en tu directorio home. Puedes añadir comandos a este archivo para cambiar las combinaciones de teclas por defecto, establecer los títulos de las ventanas y personalizar el comportamiento de inicio de screen.
Para crear o editar el archivo .screenrc, utiliza un editor de texto:
nano ~/.screenrc
Aquí tienes algunos ejemplos de configuraciones que puedes añadir:
# Cambiar la secuencia de escape por defecto a Ctrl B
escape ^Bb#
Establecer una línea de estado en la parte inferior de la pantallahardstatus on
hardstatus alwayslastline “%{= kw}%-w%{= BW}%n %t%{-}% w”
Guarde el archivo y reinicie la pantalla para aplicar los cambios.
Ejemplos de uso de la pantalla
- Ejecución de procesos de larga duración: Si necesitas ejecutar un script o un comando que tarda mucho tiempo en completarse, ejecútalo dentro de una sesión de screen. De esta manera, incluso si se desconecta de SSH, el proceso continuará ejecutándose.
- Gestión de múltiples sesiones: Si está trabajando en varios proyectos, puede utilizar diferentes sesiones de pantalla o ventanas para cada tarea.
- Gestión de Servidores Remotos: Utilice la pantalla para administrar servidores remotos a través de SSH. Esto es especialmente útil para administrar servidores que requieren mantenimiento o monitorización continua.
Conclusión
El comando screen es una herramienta versátil y poderosa para administrar múltiples sesiones de terminal y ejecutar procesos largos en sistemas Linux. Con la capacidad de desacoplar, reacoplar y crear múltiples ventanas, screen proporciona un entorno robusto tanto para usuarios ocasionales como avanzados. Ya sea que esté ejecutando scripts complejos o simplemente necesita una manera de mantener una sesión de shell persistente, dominar screen mejorará en gran medida su productividad y flexibilidad en Linux.