Mucha gente no conoce la pantalla, una pequeña herramienta excelente, o «un multiplexor de terminal», si desea obtener información técnica. Creo firmemente que todo aquel que utilice el terminal, por el motivo que sea, debería tenerlo en su arsenal. Es así de útil.
La pantalla hace que la multitarea en la terminal sea muy fácil. Con él, puede ejecutar muchas herramientas en paralelo, cada una en su sesión. Después de ejecutar algo en su propia «pantalla», puede desconectarlo y volver a adjuntarlo a voluntad. Ser capaz de «dejar las cosas funcionando en una sesión separada» le permite saltar entre herramientas.
Si hace malabarismos con muchas tareas en la terminal todos los días, o ya la está usando, ¡o le encantará después de probarla!
Pantalla de instalación
Screen está disponible para casi todas las distribuciones bajo el sol, ya que es un pequeño tesoro antiguo, probado y probado, aunque algo desconocido. Para instalarlo en Debian, Ubuntu, Mint o cualquier cosa que use apt, use:
En cuestión de segundos estarás listo y funcionando, ya que además es pequeño y sin muchas dependencias.
Primera sesión
Solo profundizaremos en las funciones básicas de la pantalla que le permitirán usarla de inmediato. Si le gusta lo que ve al final de este tutorial, su página de manual explica las funciones adicionales, pero pensamos que serían demasiado para la primera introducción en su uso.
Para usarlo, simplemente agréguelo delante de cualquier cosa que ingrese en la terminal. Vamos a crear un documento en el popular editor nano como ejemplo. Si no está instalado, disponible en su distribución, o si prefiere algo más, intercambie «nano» con su elección.
screen nano mte_screen.txt
Al agregar «pantalla» delante del comando habitual, lo ejecutamos en una de las sesiones de pantalla. Puede parecer que no tuvo ningún resultado, pero como veremos en el siguiente paso, lo hizo.
Separarse de la sesión
Escriba algo en nano y presione Ctrl + A y luego D en su teclado. Nano º o cualquier editor que estuvieras usando – desaparecerá. En la terminal, verás un mensaje similar a:
[detached from terminal-ID]
Ahora está de regreso a lo que podría referirse como la terminal de inicio desde donde ejecutó la pantalla antes. Pero tu sesión con nano no se ha ido.
Volver a la sesión de ejecución
Como tiene una sesión ejecutándose en segundo plano, puede volver a ella ingresando:
Después de presionar Enter, estará justo donde lo dejó en nano. Puede quitar y volver a colocar la pantalla tantas veces como desee. Pero esa es solo una aplicación que se ejecuta en segundo plano, lejos de lo que llamarías una verdadera multitarea.
Crear una segunda sesión
Mientras regresa a la terminal original y se desconecta de la nano sesión en ejecución, repita el primer paso para ejecutar algo en una segunda sesión. En aras de la simplicidad, creamos un segundo documento con nano usando:
Sin embargo, la pantalla no se limita a ejecutar varias sesiones de la misma aplicación: intente ejecutar cualquier cosa con ella. Screen demuestra su utilidad cuando se usa para comprimir muchos archivos en un archivo con 7z, un proceso que lleva algún tiempo. En lugar de mirar fijamente una terminal, esperando que termine 7z, puede desconectar su sesión y dejar que se ejecute en segundo plano.
Lista de sesiones
Si siguió nuestros pasos anteriores, ahora tiene dos sesiones ejecutándose con pantalla. screen -r
no funcionará como antes porque no sabría dónde adjuntarlo. Cuando tiene varias sesiones, para volver a una de ellas, primero debe conocer su ID. Para encontrarlo, ingrese:
La pantalla mostrará una lista de todas las sesiones disponibles.
En nuestro caso, como puede ver en nuestra captura de pantalla, para volver a cualquiera de las sesiones, tendríamos que ingresar:
o
Extras útiles
Si ejecuta una tarea que sale después de completarse con la pantalla, la sesión de la pantalla terminará con ella. Es por eso que podría haber ejecutado algunas tareas en sesiones de pantalla pero ahora no aparecen sesiones activas. Las tareas podrían haber completado sus objetivos mientras tanto.
Si desea que una sesión permanezca activa en tales casos, en lugar de ejecutar un comando con screen
agregado antes, ejecute «pantalla» por sí solo para crear una nueva sesión y luego escriba su comando allí antes de desconectarse. Si ejecuta un comando en una sesión que creó manualmente, la sesión no se cerrará cuando se complete la tarea.
Screen también le permite crear una nueva sesión desde dentro de una existente. Simplemente presione la combinación de comandos Ctrl + A, y luego presione C para crear una nueva pantalla y saltar a ella.
Para otros comandos útiles que probablemente terminará usando, presione Ctrl + A y luego:
- A para ingresar un título para la sesión para facilitar el reconocimiento y la administración
- K para matar la sesión actual
- N o P para pasar a la sesión activa anterior o siguiente
- 0 a 9 para moverse entre las diez primeras sesiones activas
No solo para tareas de malabarismo.
Guardamos lo mejor para el final: la pantalla no está vinculada a un terminal específico. Después de desconectarse de una sesión, puede cerrar la ventana de la terminal si estaba en un entorno gráfico, o incluso puede cerrar la sesión. Mientras su computadora esté funcionando, la sesión permanecerá activa.
Y esto significa que puede volver a conectarse a una sesión en ejecución desde una terminal diferente. Como puede ver en nuestra captura de pantalla, usamos Guake para volver a conectarnos a una sesión que creamos en la terminal predeterminada de Mint.
Dado que es posible que las implicaciones de esto no se hayan asimilado adecuadamente, piense en este escenario de uso: puede iniciar sesión de forma remota en su computadora, con SSH, e iniciar una tarea con la pantalla. Luego, separe y cierre la sesión. El trabajo seguirá ejecutándose hasta que se complete o decida volver a iniciar sesión, volver a conectarse a la sesión de pantalla y finalizarlo manualmente.
¿Cómo es eso de «multitarea»?