Terminales Virtuales

Un multiplexor de terminal no es más que un programa que permite a su usuario multiplexar una o más sesiones virtuales, por lo que el usuario puede tener varias sesiones dentro de un solo terminal. Una de las características más útiles de estos programas es el hecho de que los usuarios pueden adjuntar y desconectar dichas sesiones.

Varias son las opciones y en esta wiki te mostramos algunas de ellas.

Más información en: https://linuxconfig.org/an-introduction-to-terminal-multiplexers

GNU Screen

Documentación

https://www.gnu.org/software/screen/screen.html
https://linuxize.com/post/how-to-use-linux-screen/
https://www.geeksforgeeks.org/screen-command-in-linux-with-examples/

Instalación

En Debian y sus derivados:

# apt install screen

Comandos básicos

$ man screen

$ screen -ls
No Sockets found in /run/screen/S-avaldes.

$ screen

$ screen -ls
There is a screen on:
        17239.pts-0.eustace     (10/08/2020 03:27:54 PM)        (Attached)

$ screen -d
[remote detached from 17239.pts-0.eustace]

$ screen -ls
There is a screen on:
        17239.pts-0.eustace     (10/08/2020 03:27:53 PM)        (Detached)
1 Socket in /run/screen/S-avaldes.

$ screen -r 17239.pts-0.eustace

$ screen -S ping

y vemos las sesiones:

$ screen -ls
There are screens on:
        24320.ping      (10/08/2020 03:52:25 PM)        (Detached)
        17239.pts-0.eustace     (10/08/2020 03:27:54 PM)        (Detached)
2 Sockets in /run/screen/S-avaldes

Ahora es más fácil identificar la sesión y volver a conectarse a una de ellas.

$ screen -r 24320.ping

$ screen -ls
There are screens on:
        24320.ping      (10/08/2020 03:52:25 PM)        (Attached)
        17239.pts-0.eustace     (10/08/2020 03:27:54 PM)        (Detached)
2 Sockets in /run/screen/S-avaldes

$ ping www.nic.cl
PING www.nic.cl (200.7.7.3) 56(84) bytes of data.
64 bytes from www.nic.cl (200.7.7.3): icmp_seq=1 ttl=58 time=5.48 ms
64 bytes from www.nic.cl (200.7.7.3): icmp_seq=2 ttl=58 time=5.39 ms
64 bytes from www.nic.cl (200.7.7.3): icmp_seq=3 ttl=58 time=5.52 ms

Salimos de la sesión con Ctrl + a + d:

[detached from 24320.ping]

$ screen -ls
There are screens on:
        24320.ping      (10/08/2020 03:52:25 PM)        (Detached)
        17239.pts-0.eustace     (10/08/2020 03:27:54 PM)        (Detached)
2 Sockets in /run/screen/S-avaldes.

Y volvemos a conectarnos y verificar si el comando aún sigue corriendo:

64 bytes from www.nic.cl (200.7.7.3): icmp_seq=110 ttl=58 time=5.27 ms
64 bytes from www.nic.cl (200.7.7.3): icmp_seq=111 ttl=58 time=5.46 ms
64 bytes from www.nic.cl (200.7.7.3): icmp_seq=112 ttl=58 time=5.53 ms
64 bytes from www.nic.cl (200.7.7.3): icmp_seq=113 ttl=58 time=5.46 ms
64 bytes from www.nic.cl (200.7.7.3): icmp_seq=114 ttl=58 time=5.30 ms
64 bytes from www.nic.cl (200.7.7.3): icmp_seq=115 ttl=58 time=5.36 ms
64 bytes from www.nic.cl (200.7.7.3): icmp_seq=116 ttl=58 time=5.42 ms

TMUX

Documentación

https://github.com/tmux/tmux/wiki
https://www.howtogeek.com/671422/how-to-use-tmux-on-linux-and-why-its-better-than-screen/