LINUX

15 Comando de pantalla de Linux para negociar sesiones de terminal

ejemplos de comandos de pantalla de linuxLa pantalla o pantalla GNU es un multiplexor de terminales. Con esto, puede ejecutar cualquier cantidad de aplicaciones basadas en consola, shells de comandos interactivos, aplicaciones basadas en cursos, etc. Puede usar la pantalla para seguir ejecutando el programa después de cerrar accidentalmente el terminal, o incluso después de cerrar la sesión y más tarde reanudar donde quiera que esté.

Un ejemplo práctico es cuando está ejecutando una tarea en una máquina Linux remota en la que tiene una sesión ssh. Muchas veces ha visto que esta sesión ssh se cierra y ya no puede trabajar. Aquí viene la utilidad de pantalla para ayudar a reanudar las sesiones.

¿Cómo funciona la pantalla?

Cuando se llama a la pantalla, crea una ventana única con un shell en ella (o el comando especificado) y luego se aparta de su camino para que pueda usar el programa como lo haría normalmente. Luego, en cualquier momento, puede crear nuevas ventanas (de pantalla completa) con otros programas en ellas (incluyendo más shells), eliminar la ventana actual, ver una lista de las ventanas activas, copiar texto entre ventanas, cambiar entre ventanas, etc. .

La pantalla gestiona un sesión que consta de uno o más ventanas cada uno contiene un shell u otro programa. Además, la pantalla puede dividir la pantalla de un terminal en múltiples regiones, cada uno mostrando el contenido de una ventana. Todas las ventanas ejecutan sus programas de forma completamente independiente entre sí. Los programas continúan ejecutándose cuando su ventana no está visible actualmente e incluso cuando toda la sesión de pantalla está desconectada del terminal del usuario. Esto es práctico para evitar una sesión de tiempo de espera ssh involuntaria.

Ahora veamos cómo usar esta utilidad en Linux.

1) Invocar nuevas ventanas

Si el comando de pantalla aún no está presente en su sistema, puede instalarlo con el comando a continuación.

En Debian

# apt-get install screen

En Centos

# yum install screen

Puede iniciar la pantalla simplemente escribiendo pantalla en el símbolo del sistema. Este comando de pantalla iniciará una nueva ventana dentro de la pantalla.

# screen

Puede iniciar una nueva ventana dentro de la pantalla y también le da un nombre a la ventana, por ejemplo, en alto. Crea una sesión con identificada por ese nombre. El nombre se puede utilizar para volver a adjuntar en una etapa posterior.

# screen -S aloft

Tenga en cuenta que puede hacer todo su trabajo como en el entorno CLI normal.

2) Enumere todos los procesos de la pantalla

Como podemos iniciar nuevas ventanas dentro de la pantalla, es posible mostrar las pantallas abiertas actualmente, incluidas las que se ejecutan en segundo plano. Enumerará todas las sesiones de pantalla existentes.

# screen -ls
There is a screen on:
 10437.aloft (Attached)
1 Socket in /var/run/screen/S-root.

3) Comando principal de la pantalla

Es posible operar con pantalla usando algunos comandos. Enumeraremos a continuación los principales comandos más útiles.

  • Ctrl-a seguido por c: crea una nueva ventana
  • Ctrl-a seguido por w: muestra la lista de todas las ventanas abiertas actualmente
  • Ctrl-a seguido por A: cambia el nombre de las ventanas actuales. El nombre aparecerá cuando enumere la lista de ventanas abiertas con Ctrl-a seguido por w.
  • Ctrl-a seguido por n: ir a las siguientes ventanas
  • Ctrl-a seguido por p: ir a las ventanas anteriores
  • Ctrl-a seguido de Ctrl-a: volver a las últimas ventanas utilizadas.
  • Ctrl-a seguido de un número de 0 a X: vaya a las ventanas n ° X.
  • Ctrl-a seguido por ": elija las ventanas en las que avanzar.
  • Ctrl-a seguido por k: cierra las ventanas actuales (matar)
  • Ctrl-a seguido por S: divide las ventanas actuales horizontalmente. Para cambiar entre las ventanas, haga Ctrl-a seguido por Tab.
  • Ctrl-a seguido por |: divide las ventanas actuales verticalmente
  • Ctrl-a seguido por d: desconecta una sesión de pantalla sin detenerla
  • Ctrl-a seguido por r: vuelve a adjuntar una sesión de pantalla separada
  • Ctrl-a seguido por [: start the copy mode
  • Ctrl-a followed by ]: pega el texto copiado

4) Mostrar parámetro de pantalla

Puede enumerar todos los parámetros de la pantalla para obtener ayuda. Para hacer esto, escriba Ctrl-a seguido por el personaje ?. Mostrará una lista de todos los comandos.

5) Sesión de desconexión

La mejor ventaja del comando de pantalla es la posibilidad de desconectar una sesión de pantalla. Puede iniciar una sesión de pantalla en una computadora en la oficina, desconectar la sesión de la terminal local, ir a casa, iniciar sesión en la computadora de nuestra oficina de forma remota y volver a conectar la sesión de pantalla a la terminal de nuestra computadora doméstica. Durante el tiempo transcurrido, todos los trabajos en la computadora de su oficina continuaron ejecutándose. Esta función se utiliza para evitar la pérdida de datos que se produce repentinamente durante la caída de la conexión ssh.

Para entender bien de qué estamos hablando, tomemos un ejemplo. Lanzamos un proceso de instalación.

Ahora despegaremos la pantalla con Ctrl-a seguido por d. Podemos verificar con el comando a continuación.

# screen -ls
There is a screen on:
 12449.win (Detached)
1 Socket in /var/run/screen/S-root.

Es posible separar la pantalla con screen -d comando seguido de la identificación de la pantalla o su nombre. Significa que deberá abrir otra ventana o consola para desconectar la sesión si la consola actual tiene un proceso en curso. Primero debe enumerar la pantalla adjunta actual.

# screen -ls
There is a screen on:
 13686.win200 (Attached)
1 Socket in /var/run/screen/S-root.

Ahora en una nueva terminal, ingrese el comando a continuación.

# screen -d 13686

o puedes usar el nombre

# screen -d win200

Tendrá una salida como la siguiente que indica que la pantalla se desprendió.

[remote detached from 13686.win200]

6) Vuelva a conectar una sesión

Después de separar la pantalla, es posible volver a unirla con el comando. Normalmente, su sesión de pantalla sigue funcionando, por lo que no se detienen todos sus procesos. Antes de volver a conectar una sesión, debe enumerar la sesión como se indicó anteriormente y luego elegir la sesión que desea volver a conectar.

# screen -r 13686

o puedes usar

# screen -r win200

Puede ver que después de volver a adjuntar la sesión, las ventanas muestran el final del proceso que se completó. Significa que puede trabajar en ssh y desconectar una sesión que volverá a adjuntar en su casa para continuar su proceso de trabajo sin perder nada.

7) Crea un nuevo shell interactivo

Si tiene algunos trabajos que hacer y no quiere perder su trabajo, es posible crear un nuevo shell interactivo. Puede tener fácilmente algunos shells interactivos (numerados de 0 a X) abiertos en una ventana de terminal. Cuando inicie una nueva sesión, estará en cáscara 0.

Para hacer esto, necesita crear nuevas ventanas dentro de las ventanas existentes con Ctrl-a seguido por c. Tendrás algo como a continuación.

Puedes ver pantalla 3 en la parte superior de la captura de pantalla que indica que estamos en la tercera pantalla. En la parte inferior también podemos ver 3

8) Cambiar entre ventanas de pantalla

Cuando haya abierto más de una ventana de pantalla, para cambiar entre cada ventana, presione Control-a seguido por space o el número de la cáscara. Por ejemplo, para cambiar al shell número 1, presione Control-a entonces 1. Por ejemplo, pasaremos a la primera pantalla.

La parte superior e inferior de la captura de pantalla muestran que estamos en la primera pantalla.

9) Ventanas divididas

Para tener una vista global de su trabajo, puede necesitar dividir sus ventanas en lugar de tener múltiples ventanas. Ctrl-a seguido por S o | divide tu pantalla horizontal o verticalmente. Es posible repetir la operación sin límite. Para mover otras ventanas, use Ctrl-a seguido por Tab.

Cuando el cursor está en las ventanas inferiores, puede crear una nueva ventana (Ctrl-a seguido por c) o llamar a una ventana existente (Ctrl-a seguido de un número).

Para cerrar una ventana dividida, use Ctrl-a seguido por X (Tenga en cuenta que es el carácter en mayúsculas).

10) Vuelva a conectarse a una sesión ssh desconectada

Cuando inicie sesión por primera vez,

  • ejecutar pantalla para iniciar una sesión de pantalla. Obtienes otro shell, ejecuta comandos en eso.
# screen -S remote_session
  • Cuando haya terminado, desconecte la sesión de pantalla y luego cierre la sesión en ssh
[detached from 20995.remote_session]
  • Puede enumerar todas las sesiones de pantalla primero
# screen -ls
There are screens on:
 20995.remote_session (Detached)
 14331.daby (Attached)
 14134.mom (Detached)
3 Sockets in /var/run/screen/S-root.
  • Vuelva a conectarse a su sesión de pantalla y continúe con su trabajo
# screen -d -r remote_ression

El comando de pantalla se usa más para la sesión ssh porque ayuda a continuar su trabajo después de una desconexión sin perder los procesos actuales en curso.

11) Desplácese hacia arriba en las ventanas de la pantalla

Dado que la pantalla se encarga de administrar sus programas remotos, no puede usar las funciones de desplazamiento de su emulador de terminal mientras ejecuta la pantalla. Debe utilizar los comandos de pantalla para acceder al búfer de retroceso.

  • Usar Ctrl-a seguido por escape
  • presione el Up y Down teclas de flecha o el PgUp y PgDn teclas para desplazarse por la salida anterior.

Puedes ver dónde está mi cursor en la captura de pantalla. Cada terminal virtual tiene su propio búfer de retroceso.

12) Ver al propietario de cada sesión de pantalla

los screen -ls o screen -list Los comandos solo le muestran sus propias sesiones de pantalla incluso para root. Hasta donde yo sé, eso es lo mejor para la pantalla.

Si desea ver qué sesiones de pantalla han sido iniciadas por qué usuarios buscan en cada directorio de usuarios en /var/run/screen/.

# ls -lR /var/run/screen
/var/run/screen:
total 0
drwx------ 2 patrick patrick 60 Jun 17 20:47 S-patrick
drwx------ 2 root root 100 Jun 17 19:39 S-root

/var/run/screen/S-patrick:
total 0
srwx------ 1 patrick patrick 0 Jun 17 20:47 21941.pat_session

/var/run/screen/S-root:
total 0
srw------- 1 root root 0 Jun 9 16:45 14134.mom
srwx------ 1 root root 0 Jun 9 01:07 14331.daby
srwx------ 1 root root 0 Jun 17 20:46 20995.remote_session

13) Compartir una sesión de pantalla con una cuenta

Puede hacer que dos personas inicien sesión en la misma cuenta desde ubicaciones remotas. Pueden compartir fácilmente una sesión de pantalla (de modo que lo que uno escribe ve el otro y viceversa). Para hacer esto:

  • Cree una sesión de pantalla con nombre:
# screen -d -m -S share_session
  • Adjuntar a la sesión de pantalla en la ventana de su terminal
# screen -x share_session
  • Haga que la otra persona (que haya iniciado sesión en la misma cuenta) también se adjunte a la sesión de pantalla
# screen -x share_session

tendrá exactamente la misma salida mostrada en la otra ubicación. Todo lo que aparecerá en su terminal también aparecerá en el terminal del otro usuario.

14) Sesión de pantalla de bloqueo

Es posible bloquear la sesión de la pantalla sin bloquear a su usuario de sesión normal. Significa que puede dejar su computadora y estar seguro de que nadie acudirá a operaciones no autorizadas. Para hacer esto, use el comando Ctrl-a seguido por x (Tenga en cuenta que es el carácter en minúsculas).

Screen used by root <root> on centos-01.
Password:

15) Terminar sesión de pantalla

Cuando haya terminado y desee salir de la sesión de pantalla, puede usar el comando Ctrl-a seguido por k. Se le pedirá una confirmación.

También puede utilizar el comando de salida. Si desea guardar su proceso en progreso, puede simplemente desconectar su sesión de pantalla antes de terminar la sesión.

Conclusión

La utilidad de pantalla puede monitorear una ventana para detectar actividad o inactividad. Esto es genial si está descargando archivos grandes, compilando o esperando la salida. En ese momento, si es necesario, incluso puede iniciar algún proceso desde una computadora usando el comando de pantalla y desconectarlo cuando haya terminado.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar