Como instalar y usar SCREEN en linux

Screen otra util herramienta en linux

Leyendo unos feeds de RedHat Magazine, me encontre con un articulos sobre Screen que por cierto me resulto muy util.

GNU Screen es como una version de un manejador de ventana que funciona en la terminal pero para mantener multiples terminales virtual, varias sesiones y programas de modo texto ejecutandose simultaneamente en la misma consola.

Existen muchos programas utiles para correr en la consola, por ejemplo puedes chequear el correo con mutt o pine, chatear en el irc con irssi, administrar un servidor remoto via ssh, editar archivos con el vim o emacs, o simplemente ejecutar comandos.

Ademas de ser persistente, puedes iniciar una sesion y luego reconectarte a la misma sin necesidad de reiniciarla, se puede compartir la sesion con otro usuario como si fuera VNC y los programas se pueden mantener en multiples ventanas que hasta puedes renombrar.

Instalamos la aplicacion, usando ya sea apt-get (debian), o yum segun la distro que se tenga.


# yum install -y screen


luego utilizamos una configuracion basica como esta, igual que la mayoria de programas en linux la configuracion se puede guarda en el homedir. o sea: ~/.screenrc

Configuracion de Ejemplo:

# Linea de status para informacion ( hosts, screens, hora)
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'

# screens y programas a iniciar
# screen -t NameOfScreen ScreenNumber ShellCommand
screen -t logs_checking 0 sudo tail -f /var/log/messages
screen -t irc 1 irssi
screen -t ssh_server 2 ssh me@myserver

Ejecutamos screen en la consola y tendremos algo como esto:



Los atajos del teclado mas utilizados para moverse a traves de los screens, si no se han modificado en el screenrc son:

Ctrl+a y luego

0 - 9 – para cambiar entre ventanas o screens
Ctrl+n – para cambiar a la siguiente ventana disponible
Backspace – regresa a la ventana previa
Ctrl+a – cambia a la ultima ventana previa
A – cambia el nombre de la sesion en la ventana
K – elimina la session en la ventana
c – Crea una nueva ventana
[ – permite usar en scroll hacia arriba y abajo en la ventana

para mas informacion sobre los atajos se puede leer la pagina del manual con:


$ man screen


lo interesante de screen es que puede quedar ejecutandose y desde una session remota ssh, retomar lo que se dejo en la pantalla de screen en la maquina remota.
Nos conectamos remotamente via ssh revisamos la sesiones de screen abiertas con:


$ screen -ls

si la screen quedo activo veremos algo como esto:



solo basta con ejecutar :

$ screen -x 4507.pts-2.xaero

y retomaremos las cosas tal y como las dejamos.

Para para compartir el screen con otro usuario parecido al VNC.

  1. como root: chmod u+s /usr/bin/screen (screen debe tener el SUID si se va a compartir con otro usuario) Nota: SUID permite a un ejecutable correr bajo el propietario de del archivo en vez del usuario con sus permisos. hay ciertos aspectos de seguridad por lo que esto va bajo la responsabilidad del usuario.
  2. chmod 755 /var/run/screen
  3. dejamos la cuenta root, y ejecutamos Screen como el usuario que va a compartir la session:

    $ screen
  4. Presionamos Ctrl+a, luego escribimos " :multiuser on" y luego Enter.
  5. Presionamos Ctrl+a, luego escribimos ":acladd user1" (”user1” es el nombre de usuario de la persona que se conectara a la sesion de screen).
Conectandose a la sesion compartida de screen:

via SSH nos conectamos a la estacion remota, buscamos por la sesion de screen y ejecutamos en la terminal:


$ screen -x user2/

user2 seria el nombre de usuario que comparte la sesion de screen la / es necesaria para conectarse a la sesion con esto ambos usuarios pueden ejecutar comandos en la misma terminal.

una vez acostumbrados a screen podras tener un desktop mas organizado y eficiente sin demasiadas ventanas abiertas.
  • 8 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?

Artículos Relacionados

 Como actualizar Paquetes Linux Debian a la ultima versi?n existente

Para realizar la actualizacion de los ultimos paquetes debian lo podremos realizar tecleando en...

 XAMPP CONCEPTO DE SEGURIDAD

Si te asustas como yo, luego de ver este pantallon en la pag. que se supone entrar?a directamente...

 Cambiar la hora de un contenedor Openvz

Por defecto una instalacion de un VZ no deja ajustar el reloj del sistema. Hay varias soluciones...

 Eliminar servicio web en Debian

Para eliminar el servicio web en debian lo aremos con un unico comando:# apt-get remove apache2*

 Centos [Saber libreria alternativa a instalar]

example:yum whatprovides libsqlite3.so.0 nos muestra la libreria alternativa para instalar en...

Powered by WHMCompleteSolution