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.