Screen

Version 20 (Guillermo Gómez, 03/22/2012 09:20 am)

1 1 Guillermo Gómez
h1. Screen
2 11 Guillermo Gómez
3 20 Guillermo Gómez
{{toc}}
4 20 Guillermo Gómez
5 20 Guillermo Gómez
h2. Instalación
6 20 Guillermo Gómez
7 10 Guillermo Gómez
<pre>
8 10 Guillermo Gómez
# yum install screen
9 1 Guillermo Gómez
</pre>
10 1 Guillermo Gómez
11 20 Guillermo Gómez
h2. Archivos de configuración
12 20 Guillermo Gómez
13 10 Guillermo Gómez
<pre>
14 10 Guillermo Gómez
# rpm -qc screen
15 10 Guillermo Gómez
/etc/pam.d/screen
16 1 Guillermo Gómez
/etc/screenrc
17 1 Guillermo Gómez
</pre>
18 10 Guillermo Gómez
19 20 Guillermo Gómez
h2. Documentación
20 20 Guillermo Gómez
21 12 Guillermo Gómez
<pre>
22 12 Guillermo Gómez
# rpm -qd screen
23 12 Guillermo Gómez
/usr/share/doc/screen-4.0.3/COPYING
24 12 Guillermo Gómez
/usr/share/doc/screen-4.0.3/FAQ
25 12 Guillermo Gómez
/usr/share/doc/screen-4.0.3/NEWS
26 12 Guillermo Gómez
/usr/share/doc/screen-4.0.3/README
27 12 Guillermo Gómez
/usr/share/doc/screen-4.0.3/README.DOTSCREEN
28 12 Guillermo Gómez
/usr/share/info/screen.info.gz
29 12 Guillermo Gómez
/usr/share/man/man1/screen.1.gz
30 12 Guillermo Gómez
</pre>
31 12 Guillermo Gómez
32 2 Guillermo Gómez
*Listado de sesiones*
33 2 Guillermo Gómez
No se arranca una nueva sesión screen, sólo se listan las sesiones actuales.
34 2 Guillermo Gómez
<pre>
35 2 Guillermo Gómez
$ screen -list
36 2 Guillermo Gómez
There is a screen on:
37 2 Guillermo Gómez
	3428.ftp-web-orlando	(11/29/2010 04:33:30 PM)	(Attached)
38 2 Guillermo Gómez
1 Socket in /var/run/screen/S-root.
39 2 Guillermo Gómez
</pre>
40 4 Guillermo Gómez
41 5 Guillermo Gómez
*Desconexión del terminal*
42 5 Guillermo Gómez
Esta es una las principales funciones de *screen*, poder desconectar el terminal de la sesión para luego poder regresar y retomar nuestro trabajo donde lo dejamos.
43 5 Guillermo Gómez
<pre>
44 5 Guillermo Gómez
$ Ctrl-a-d
45 5 Guillermo Gómez
$ [detached]
46 5 Guillermo Gómez
$ screen -list
47 5 Guillermo Gómez
There is a screen on:
48 5 Guillermo Gómez
	14106.gomix-ruby	(Detached)
49 5 Guillermo Gómez
1 Socket in /var/run/screen/S-root.
50 5 Guillermo Gómez
</pre>
51 6 Guillermo Gómez
52 6 Guillermo Gómez
*Reasumir sesión*
53 6 Guillermo Gómez
Para reasumir sesión, use *screen -r*:
54 6 Guillermo Gómez
55 6 Guillermo Gómez
<pre>
56 6 Guillermo Gómez
$ screen -list
57 6 Guillermo Gómez
There is a screen on:
58 6 Guillermo Gómez
	14357.pts-2.fricky	(Detached)
59 6 Guillermo Gómez
1 Socket in /var/run/screen/S-gomix.
60 6 Guillermo Gómez
$ screen -r
61 6 Guillermo Gómez
$                                            # Ya dentro de screen
62 6 Guillermo Gómez
</pre>
63 6 Guillermo Gómez
64 6 Guillermo Gómez
Cuando hay más de una sesión, se debe especificar cuál se desea reasumir.
65 6 Guillermo Gómez
66 6 Guillermo Gómez
<pre>
67 6 Guillermo Gómez
$ screen -list
68 6 Guillermo Gómez
There are screens on:
69 6 Guillermo Gómez
	14357.pts-2.fricky	(Detached)
70 6 Guillermo Gómez
	14389.pts-2.fricky	(Detached)
71 1 Guillermo Gómez
2 Sockets in /var/run/screen/S-gomix.
72 1 Guillermo Gómez
73 1 Guillermo Gómez
$ screen -r
74 1 Guillermo Gómez
There are several suitable screens on:
75 1 Guillermo Gómez
	14357.pts-2.fricky	(Detached)
76 1 Guillermo Gómez
	14389.pts-2.fricky	(Detached)
77 1 Guillermo Gómez
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
78 1 Guillermo Gómez
79 1 Guillermo Gómez
$ screen -r 14357
80 1 Guillermo Gómez
$                                            # Ya dentro de screen con pid 14357
81 7 Guillermo Gómez
</pre>
82 7 Guillermo Gómez
83 7 Guillermo Gómez
*Bautizo de sesión*
84 7 Guillermo Gómez
Podemos darle nombre a las sesiones para evitar confusiones y no tener que recordar <pid>.<tty>.<host>.
85 7 Guillermo Gómez
<pre>
86 7 Guillermo Gómez
$ screen -S gomix-ruby
87 7 Guillermo Gómez
$ screen -list
88 7 Guillermo Gómez
There is a screen on:
89 7 Guillermo Gómez
        14106.gomix-ruby        (Attached)
90 7 Guillermo Gómez
1 Socket in /var/run/screen/S-root.
91 6 Guillermo Gómez
</pre>
92 8 Guillermo Gómez
93 14 Guillermo Gómez
*Reconexión a sesión por nombre.*
94 14 Guillermo Gómez
95 8 Guillermo Gómez
<pre>
96 8 Guillermo Gómez
$ screen -list
97 8 Guillermo Gómez
There are screens on:
98 8 Guillermo Gómez
	14357.pts-2.fricky	(Detached)
99 8 Guillermo Gómez
	14389.pts-2.fricky	(Detached)
100 8 Guillermo Gómez
	14465.gomix-ruby	(Detached)
101 8 Guillermo Gómez
3 Sockets in /var/run/screen/S-gomix.
102 8 Guillermo Gómez
103 8 Guillermo Gómez
$ screen -r gomix-ruby
104 9 Guillermo Gómez
$                                            # Ya dentro de screen con pid 14465 con nombre gomix-ruby
105 8 Guillermo Gómez
</pre>
106 13 Guillermo Gómez
107 13 Guillermo Gómez
*Arranque de sesión desconectada con comando*
108 13 Guillermo Gómez
109 13 Guillermo Gómez
En el ejemplo pongo a actualizar mi máquina en screen.
110 13 Guillermo Gómez
<pre>
111 13 Guillermo Gómez
# screen -d -m yum -y update
112 13 Guillermo Gómez
</pre>
113 15 Guillermo Gómez
114 15 Guillermo Gómez
*Particionado horizontal de la pantalla*
115 15 Guillermo Gómez
116 18 Guillermo Gómez
Presione Ctrl-a-S para crear una división horizontal de la ventana actual del terminal. Cámbiese entre ventanas con Ctrl-a-Tab.
117 15 Guillermo Gómez
118 16 Guillermo Gómez
!screen-dividido-horizontal.png!
119 17 Guillermo Gómez
120 17 Guillermo Gómez
*Nombres de los terminales*
121 17 Guillermo Gómez
122 19 Guillermo Gómez
Dentro de screen cada ventana de emulación de terminal puede ser bautizada con un nombre usando Ctrl-a A, luego puede listar y cambiarse por nombre usando Ctrl-a " , abajo un pantallazo.
123 17 Guillermo Gómez
124 17 Guillermo Gómez
!screen-nombres-de-terminales.png!