Búsqueda de sitios web

20 ejemplos de comandos de pantalla para administrar terminales Linux


Breve: En esta guía, analizaremos algunos ejemplos útiles del comando de pantalla. Al final de esta guía, los usuarios podrán trabajar con múltiples sesiones de shell usando una única ventana de terminal de Linux.

Como usuarios de Linux, a menudo necesitamos trabajar en tareas de larga duración, como descargar o copiar archivos grandes, ejecutar consultas de bases de datos que requieren mucho tiempo, etc. A veces, estas tareas importantes finalizan abruptamente debido al tiempo de espera de la sesión.

Para mitigar estos escenarios, podemos usar el comando screen, que es un programa de software de pantalla completa que se puede usar para multiplexar una consola física entre varios procesos (normalmente shells interactivos). Ofrece al usuario abrir varias instancias de terminal separadas dentro de un único administrador de ventanas de terminal.

La aplicación screen es muy útil si trabaja con múltiples programas desde una interfaz de línea de comandos y para separar programas del shell del terminal. También le permite compartir sus sesiones con otros usuarios y desconectar/adjuntar sesiones de terminal.

En esta guía, analizaremos cómo instalar, configurar y utilizar el comando de pantalla en un sistema Linux. A lo largo de esta guía, comprenderemos el uso y los beneficios del comando de pantalla mediante ejemplos prácticos.

Entonces empecemos.

Instalar el comando de pantalla en Linux

En mi Ubuntu Server Edition, el comando screen se ha instalado de forma predeterminada. Pero Linux Mint no tiene una pantalla instalada de forma predeterminada, por lo que primero necesito instalarla usando el comando apt-get antes de usarlo. .

Siga el procedimiento de instalación de su distribución para instalar la pantalla.

sudo apt-get install screen      [On Debian, Ubuntu and Mint]
sudo yum install screen          [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a sys-apps/screen   [On Gentoo Linux]
sudo apk add screen              [On Alpine Linux]
sudo pacman -S screen            [On Arch Linux]
sudo zypper install screen       [On OpenSUSE]    

Ahora, verifiquemos que el comando se haya instalado correctamente:

screen --version

Screen version 4.8.00 (GNU) 05-Feb-20

En realidad, la pantalla es un muy buen programa multiplexor de terminal en Linux que está oculto dentro de cientos de comandos de Linux.

Comencemos a ver el uso del comando screen en Linux con los siguientes ejemplos.

Sintaxis del comando de pantalla

La sintaxis del comando pantalla es la siguiente

screen [OPTIONS] [ CMD [ ARGS ] ]

En la sintaxis anterior, podemos ver que todos los parámetros son opciones y están representados por los corchetes ([]).

1. Pantalla de inicio por primera vez

Simplemente escriba la pantalla en el símbolo del sistema. Luego, la pantalla mostrará una interfaz exactamente igual a la del símbolo del sistema.

screen

2. Mostrar parámetro de pantalla

Cuando ingresa a la pantalla, puede hacer todo su trabajo como lo haría en el entorno normal de línea de comandos. Pero como la pantalla es una aplicación, tiene comandos o parámetros.

Escriba “Ctrl-A” y “?” sin comillas. Luego verá todos los comandos o parámetros en la pantalla.

Para salir de la pantalla de ayuda, puede presionar el botón “barra espaciadora” o “Entrar“. (Tenga en cuenta que todos los atajos que utilizan “Ctrl-A” se realizan sin comillas).

3. Cómo enumerar todas las ventanas abiertas

En el ejemplo anterior, iniciamos una nueva sesión de shell usando el comando de pantalla. Ahora usemos la combinación de teclas ctrl-a + " para enumerar todas las ventanas abiertas de la sesión de pantalla actual:

En el resultado anterior, podemos ver el número y el nombre de la ventana. La primera columna representa el número de ventana y comienza desde cero.

La siguiente columna representa el nombre de la ventana y su formato predeterminado es @:.

4. Cómo finalizar la sesión de la ventana de pantalla

Podemos finalizar la sesión de la ventana activa usando las combinaciones de teclas ctrl-a + k. Es importante tener en cuenta que esta acción interrumpirá la ejecución del comando desde la ventana virtual actual.

En el resultado anterior, podemos ver que el comando screen está esperando la confirmación del usuario. Muestra el mensaje de advertencia en la esquina inferior izquierda.

Al igual que otros comandos de Linux, podemos usar 'y' para continuar o 'n' para cancelar la operación.

5. Cómo iniciar una sesión de pantalla con nombre

El comando screen nos permite crear una sesión con un nombre definido por el usuario, lo que resulta útil cuando hay varias sesiones disponibles.

Entonces, usemos la opción -S del comando para crear una sesión con nombre:

screen -S demo-screen

En el comando anterior, la pantalla de demostración es el nombre de la sesión.

6. Separe la sesión de terminal con pantalla

Una de las ventajas de una pantalla es que puedes separarla. Luego, podrás restaurarlo sin perder nada de lo que hayas hecho en la pantalla. Este es el escenario de muestra:

Estás en medio de SSH en tu servidor. Supongamos que está descargando un parche 400 MB para su sistema mediante el comando wget.

Se estima que el proceso de descarga durará 2 horas. Si desconecta la sesión SSH, o de repente la conexión se pierde por accidente, el proceso de descarga se detendrá. Tienes que empezar desde el principio de nuevo. Para evitarlo, podemos utilizar una pantalla y despegarla.

Eche un vistazo a este comando. Primero, debes ingresar a la pantalla.

screen

Luego podrás realizar el proceso de descarga. Por ejemplo, en mi Linux Mint, estoy actualizando mi paquete dpkg usando el comando apt.

sudo apt install dpkg
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages will be upgraded:
  dpkg
1 upgraded, 0 newly installed, 0 to remove and 1146 not upgraded.
Need to get 2,583 kB of archives.
After this operation, 127 kB of additional disk space will be used.
Get:1 http://debian.linuxmint.com/latest/ 
testing/main dpkg i386 1.16.10 [2,583 kB]
47% [1 dpkg 1,625 kB/2,583 kB 47%]     14,7 kB/s

Mientras se realiza la descarga, puede presionar “Ctrl-A” y “d“. No verás nada cuando presiones esos botones. La salida será así:

[detached from 5561.pts-0.mint]
pungki@mint ~ $

7. Vuelva a conectar la sesión de terminal con la pantalla

Después de desconectar la pantalla, digamos que desconecta su sesión SSH y regresa a casa. En tu casa, comienzas a SSH nuevamente a tu servidor y quieres ver el progreso de tu proceso de descarga. Para hacer eso, necesita restaurar la pantalla. Puedes ejecutar este comando:

pungki@mint ~ $ screen -r

Y verás que el proceso que dejaste sigue ejecutándose.

Cuando tiene más de 1 sesión de pantalla, debe escribir el ID de la sesión de pantalla. Utilice screen -ls para ver cuántas pantallas hay disponibles.

pungki@mint ~ $ screen -ls
pungki@mint ~ $ screen -ls
There are screens on:
        7849.pts-0.mint (10/06/2021 01:50:45 PM)        (Detached)
        5561.pts-0.mint (10/06/2021 11:12:05 AM)        (Detached)
2 Sockets in /var/run/screen/S-pungki

Si desea restaurar la pantalla 7849.pts-0.mint, escriba este comando.

pungki@mint ~ $ screen -r 7849

8. Uso de ventanas de terminal de pantalla múltiple

Cuando necesitas más de 1 pantalla para hacer tu trabajo, ¿es posible? Sí, lo es. Puede ejecutar varias ventanas de pantalla al mismo tiempo. Hay 2 (dos) formas de hacerlo.

Primero, puedes desconectar la primera pantalla y ejecutar otra pantalla en el terminal real. En segundo lugar, crea una pantalla anidada como se muestra.

Para crear nuevas ventanas, use la combinación de teclas ctrl-a + c dos veces para crear dos nuevas ventanas. A continuación, usemos la combinación de teclas ctrl-a + " para enumerar todas las ventanas activas:

En el resultado anterior, podemos ver que ahora hay tres ventanas.

9. Cómo cambiar el nombre de una ventana de pantalla

En el ejemplo anterior, creamos dos ventanas nuevas. Sin embargo, sus nombres predeterminados no proporcionan ningún detalle sobre ellos. En tales casos, podemos asignarles algunos nombres significativos.

Podemos usar la combinación de teclas ctrl-a + A para cambiar el nombre de la sesión de ventana actual. Esta combinación de teclas solicita al usuario que establezca un título de ventana:

10. Cambiar entre ventanas de terminal de pantalla

En el ejemplo anterior, creamos varias ventanas. Ahora veamos cómo cambiar entre ellos.

Primero, enumeremos todas las ventanas activas usando la combinación de teclas ctrl-a + ". Luego, use la tecla de flecha hacia arriba o hacia abajo para seleccionar la ventana adecuada. Finalmente, presione la tecla Intro para cambiar a la ventana seleccionada. ventana.

En este ejemplo, hemos seleccionado la ventana con el título – db-query.

11. Cómo pasar a la siguiente ventana de pantalla

Podemos utilizar la combinación de teclas ctrl-a + n para pasar a las siguientes ventanas. Entendamos esto con un ejemplo.

Primero, cambie a la primera ventana y verifíquela usando la combinación de teclas ctrl-a + ":

Ahora, presionemos la combinación de teclas ctrl-a + n dos veces para ir a la tercera ventana y usemos la combinación de teclas ctrl-a + " para verificar lo mismo.

En el resultado anterior, podemos ver que ahora estamos en la tercera ventana.

12. Cómo pasar a la ventana de la pantalla anterior

De manera similar, podemos usar la combinación ctrl-a + p para cambiar a la ventana anterior.

Actualmente estamos en la tercera ventana. Entonces, usemos la combinación de teclas ctrl-a + p dos veces y verifiquemos que estamos en la primera ventana nuevamente:

En el resultado anterior, podemos ver que ahora regresamos a la primera ventana.

13. Cómo cambiar entre la ventana actual y la anterior

A veces, sólo queremos cambiar entre dos ventanas. En tales casos, podemos utilizar la combinación de teclas ctrl-a + ctrl-a.

Para entender esto, primero vaya a la primera ventana:

A continuación, cambie a la última ventana:

Finalmente, use la combinación de teclas ctrl-a + ctrl-a para saltar a la primera ventana nuevamente.

14. Cómo saltar a una ventana de pantalla en particular

En los ejemplos anteriores, vimos varias formas de cambiar entre ventanas. Sin embargo, a veces queremos saltar a una ventana en particular. En tales escenarios, podemos usar los números de ventana.

Primero, usemos la combinación de teclas ctrl-a + " para encontrar el número de ventana:

En el resultado anterior, la primera columna representa el número de ventana. Es importante tener en cuenta que el comando de pantalla comienza a numerar desde cero.

Ahora, usemos la combinación de teclas ctrl-a + 2 para saltar a la tercera ventana y verificar que estamos en la ventana correcta:

15. Cómo dividir una ventana de pantalla horizontalmente

Al igual que en los terminales normales, también podremos dividir la ventana de la pantalla. Podemos usar la combinación de teclas ctrl-a + S para dividir la ventana horizontalmente.

Ahora, podemos usar la combinación de teclas ctrl-a + tab para saltar entre las regiones.

Por último, podemos usar la combinación de teclas ctrl-a + X para eliminar la región actual. Es importante señalar que aquí tenemos que utilizar un carácter X en mayúscula.

16. Cómo dividir una ventana de pantalla verticalmente

De manera similar, podemos usar la combinación de teclas ctrl-a + | para dividir la ventana actual verticalmente:

Además de esto, también podemos usar la combinación de teclas ctrl-a + tab para cambiar entre las regiones y la combinación de teclas ctrl-a + X para cerrar la región actual.

17. Habilite el registro de pantalla en Linux

A veces es importante registrar lo que has hecho mientras estás en la consola. Digamos que es un administrador de Linux que administra muchos servidores Linux.

Con este registro de pantalla, no es necesario que escriba cada comando que haya realizado. Para activar la función de registro de pantalla, simplemente presione “Ctrl-A” y “H“. (Tenga cuidado, utilizamos letras mayúsculas 'H'. El uso de 'h' que no esté en mayúsculas solo creará una captura de pantalla de la pantalla en otro archivo llamado copia impresa) .

En la parte inferior izquierda de la pantalla, habrá una notificación que le indicará que le guste: Creando el archivo de registro “screenlog.0“. Encontrará un archivo screenlog.0 en su directorio de inicio.

Esta función agregará todo lo que haga mientras esté en la ventana de la pantalla. Para cerrar la pantalla y registrar la actividad de ejecución, presione “Ctrl-A” y “H” nuevamente.

Otra forma de activar la función de registro es agregar el parámetro “-L” cuando ejecuta la pantalla por primera vez. El comando será así.

pungki@mint ~ $ screen -L

18. Bloquear la pantalla de la terminal de Linux

La pantalla también tiene un acceso directo para bloquear la pantalla. Puede presionar los atajos “Ctrl-A” y “x” para bloquear la pantalla. Esto es útil si desea bloquear la pantalla rápidamente. Aquí hay un resultado de muestra de la pantalla de bloqueo después de presionar el acceso directo.

Screen used by Pungki Arianto  on mint.
Password:

Puede usar su contraseña de Linux para desbloquearlo.

19. Agregar contraseña a la sesión de pantalla

Por razones de seguridad, es posible que desees poner la contraseña a tu sesión de pantalla. Se le pedirá una contraseña cada vez que desee volver a adjuntar la pantalla. Esta contraseña es diferente del mecanismo de Bloqueo de pantalla anterior.

Para proteger su pantalla con contraseña, puede editar el archivo “$HOME/.screenrc”. Si el archivo no existe, puede crearlo manualmente. La sintaxis será así.

password crypt_password

Para crear la “crypt_password” anterior, puede utilizar el comando “mkpasswd” en Linux. Aquí está el comando con la contraseña "pungki123".

pungki@mint ~ $ mkpasswd pungki123
l2BIBzvIeQNOs

mkpasswd generará una contraseña hash como se muestra arriba. Una vez que obtenga la contraseña hash, puede copiarla en su archivo “.screenrc” y guardarla. Entonces el archivo “.screenrc” será así.

password l2BIBzvIeQNOs

La próxima vez que ejecute la pantalla y la desconecte, se le pedirá una contraseña cuando intente volverla a conectar, como se muestra a continuación:

pungki@mint ~ $ screen -r 5741
Screen password:

Escriba su contraseña, que es “pungki123” y la pantalla se volverá a conectar nuevamente.

Después de implementar esta contraseña de pantalla y presionar "Ctrl-A" y "x", la salida será así.

Screen used by Pungki Arianto on mint.
Password:
Screen password:

Se le pedirá una contraseña dos veces. La primera contraseña es su contraseña de Linux y la segunda contraseña es la contraseña que ingresó en su archivo .screenrc.

20. Salir de la sesión de terminal de pantalla

Hay 2 (dos) formas de salir de la pantalla. Primero, usamos “Ctrl-A” y “d” para separar la pantalla. En segundo lugar, podemos usar el comando de salida para finalizar la pantalla. También puedes usar “Ctrl-A” y “K” para cerrar la pantalla.

Hoja de referencia de comandos de pantalla

screen -S <session_name>

Inicie una nueva sesión con el nombre de la sesión.

screen -ls

Lista de sesiones/pantallas en ejecución.

screen -x

Adjuntar a una sesión de carrera.

screen -r <session_name>

Adjuntar a una sesión en ejecución con nombre.

screen -d <session_name>

Separar una sesión en ejecución.

Ctrl-a c

Crear nueva ventana.

Ctrl-a Ctrl-a

Cambiar a la última ventana activa visitada.

Ctrl-a <number>

Cambiar a ventana por número.

Ctrl-a ' <number or title>

Cambiar a ventana por número o nombre.

Ctrl-a n or Ctrl-a <space>

Cambiar a la siguiente ventana de la lista.

Ctrl-a p or Ctrl-a <backspace>

Cambiar a la ventana anterior de la lista.

Ctrl-a "

Ver lista de ventanas.

Ctrl-a w

Mostrar barra de ventana.

Ctrl-a k

Mata la ventana actual.

Ctrl-a \

Mata todas las ventanas.

Ctrl-a A

Cambiar el nombre de la ventana actual.

Ctrl-a S

Divida la pantalla horizontalmente.

Ctrl-a | or Ctrl-a V

Dividir la pantalla verticalmente.

Ctrl-a tab

Saltar a la siguiente región de visualización.

Ctrl-a X

Eliminar la región actual.

Ctrl-a Q

Elimina todas las regiones menos la actual.

Ctrl-a H

Habilite el inicio de sesión en la sesión de pantalla.

Ctrl-a x

Pantalla de bloqueo (protección con contraseña).

Este es parte del uso diario del comando pantalla. Todavía hay muchas funciones dentro del comando de pantalla. Puede consultar la página de manual de pantalla para obtener más detalles.

¿Conoce algún otro mejor ejemplo del comando de pantalla en Linux? Háganos saber su opinión en los comentarios a continuación.