El comando de pantalla es un comando muy común que se usa en Linux para iniciar y organizar múltiples shells de terminal dentro de un solo shell.
La pantalla se usa la mayor parte del tiempo para dos propósitos.
Se puede usar para organizar múltiples shells y navegar entre ellos fácilmente.
También se puede usar para tener comandos de ejecución prolongada en servidores remotos .
De hecho, la pantalla se inicia para garantizar que no pierda ningún trabajo distante en caso de una interrupción repentina de la red.
En este tutorial, vamos a tener una descripción completa de qué es el comando de pantalla en Linux y cómo se puede usar de manera efectiva.
¿Listo?
Requisitos
Para instalar nuevos paquetes, deberá ser un usuario sudo .
Si necesita agregar un usuario a sudoers en Debian, hay un tutorial para hacerlo.
También hay uno para distribuciones basadas en Red Hat.
Cuando esté listo, escriba este comando para asegurarse de que tiene derechos de sudo.
$ sudo -l
User user may run the following commands on localhost:
(ALL) ALL
Instalación de pantalla en Linux
Para instalar screen, deberá ejecutar uno de los siguientes comandos.
En distribuciones basadas en Debian , puedes correr
$ sudo apt-get install screen
Para distribuciones basadas en Red Hat , tendrás que correr
$ sudo yum install -y screen
Cuando haya terminado, puede ejecutar este comando para comprobar la versión actual de su pantalla.
$ screen -v
Screen version 4.06.02 (GNU) 23-Oct-17
Interactuando con Screen en Linux
Como se describió anteriormente, la pantalla se usa para iniciar un caparazón interactivo en el que puede reorganizar varios caparazones.
Para iniciar su primera pantalla, simplemente escriba el siguiente comando.
Como puede ver, no hay diferencias con su shell anterior excepto por el hecho de que el encabezado escribe
screen 0: [email protected]:~
A partir de ahí, significa que un intérprete de bash se ejecuta dentro de otro intérprete de bash a través de la utilidad de pantalla.
Para ejecutar un comando, simplemente escriba un comando como lo haría normalmente.
Obtención de ayuda con la pantalla
Al interactuar con el comando de pantalla, deberá ejecutar atajos en su teclado para ejecutar acciones dentro de la sesión de pantalla.
Por defecto, “Ctrl + A” las pulsaciones de teclas están diseñadas para interactuar con la pantalla.
Como ejemplo, escriba “Ctrl + A” y luego “?” para obtener la ayuda de la pantalla.
Como puede ver, tiene muchas opciones diferentes para interactuar con la pantalla.
Los más populares son probablemente los siguientes:
- “Ctrl + A” luego “d ”:modo de separación . Puede usar esta opción para desconectarse (es decir, volver a su shell original) y dejar que la pantalla se ejecute en segundo plano. Esto es particularmente útil cuando ejecuta tareas largas en su host.
- “Ctrl + A” luego “x ”:pantalla de bloqueo . Esto se usa para proteger su sesión de pantalla para que la use otro usuario. Como consecuencia, se establece una contraseña para su sesión.
- “Ctrl + A” luego “c ” :comando de pantalla . Uno de los comandos más utilizados con diferencia, esos enlaces se utilizan para crear una nueva ventana dentro de su instancia de pantalla.
- “Ctrl + A” luego “| ”:división vertical . De forma predeterminada, este comando dividirá su ventana actual en dos áreas diferentes con las que puede interactuar.
- “Ctrl + A” luego “S ” :división horizontal.
- “Ctrl + A” luego “n ” :se utiliza para navegar entre sus diferentes sesiones de ventana desde la que tiene el índice más bajo hasta la que tiene el índice mayor.
- “Ctrl + A” luego “Tab ” :se usa para mover el cursor de entrada a una de sus diferentes áreas dentro de la pantalla.
En la mayoría de los casos, esos son los comandos que vas a usar con la pantalla.
Dividir regiones con el comando de pantalla
Como ejemplo, vamos a crear el siguiente diseño con el comando de pantalla en Linux.
Como puedes ver, vamos a partir el terminal tanto en vertical como en horizontal.
Se usará una ventana para ejecutar un comando (como un comando de ejecución prolongada, por ejemplo).
Se usará una segunda ventana para monitorear el rendimiento del sistema usando el comando superior.
Finalmente, se puede usar otra ventana para editar un archivo a través del editor nano.
Creación de ventana de pantalla
Primero, cree una sesión de pantalla ejecutando el siguiente comando.
$ screen -S user-screen
La opción -S creará una sesión con nombre para su entorno de pantalla.
Cuando varios administradores están trabajando en el mismo sistema, puede ser una buena idea tener sesiones con nombres para distinguir sus sesiones de las demás.
A continuación, como va a manipular tres sesiones de shell, necesitará dos pantallas adicionales.
Ejecute el comando “crear Comando ” dos veces (“Ctrl + A” y luego “c” ). Deberías terminar con la siguiente pantalla.
Observe que el encabezado o la carcasa de su terminal muestra la "pantalla 2" porque actualmente hay tres pantallas activas para su sesión.
Dividir ventanas de pantalla vertical y horizontalmente
El próximo paso será crear sus diferentes regiones en su ventana actual.
Para lograrlo, primero divida su región actual verticalmente presionando “Ctrl +A” y luego “|”
Debería terminar con el siguiente resultado.
Luego, divide tu diseño horizontalmente presionando "Ctrl +A" y luego "S".
Esto es lo que deberías conseguir.
Navegue a su segunda región presionando "Ctrl + A" y luego "Tab". De forma predeterminada, su región debe estar vacía, por lo que puede presionar "Ctrl + A" y luego "n" para navegar a su sesión de pantalla 0.
Desde allí, ejecute el comando que desea ejecutar.
Repita los pasos anteriores para ejecutar comandos en las otras regiones.
Recuerde que tiene que navegar entre las ventanas de su pantalla cuando ingresa por primera vez a una región dividida.
¡Impresionante! Ha creado su sesión de pantalla personalizada completa.
Separarse de su sesión de pantalla
Para desconectarse de su sesión de pantalla , simplemente presione las siguientes teclas.
$ Ctrl + A then d
Su sesión de pantalla aún se está ejecutando en segundo plano.
Este es uno de los aspectos principales del comando de pantalla.
Se puede usar para crear un host remoto a través de SSH, realizar algunas acciones y salir para volver a ellas más tarde.
De esta manera, no tiene que manipular el fondo y el primer plano que puede perder al cerrar su terminal actual.
Para verificar que su sesión de pantalla aún se está ejecutando, ejecute el siguiente comando
$ pstree | grep -A 2 -E "screen-"
Volviendo a adjuntar a su sesión de pantalla
En primer lugar, puede enumerar las ventanas de su pantalla ejecutando el siguiente comando.
$ screen -ls
Si nombró su sesión de pantalla, simplemente puede ejecutar el siguiente comando
$ screen -r <session_name>
En el ejemplo anterior, tendría que ejecutar este comando para volver a mi sesión.
$ screen -r user-screen
Tenga en cuenta que también puede volver a su sesión usando la ID de pantalla a la izquierda del comando ls.
$ screen -r 3600
Lamentablemente, pierde todos los cambios visuales y tendrá que volver a dividir las ventanas.
Sin embargo, con suficiente práctica, puede aprender sobre los atajos con mucha facilidad.
Bloqueando su sesión de pantalla
A veces, es posible que desee evitar que otros usuarios interactúen con su sesión de pantalla.
Para bloquear su pantalla, presione “Ctrl + A” y luego “x”.
Para desbloquearlo, debe ingresar la contraseña del usuario propietario de la sesión de pantalla.
Conclusión
En el tutorial de hoy, aprendió cómo puede manipular fácilmente el comando de pantalla en Linux para crear entornos de shell personalizados dentro de un shell común.
Aprendió que se puede usar en servidores remotos para asegurarse de que puede salir de la sesión y aún así guardar su trabajo (si tiene comandos de ejecución prolongada en primer plano, por ejemplo).
Si está interesado en la administración del sistema Linux, tenemos una sección completa dedicada a ella en el sitio web.