Si eres un usuario de Linux, vas a tener que empezar con la terminal de Linux en algún momento. Algunos comandos de terminal pueden ser populares, otros oscuros. Pero en muchos casos, es más fácil ejecutar un comando a través de una ventana de terminal que a través de una GUI.
Pero, ¿qué sucede si necesitas ejecutar varios comandos a la vez? La pantalla de GNU hace que la multitarea de terminales como esta sea fácil. Vamos a empezar a usarla.
¿Qué es la pantalla de GNU?
GNU Screen es una herramienta para el terminal Linux que divide un terminal en varios. Esto significa que puede ejecutar un comando. Por ejemplo, una descarga wget de un archivo de imagen, mientras cambia a ejecutar un segundo, como systemctl, para comprobar el estado S.M.A.R.T. de tu unidad.
Te permite ejecutar comandos independientes como estos en sesiones separadas a las que puede conectarse y desconectarse a voluntad.
No sólo es útil para tu propio ordenador. Es casi esencial si estás administrando un servidor remoto. Si estás ejecutando comandos en un servidor a través de SSH, ¿qué sucede si se desconecta? Es posible que el comando aún esté en ejecución. Pero no podrás monitorizarlo ni interactuar con él fácilmente.
La pantalla se ocupa de ese problema por ti. Puedes volver a conectarte a una sesión de pantalla si pierdes la conexión, o separarse de ella y dejarla ejecutándose en segundo plano hasta que necesites acceder a ella de nuevo.
Cómo instalar la pantalla
Screen no viene con la mayoría de las distribuciones de Linux. Pero como es anterior a Linux, está bien soportado.
Si deseas instalarlo en una distribución basada en Ubuntu o Debian. Ejecuta lo siguiente:
sudo apt-get update
sudo apt-get install screen
Del mismo modo, si estás ejecutando Arch, abre la ventana de shell y ejecuta:
sudo pacman -Syu
sudo pacman -S screen
Si estás usando Fedora, ejecuta esto en su lugar:
actualización de sudo yum
sudo yum install screen
Inicio de una sesión de pantalla
Iniciar una sesión de pantalla es muy sencillo. Abre un terminal, o establece una conexión SSH, y escribe pantalla. Verás la ventana de introducción de la pantalla. Presiona el espacio o la tecla Intro para cerrarla.
Una vez que lo hagas, la pantalla de tu terminal volverá a la normalidad. No habrá ningún signo obvio de que estés ejecutando una sesión de pantalla. Pero cada comando que ejecutes desde este punto se ejecutará dentro de una sesión que ahora puedes separar y volver a adjuntar a voluntad.
Visualización y extracción de pantallas
Querrás saber cómo conectarte y desconectarte de una sesión de pantalla si piensas volver a utilizarla. Si ya estás en una sesión de pantalla, pulsa Ctrl + A seguido de la letra d (minúscula).
La sesión y todos los comandos que se estén ejecutando actualmente en su interior se separarán para ejecutarse en segundo plano. Listos para volver a conectarse más tarde. Asumiendo que sólo tienes una sesión de Screen en ejecución, escribe:
pantalla -r
Esto volverá a adjuntar tu sesión y te permitirá continuar. Si necesitas separar por la fuerza una sesión de forma remota. Vuelve a conectarte a ella tú mismo, escribe:
pantalla -rd
Se puede ejecutar más de una sesión de Screen. Si deseas volver a conectarte a una sesión específica, deberás averiguar el número de identificación del proceso de la sesión. Escribe screen -ls o screen -r para listarlos.
Como muestra la imagen de arriba. Escribe la pantalla -r seguida del número de identificación inicial al comienzo de cada sesión. Por ejemplo:
pantalla -r 25407
Si deseas cerrar una sesión y cancelar cualquier comando que se esté ejecutando dentro de ella, vuelve a conectarte a ella y escribe exit.
Otros comandos de la terminal de la pantalla para recordar
Screen tiene algunos trucos en la manga para los usuarios que quieren sacar el máximo provecho de ella. A continuación se presentan algunos de los comandos más comunes de la terminal para que los recuerdes.
Atajos de teclado de la pantalla de lista
Como todos los buenos programas de terminal, Screen tiene atajos de teclado para que los uses. Ya estás utilizando uno, Ctrl + A y d, para separar las pantallas existentes.
Si deseas ver el resto, simplemente escribe Ctrl + A seguido de ? para obtener una lista con la que puedas trabajar.
Crear y cambiar entre ventanas en una sesión
No es necesario cambiar entre sesiones para ejecutar comandos; también puedes cambiar entre ventanas en una sesión.
Para crear una nueva ventana en tu sesión, presiona Ctrl + A seguido de c (minúsculas) para crear una nueva ventana. Tu primera ventana comienza en el número 0, tu siguiente ventana 1, etc.
Presiona Ctrl + A y luego filtra a través de los números del 0 al 9. Para listar cada una, usa Ctrl + A y luego w (minúsculas) para ver una lista de sesiones con un ID de un dígito.
Crear una sesión con un nombre
Un ID generado al azar es difícil de recordar. Darle un nombre a tu sesión podría hacer las cosas más fáciles. Si deseas iniciar una sesión con un nombre, escribe:
screen -S nombre del ejemplo
Si deseas volver a conectarte a esta sesión por nombre, escribe:
screen -X nombre de ejemplo
Compartir una sesión de pantalla
¿Deseas compartir una sesión de terminal con un colega o un amigo? Gracias a Screen, puedes hacerlo. Tipo:
pantalla -rx
En lugar de separar a cualquier persona que esté conectada a esta sesión, simplemente únete a ella. Otros usuarios verán lo que escribes y los comandos que ejecutas. También podrás ver a otros usuarios si hacen lo mismo.
Registrar la salida de la pantalla en un fichero
Es posible que necesites registrar tu salida en pantalla en un archivo por razones de mantenimiento o auditoría. Para ello, escribe:
pantalla -L
Una sesión se iniciará con la capacidad de iniciar sesión en un archivo con el nombre screenlog.x (donde X es un número, comenzando desde cero) en tu directorio de inicio. Para iniciar un registro en una sesión, escribe Ctrl + A seguido de H (Mayúsculas + h).
Bloquear una sesión de pantalla
Si deseas proteger una sesión de pantalla, puedes bloquearla con tu contraseña de Linux existente.
Escribe Ctrl + A seguido de x (minúsculas) para bloquear una sesión mientras estás conectado a ella.
La multitarea en el terminal no podría ser más sencilla
Gracias a GNU Screen, no tienes que preocuparte de esperar a que termine un comando de terminal. Es útil si deseas controlar servidores remotos, pero también es una gran herramienta para tu equipo doméstico si necesitas ejecutar varios comandos desde una misma ventana. Es la herramienta perfecta para los administradores de sistemas.
¿Tienes alguna pregunta o problema relacionado con el tema del artículo? Queremos ayudarte.
Deja un comentario con tu problema o pregunta. Leemos y respondemos todos los comentarios, aunque a veces podamos tardar un poco debido al volumen que recibimos. Además, si tu consulta inspira la escritura de un artículo, te notificaremos por email cuando lo publiquemos.
*Moderamos los comentarios para evitar spam.
¡Gracias por enriquecer nuestra comunidad con tu participación!