10 ejemplos de comandos de pantalla para administrar terminales Linux


Screen es un programa de software de pantalla completa que se puede utilizar para multiplexar una consola física entre varios procesos (normalmente shells interactivos). Ofrece al usuario abrir varias instancias de terminal separadas dentro de un solo administrador de ventanas de terminal.

La aplicación de pantalla es muy útil si se trata de varios 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 mi Ubuntu 10.04 Server Edition, Screen se ha instalado de forma predeterminada. Pero, en Linux Mint no tiene la pantalla instalada de forma predeterminada, primero necesito instalarla usando el comando apt-get antes de usarla. Siga el procedimiento de instalación de su distribución para instalar la pantalla.

# apt-get install screen (On Debian based Systems)
# yum install screen (On RedHat based Systems)

En realidad, Screen es un muy buen comando en Linux que está oculto dentro de cientos de comandos de Linux. Comencemos a ver la función de la pantalla.

Pantalla de inicio por primera vez

Simplemente escriba pantalla en el símbolo del sistema. Luego, la pantalla se mostrará con la interfaz exactamente como el símbolo del sistema.

[email protected] ~ $ screen

Mostrar parámetro de pantalla

Cuando ingresa a la pantalla, puede hacer todo su trabajo como lo hace en el entorno CLI normal. Pero como la pantalla es una aplicación, tiene comando o parámetros.

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

                                                             Screen key bindings, page 1 of 1.

                                                             Command key:  ^A   Literal ^A:  a

  break       ^B b         flow        ^F f         lockscreen  ^X x         pow_break   B            screen      ^C c         width       W
  clear       C            focus       ^I           log         H            pow_detach  D            select      '            windows     ^W w
  colon       :            hardcopy    h            login       L            prev        ^H ^P p ^?   silence     _            wrap        ^R r
  copy        ^[ [         help        ?            meta        a            quit        \            split       S            writebuf    >
  detach      ^D d         history     { }          monitor     M            readbuf     <            suspend     ^Z z         xoff        ^S s
  digraph     ^V           info        i            next        ^@ ^N sp n   redisplay   ^L l         time        ^T t         xon         ^Q q
  displays    *            kill        K k          number      N            remove      X            title       A
  dumptermcap .            lastmsg     ^M m         only        Q            removebuf   =            vbell       ^G
  fit         F            license     ,            other       ^A           reset       Z            version     v

^]  paste .
"   windowlist -b
-   select -
0   select 0
1   select 1
2   select 2
3   select 3
4   select 4
5   select 5
6   select 6
7   select 7
8   select 8
9   select 9
I   login on
O   login off
]   paste .

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

Separar la pantalla

Una de las ventajas de la pantalla es que puedes separarla. Luego, puede restaurarlo sin perder nada de lo que haya 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 de 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 de nuevo desde el principio. Para evitar eso, podemos usar la pantalla y despegarla.

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

[email protected] ~ $ screen

Entonces puedes hacer el proceso de descarga. Para ver ejemplos en mi Linux Mint, estoy actualizando mi paquete dpkg usando el comando apt-get.

[email protected] ~ $ sudo apt-get 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 la descarga está en progreso, puede presionar "Ctrl-A" y "d". No verá nada cuando presione esos botones. La salida será así:

[detached from 5561.pts-0.mint]
[email protected] ~ $

Vuelva a colocar la pantalla

Después de desconectar la pantalla, digamos que está desconectando su sesión SSH y regresando a casa. En su hogar, comienza a SSH nuevamente a su servidor y desea ver el progreso de su proceso de descarga. Para hacer eso, necesita restaurar la pantalla. Puede ejecutar este comando:

[email protected] ~ $ screen -r

Y verá que el proceso que dejó todavía se está ejecutando.

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

[email protected] ~ $ screen -ls
[email protected] ~ $ screen -ls
There are screens on:
        7849.pts-0.mint (10/06/2013 01:50:45 PM)        (Detached)
        5561.pts-0.mint (10/06/2013 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.

[email protected] ~ $ screen -r 7849

Usando múltiples pantallas

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

Primero, puede separar la primera pantalla y ejecutar otra pantalla en el terminal real. En segundo lugar, haces una pantalla anidada.

Cambiar entre pantallas

Cuando hace una pantalla anidada, puede cambiar entre la pantalla usando el comando "Ctrl-A" y "n". Se moverá a la siguiente pantalla. Cuando necesite ir a la pantalla anterior, simplemente presione "Ctrl-A" y "p".

Para crear una nueva ventana de pantalla, simplemente presione "Ctrl-A" y "c".

Registrando todo lo que hagas

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

Con este registro de pantalla, no es necesario que escriba todos los comandos que ha realizado. Para activar la función de registro de pantalla, simplemente presione "Ctrl-A" y "H". (Tenga cuidado, usamos la letra "H" mayúscula. Si no usa "h" en mayúscula, solo se 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á: Creando el archivo de registro "screenlog.0". Encontrará el 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 en ejecución, presione "Ctrl-A" y "H" nuevamente.

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

[email protected] ~ $ screen -L

Bloquear pantalla

La pantalla también tiene un atajo para bloquear la pantalla. Puede presionar "Ctrl-A" y el atajo "x" para bloquear la pantalla. Esto es útil si desea bloquear la pantalla rápidamente. A continuación, se muestra una salida 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.

Agregar contraseña a la pantalla de bloqueo

Por motivos de seguridad, es posible que desee poner la contraseña en su sesión de pantalla. Se le pedirá una contraseña cada vez que desee volver a adjuntar la pantalla. Esta contraseña es diferente con el mecanismo de bloqueo de pantalla anterior.

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

password crypt_password

Para crear "crypt_password" arriba, puede usar el comando "mkpasswd" en Linux. Aquí está el comando con contraseña "pungki123".

[email protected] ~ $ 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 separe, se le pedirá la contraseña cuando intente volver a adjuntarla, como se muestra a continuación:

[email protected] ~ $ screen -r 5741
Screen password:

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

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.

Saliendo de la 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 exit para terminar la pantalla. También puede utilizar "Ctrl-A" y "K" para matar la pantalla.

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