Minirecetas: screen

Screen es un programa muy útil que nos permite en una sola terminal de texto (consola, sesión telnet, etc.) tener hasta 10 ventanas (el equivalente a 10 terminales) haciendo diferentes tareas (shell en una, lector de correo o news en otra, etc.) y pudiendo cambiar entre ellas de una manera rápida y sencilla.

Screen suele venir en todas las distribuciones Linux. Una vez instalada la ejecutamos (screen) y ya podremos empezar a utilizarla.

Para usar SCREEN se usa el atajo de teclado ^A (Control-A). Cuando estemos en consola y queramos enviar una orden a screen (cambiar de "ventana", crear nuevas ventanas, etc.) se pulsa CTRL+A y a continuación la tecla del comando a enviar (soltando CTRL-A antes de pulsar la tecla de comando):

Tecla Comando
CTRL+a seguido de ? Se obtiene una pequeña lista de comandos.
CTRL+a seguido de c Se crea una nueva ventana (la inicial es la 0, luego 1, 2…).
CTRL+a seguido de un número 0-9 Cambiamos la vista a la ventana especificada por el número.
CTRL+a seguido de n Ir a la siguiente (next) ventana.
CTRL+a seguido de p Ir a la siguiente (previous) ventana.
CTRL+a seguido de w Obtenemos una lista de ventanas disponibles.

Con exit cerramos la terminal en la que estemos. Al salir de screen (si hacemos un exit en la ultima terminal disponible) aparecerá el mensaje [screen is terminating].

Por ejemplo, es posible hacer lo siguiente:

 [user@maquina] screen
 <CTRL+a>c                             -> Creamos terminal 1
 [user@maquina] mutt                   -> Abrimos el mutt
 <CTRL+a>c                             -> Creamos terminal 2
 [user@maquina] slrn -n                -> Abrimos el slrn

Ahora podemos cambiar entre cualquiera de los 3 programas (mutt, slrn y una shell bash) mediante CTRL-A seguido del número 0 (bash), 1 (mutt) y 2 (slrn) ya que las hemos creado en ese orden. Podemos salir de cualquiera de los tres programas y estar bajo una shell bash disponiendo áun de dicha terminal (hasta que hagamos exit).

Otros comandos SCREEN más avanzados son:

Tecla Comando
CTRL+a seguido de k Borrar la pantalla de la ventana actual
CTRL+a seguido de Ctrl+x Bloquear la pantalla (pedirá la password del usuario).
CTRL+a seguido de :detach Desvincular la pantalla de la sesión de screen. Podemos recuperarla luego con screen -r

Notas

  • Screen soporta cosas mucho más complejas, como dettach de procesos, dejarlos corriendo en background al cerrar los terminales, etc. Consultar el manual de screen para más florituras.
  • Screen soporta copiado de pantallas, loggin, cut & paste, keybindings, bloqueado de consola (bloquea todas :), etc.
  • como la A está cerca de la S, puede ser que al hacer CTRL+a le demos a CTRL+s (comando STOP en las terminales TTY). En caso de que esto ocurra basta darle a CTRL+Q para detener el stop.


<Volver a la sección de GNU/Linux>