Jacobo Tarrío Barreiro
Versión 1.0, 16 de diciembre de 2000
El simple cambio de formato del documento y/o las alteraciones en su maquetación, si el texto no se ve alterado, no se considera modificación a efectos de estas condiciones. Las traducciones sí que son consideradas modificaciones; se recomienda contactar con el autor para obtener permiso para incluir una versión traducida de la sección titulada ``Sobre el copyright''.
La última versión de screen en el momento en que se escribe esto es la 3.9.8, por lo tanto, el nombre del fichero es screen-3.9.8.tar.gz.
También, con toda seguridad, su distribución ya incluye screen. Al menos ése es el caso con Debian GNU/Linux y con FreeBSD4.
Para salir, sólo tiene que salir del programa o del intérprete de comandos que ha ejecutado bajo screen.
Es bastante seguro que al arrancar screen haya aparecido una pantalla con la licencia, etc. Para evitar esto5, sólo tiene que crear un fichero llamado .screenrc directamente en su directorio de usuario, que contenga esto:
startup_message off
Si el programa que está usando también utiliza la tecla C-a, no hay problema. Pulse C-a a, y asunto solucionado7.
Como he dicho antes, con screen es posible crear y utilizar consolas virtuales, incluso sobre un simple terminal serie. Éstas se crean pulsando las teclas C-a c. Una vez hecho esto, puede navegar entre las distintas consolas virtuales, pulsando C-a p para ir a la consola virtual anterior, o C-a n para ir a la siguiente.
¡Pero eso no es todo! Tambien es posible cambiar entre las distintas consolas virtuales directamente, pulsando C-a y un número de 0 a 9. Y por contraintuitivo que parezca, la consola virtual número cero es la primera consola virtual.
Se puede ver el listado de las consolas virtuales que están abiertas, pulsando C-a w. Aparecerá un listado similar a:
0*$ bash 1$ bash 2-$ bash 3$ bash
La consola virtual marcada con el asterisco es la activa, y la que tiene el guión (-) es la que estaba activa antes que la actual.
Tambien es posible dividir la pantalla en dos partes9, con C-a S. Se puede conmutar entre ambas partes de la pantalla, con C-a C-i, y para volver a dejar la pantalla ``entera'', ha de pulsarse C-a Q.
Por supuesto, screen incluye un scrollback; para utilizarlo, pulse C-a [. Mueva el cursor para moverse por el buffer, y cuando termine, simplemente pulse ESC o [.
Copy mode - Column 30 Line 24(+100) (80,24)
Como supondrá, esto significa que el scrollback se utiliza también para copiar10.
Si está en el scrollback, puede seleccionar un texto que aparezca en pantalla - o en el scrollback - para copiar, y posteriormente pegar en el momento que desee. Para eso, mueva el cursor (el bloque en vídeo inverso) hasta la posición en que comienza el texto, y pulse Intro. Después, desplace el cursor hasta la posición del final, y vuelva a pulsar Intro.
Después, puede pegar el texto que ha copiado, como si lo escribiese en el teclado. Para esto, sólo tiene que pulsar C-a ].
Fácil, ¿no? C-a [ para copiar, C-a ] para pegar11.
Puede desconectar del terminal la sesión que está utilizando, pulsando C-a d. Para confirmar que esto ha ocurrido, aparecerá la palabra [detached].
Para volver a conectar esa sesión a un terminal, ya sea el mismo terminal u otro terminal distinto, utilice el comando screen -r. Si tiene varias sesiones desconectadas, screen le mostrará un listado de tales sesiones:
There are several suitable screens on:
10755.pts-1.elvin (Detached)
14266.pts-3.elvin (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
Si desea recuperar la segunda sesión de esta lista, sólo necesita teclear screen -r 14266.
Puede desconectar una sesión desde un terminal distinto de aquel en el que corre la sesión13, mediante el comando screen -d. Por ejemplo, si tiene una sesión abierta en la consola, y está accediendo a través de Internet, y quiere recuperar esa sesión, puede escribir screen -d para desconectar esa sesión, seguido de screen -r para conectarla al terminal actual. Esto se hace tan a menudo, que se puede hacer con un solo comando: screen -dr.
Igualmente, si desea desconectar una sesión, y hay varias conectadas, verá una lista en pantalla:
There are several suitable screens on:
10755.pts-1.elvin (Attached)
14266.pts-3.elvin (Attached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
Para desconectar la segunda sesión de la lista, teclee screen -d 14266.
Finalmente, también es posible dejar una sesión desconectada. Si, por ejemplo, está leyendo el correo14 y debe irse, pero no quiere cerrar el lector de correo y tampoco quiere dejar un terminal abierto, puede desconectar la sesión y luego cerrar el terminal como siempre. Cuando regrese, puede abrir el terminal de nuevo, teclear screen -r, con un número, si es necesario, y continuar con lo que estaba haciendo.
Para empezar el registro, pulse C-a H. Para detenerlo, pulse C-a H otra vez. El registro estará grabado en un fichero llamado screenlog seguido de un punto y un número15.
También puede hacer una captura, como una foto, de la pantalla en el momento actual, pulsando C-a h. La captura se almacena en el fichero con nombre hardcopy, seguido de un punto y un número.
La efectividad de este comando es discutible si tiene otro terminal abierto y sin bloquear - cualquiera podría escribir screen -r en ese otro terminal y hacer lo que quisiera. Para evitarlo, puede poner una contraseña, añadiendo previamente este comando a su fichero /.screenrc:
password H9/f2I2kL
Sustituya H9/f2I2kL por una contraseña cifrada mediante DES. Puede obtener una de su fichero de contraseñas del sistema, o puede hacer que screen le proporcione una16. Para eso, pulse C-a : y teclee password. screen le pedirá una contraseña, dos veces, y luego la pondrá disponible para pegarla, mediante C-a ].
Utilizo un sistema de control de versiones en la edición de este artículo. Este sistema de control de versiones produce números de versión que no tienen nada que ver con la versión ``real'' del artículo (que actualmente es la 1.0). También, cada versión tiene un identificativo; el identificativo de la versión actual es:
Id: screen.tex,v 1.11 2000/12/16 14:26:36 jtarrio
Exp
En mi página web personal puede mirar si hay una versión más actualizada. La URL es http://tarrio.cjb.net/