Screen
En las necesidades que me han surgido a lo largo de la administración de un servidor linux sin entorno gráfico está la manera de ejecutar un comando que tarda mucho en terminar (por ejemplo, un rsync de mucha información) y poder consultar su estado si se ha cortado el ssh con el que lo ejecutastes.
Ahora sí, para comenzar a trabajar con un screen ejecutamos el comando:
screen
Este comando se ejecuta solo una vez. Los otros que quieran entrar al screen que abrimos pueden ejecutar:
screen -rx
screen -rx nos permite reconectarnos (conectarnos) a un screen previamente abierto.
Si deseamos dejar un screen abierto ejecutando algún comando ponemos:
^a d
así cmo lo ves: control-a, soltamos las teclas y apretamos d (no mantengas apretado ^a)
la d viene de: detach, desconectar.
al desconectarnos, dejamos abierto con el comando ejecutando. Si queremos reconectarnos hacemos:
screen -rx
ya está, nos hemos conectado neuvamente (fijate que screen -rx ya le vimos antes, y hace precisamente esto).
Ahora, hasta el momento hemos utilizado una sola ventana… pero screen nos permite manejar múltiples ventanas en la sesión.
Para abrir una neuva ventana ponemos:
^a c
Correcto, como antes: Control-a, soltamos las teclas y apretamos c
la C viene de: create, crear.
Estamos ya en la segunda ventana, tenemos dos ventanas en el screen.
Para movernos a la ventana anterior ponemos:
^a p
la p viene de previuos
o si queremos ir a la siguiente ponemos:
^a n
n: next
podemos abrir con ^a c, varias ventanas, muchas, y podemos ciclar entre ellas apretando continuamente ^a p o ^a n, incluso cuando se llega a la ultima ventana, nos regresaría a la primera (ciclo).