SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
ADMINISTRANDO SISTEMAS
CON GNU SCREEN
Una breve introducción al uso de GNU Screen

https://www.gnu.org/software/screen/
http://vjavierf.wordpress.com
GNU Screen…¿Para qué?


Para multiplexar terminales.




Screen permite tener múltiples ventanas en una única
aplicación de terminal.

Ventajas:
No necesitamos ejecutar varias instancias de la
aplicación de terminal para conectarnos al mismo
servidor.
 Podemos desconectarnos/conectarnos a una sesión
de screen en cualquier momento y continuar con el
trabajo que estábamos realizando exactamente
dónde lo dejamos.
 Podemos compartir el terminal para ver el trabajo que
está realizando otro sysadmin.

Instalando GNU Screen


En distribuciones basadas en GNU/Linux Debian:




En distribuciones basadas en Red Hat Linux:




# yum install screen

En sistemas Unix:





# apt-get update; apt-get install screen

En Solaris…: # pkgadd -d screen_package
En FreeBSD: # pkgadd -r screen

En Mac OS X Lion:


git clone git://git.savannah.gnu.org/screen.git
cd screen/src
./autogen.sh
./configure --enable-colors256
make
sudo make install
cp screen ~/bin/screen
Sesiones, regiones y ventanas
screen -S session0

screen -S session1

session0

region

region

window 0

shell

region

region

region

window 1

window 2

window 0

window 1

shell

program

shell

shell

top

region

session1

tail –f file

Screen tiene la habilidad de visualizar más de una ventana. Esto lo consigue dividiendo
la pantalla en regiones, las cuáles pueden contener diferentes ventanas.
Comandos screen básicos (I)


screen





screen -S sessionname




Detach de la sesión.

screen -r [sessionname]




Listar las sesiones de screen en ejecución.

screen -d [sessionname]




Inicia una sesión de screen con el nombre sessionname.

screen {-ls | -list}




Inicia una sesión de screen.
sessionname → pid.tty.host

Attach a una sesión detached.

screen -x [sessionname]


Attach a una sesión no detached.
Comandos screen básicos (II)


screen {-d -r | -dr} [sessionname]




screen {-d -R | -dR} [sessionname]




Reattach a la sesión y si es necesario primero hace un detach. Si no existe crea la
sesión con sessionname. Si existe más de una sesión disponible usa la primera.

screen {-D -r | -Dr} [sessionname]




Reattach a la sesión y si es necesario primero hace un detach. Si no existe crea la
sesión con sessionname.

screen {-d -RR | -dRR} [sessionname]




Reattach a la sesión y si es necesario primero hace un detach.

Reattach a la sesión y si es necesario primero hace un detach y un logout remoto.

screen {-D -R | -DR} [sessionname]


Attach aquí y ahora. Si la sesión está en ejecución reattach y si es necesario
primero hace un detach y un logout remoto. Si no existe crea la sesión con
sessionname.




screen -DR mysession -S newsession -t winname → reattach a la sesión de screen
llamada mysession y si no existe crea una nueva llamada newsession. Con -t damos un
nombre a la ventana creada.

screen {-D -RR | -DRR} [sessionname]


Attach aquí y ahora.
La tecla de comandos Ctrl-a







Ctrl-a es la tecla de comandos de screen.
Utilizada para trabajar con screen dentro de una sesión
de screen.
Todos los comandos de screen se inician con esta
secuencia de comandos.
El comando más
importante es Ctrl-a ?
Comandos Ctrl-a – Gestión de
sesiones


Moviendo una sesión entre terminales con detach y
reattach:
 C-a d (detach)
→ Detach de la sesión.
 C-a DD
→ Detach de la sesión y logout.
 C-a :sessionname name → Renombrar sesión.
 C-a x
→ Bloquea la sesión/el terminal.
 C-a C-
→ Cierra todas las ventanas y
termina screen.
Comandos Ctrl-a – Gestión de
regiones


Visualizando más de una ventana en el display del usuario:












→ split vertical.
→ split horizontal.
→ saltar a la siguiente región.
→ eliminar la región actual.
→ eliminar todas las regiones excepto la
actual.
→ redimensiona la región ±N líneas.
C-a :resize {+|-}N
También resize {=|max|min}
C-a :caption always caption → Mostrar leyenda de la ventana siempre.
C-a :caption splitonly caption → Mostrar leyenda solo cuando hay split.
C-a :caption string caption → Cambiar leyenda/pie de la ventana.
Por defecto caption = ‘%3n %t’
C-a V o C-a |
C-a S
C-a TAB
C-a X
C-a Q

Ejs: caption = ‘%{= kB}%-Lw%{=s kB}%50>%n%f* %t %{-}%+Lw%<‘
caption = ‘%{= kg}[%L=%{+u b} %=%{-u W}%?%-Lw%?%45L>%{Y}(%n*%f %t)%?(%u)%?%{W}%+Lw%{+u b} %=%-1=%{-u g}]’
Comandos Ctrl-a – Gestión de
ventanas


Gestión y selección de ventanas:
→ Crear una nueva ventana
 C-a c (create)
→ Cerrar la ventana actual.
 C-a k (kill)
→ Mostrar el listado de ventanas para su
 C-a “
selección con las teclas de cursor.
→ Cambiar a la ventana número nº.
 C-a 0…9
→ Cambiar a la última ventana mostrada.
 C-a C-a
→ Cambiar a la siguiente ventana.
 C-a n (next)
→ Cambiar a la siguiente ventana.
 C-a SPACE
 C-a p (prev)
→ Cambiar a la ventana anterior.
 C-a BACKSPACE → Cambiar a la ventana anterior.
 C-a A (Annotate)
→ Renombrar la ventana actual.
 C-a :title título
→ Renombrar la ventana actual.
Bonus track


Ejecutar un programa específico al iniciar una sesión:




screen [-S sessionname] [-t windowname] -s program

Screen Saver (idle) + Lock Terminal (lockscreen):


C-a :idle timeout lockscreen




C-a :idle 0




Deshabilitar el screen saver configurado.

Hardcopy de la ventana actual:


C-a h [filename]






Bloquea el terminal tras timeout segundos de inactividad.

Escribe el contenido visualizado en la ventana en el fichero indicado. Si filename no es
especificado se utiliza el fichero hardcopy.n, donde n es el número de la ventana actual. Los
ficheros se guardan en el directorio por defecto si no se ha especificado lo contrario.

C-a :hardcopydir directory
C-a :hardcopy_append {on|off}

Log de la ventana actual:



C-a :logfile filename
C-a H


Inicia/finaliza el logging de la ventana actual. Si el fichero de log no ha sido especificado se utiliza
el fichero screenlog.n, donde n es el número de la ventana actual.
El fichero ~/.screenrc sobrescribe
la configuración de /etc/screenrc
root@demo:~# cat .screenrc
# Auto-screen support; see http://taint.org/wk/RemoteLoginAutoScreen
# Automatically detach the session on SIGHUP
autodetach on
# Display copyright notice on startup
startup_message off
# Set the default program for new windows. Always use a login shell
shell -$SHELL
# Begins/ends logging of the current window to file
deflog on
logfile $HOME/screen-logs/%Y%m%d-%n.log
# Configure caption
caption always ‘%{= kg}[%L=%{+u b} %=%{-u W}%?%-Lw%?%45L>%{Y}(%n*%f
%t)%?(%u)%?%{W}%+Lw%{+u b} %=%-1=%{-u g}]’
# Configure the use and emulation of the terminal’s hardstatus line
hardstatus on
hardstatus alwayslastline
hardstatus string '%L>%{=
wk}[c=create|d=detach|k=kill]%=[<esc>=copy|<]>=paste]%=[H=log|h=hardcopy]%=[
S=split|Q=only|X=remove|<tab>=focus]%=[?=help]%=%-21=%{= kG}[%d/%m/%Y
%c:%s]'
Ejecutando automáticamente
screen al hacer login remoto


Añadimos al fichero .bashrc las siguientes líneas:
# Auto-screen invocation. see: http://taint.org/wk/RemoteLoginAutoScreen
# if we're coming from a remote SSH connection, in an interactive session
# then automatically put us into a screen(1) session. Only try once
# -- if $STARTED_SCREEN is set, don't try it again, to avoid looping
# if screen fails for some reason.
if [ "$PS1" != "" -a "${STARTED_SCREEN:-x}" = x -a "${SSH_TTY:-x}" != x ]
then
export STARTED_SCREEN=1
[ -d $HOME/lib/screen-logs ] || mkdir -p $HOME/lib/screen-logs
sleep 1
screen -RR -t main 2> /dev/null && exit 0
# normally, execution of this rc script ends here...
echo
echo "Screen failed! continuing with normal bash startup"
fi
# [end of auto-screen snippet]



Opcionalmente, podemos configurar el fichero /etc/screenrc con las siguientes líneas:
# define message of the day
echo ""
echo "Welcome to terminal managed with screen."
sleep 3
Recursos


Imprescindibles:




Manual: https://www.gnu.org/software/screen/manual/[screen.pdf]




Screen web site: https://www.gnu.org/software/screen/

man screen

Interesantes:


Automatic ‘screen’ on remote logins: http://taint.org/wk/RemoteLoginAutoScreen



Terminal Multiplexers: Screen, Tmux y Dtach: http://hyperpolyglot.org/multiplexers



GNU screen & Screen’s Appearance:
http://aperiodic.net/screen/start & http://aperiodic.net/screen/appearance



"Status Messages in Screen" by Kyle Rankin, LJ, March 2011:
http://www.linuxjournal.com/article/10950



"Power Sessions with Screen" by Adam Lazur, LJ, January 2013:
http://www.linuxjournal.com/article/6340



“Time-Saving Tricks on the Command Line” by Janos Gyerik, LJ, November 2013:
http://www.linuxjournal.com/content/time-saving-tricks-command-line



Aplicaciones relacionadas:


Screenie: screen session handler (wrapper): http://sourceforge.net/projects/screenie/



tmux: http://tmux.sourceforge.net/
Administrando sistemas con GNU Screen

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (13)

Intro PygameCapitulo 3
Intro PygameCapitulo 3Intro PygameCapitulo 3
Intro PygameCapitulo 3
 
52 ejercicios en pseudocódigo
52 ejercicios en pseudocódigo52 ejercicios en pseudocódigo
52 ejercicios en pseudocódigo
 
Intro Pygame Capitulo 2
Intro Pygame Capitulo 2Intro Pygame Capitulo 2
Intro Pygame Capitulo 2
 
Guia rompecabezas
Guia  rompecabezasGuia  rompecabezas
Guia rompecabezas
 
Informe ejecutivo fase 2.-
Informe ejecutivo   fase 2.-Informe ejecutivo   fase 2.-
Informe ejecutivo fase 2.-
 
04 creacion de vlans y puertos trocanles freddy beltran
04 creacion de vlans y puertos trocanles freddy beltran04 creacion de vlans y puertos trocanles freddy beltran
04 creacion de vlans y puertos trocanles freddy beltran
 
52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo
 
Capitulo 4
Capitulo 4Capitulo 4
Capitulo 4
 
5.5 instruccion for
5.5 instruccion for5.5 instruccion for
5.5 instruccion for
 
tarea--ejercicios propuestos 4
tarea--ejercicios propuestos 4 tarea--ejercicios propuestos 4
tarea--ejercicios propuestos 4
 
Guia para e insertar codigo en mi proyecto
Guia  para e insertar codigo en mi  proyectoGuia  para e insertar codigo en mi  proyecto
Guia para e insertar codigo en mi proyecto
 
Adobe flash-cs5
Adobe flash-cs5Adobe flash-cs5
Adobe flash-cs5
 
Hack x crack_batch2
Hack x crack_batch2Hack x crack_batch2
Hack x crack_batch2
 

Andere mochten auch

Oracle VM VirtualBox Hacked
Oracle VM VirtualBox HackedOracle VM VirtualBox Hacked
Oracle VM VirtualBox HackedV. Javierf Fdez
 
Evolución de la admon. sistemas
Evolución de la admon. sistemasEvolución de la admon. sistemas
Evolución de la admon. sistemasV. Javierf Fdez
 
Instalación de MS Windows Services for UNIX
Instalación de MS Windows Services for UNIXInstalación de MS Windows Services for UNIX
Instalación de MS Windows Services for UNIXV. Javierf Fdez
 
[es] Crea tu mapa de proyecto para llegar a buen puerto - CAS2012
[es] Crea tu mapa de proyecto para llegar a buen puerto - CAS2012[es] Crea tu mapa de proyecto para llegar a buen puerto - CAS2012
[es] Crea tu mapa de proyecto para llegar a buen puerto - CAS2012Xavier Albaladejo
 

Andere mochten auch (6)

Oracle VM VirtualBox Hacked
Oracle VM VirtualBox HackedOracle VM VirtualBox Hacked
Oracle VM VirtualBox Hacked
 
Evolución de la admon. sistemas
Evolución de la admon. sistemasEvolución de la admon. sistemas
Evolución de la admon. sistemas
 
SFU Administration
SFU AdministrationSFU Administration
SFU Administration
 
Instalación de MS Windows Services for UNIX
Instalación de MS Windows Services for UNIXInstalación de MS Windows Services for UNIX
Instalación de MS Windows Services for UNIX
 
Qr Codes o Códigos QR
Qr Codes o Códigos QRQr Codes o Códigos QR
Qr Codes o Códigos QR
 
[es] Crea tu mapa de proyecto para llegar a buen puerto - CAS2012
[es] Crea tu mapa de proyecto para llegar a buen puerto - CAS2012[es] Crea tu mapa de proyecto para llegar a buen puerto - CAS2012
[es] Crea tu mapa de proyecto para llegar a buen puerto - CAS2012
 

Ähnlich wie Administrando sistemas con GNU Screen

Ähnlich wie Administrando sistemas con GNU Screen (20)

Aprendiendo Linux: Screen
Aprendiendo Linux: ScreenAprendiendo Linux: Screen
Aprendiendo Linux: Screen
 
GESTION DE ARCHIVOS POR LINEA DE COMANDOS
GESTION DE ARCHIVOS POR LINEA DE COMANDOSGESTION DE ARCHIVOS POR LINEA DE COMANDOS
GESTION DE ARCHIVOS POR LINEA DE COMANDOS
 
Tutorial de teamviewer
Tutorial de teamviewerTutorial de teamviewer
Tutorial de teamviewer
 
9 implementacion (caso de uso)
9 implementacion  (caso de uso)9 implementacion  (caso de uso)
9 implementacion (caso de uso)
 
9 impl
9 impl9 impl
9 impl
 
PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACION
 
Reglas de Oro para el Desarrollo con Windows Vista
Reglas de Oro para el Desarrollo con Windows VistaReglas de Oro para el Desarrollo con Windows Vista
Reglas de Oro para el Desarrollo con Windows Vista
 
Tutorial de teamviewer
Tutorial de teamviewerTutorial de teamviewer
Tutorial de teamviewer
 
Novedades en XAML
Novedades en XAMLNovedades en XAML
Novedades en XAML
 
6.funciones y recursividad en c++
6.funciones y recursividad en c++6.funciones y recursividad en c++
6.funciones y recursividad en c++
 
Teamviwer 2
Teamviwer 2Teamviwer 2
Teamviwer 2
 
5.instrucciones de control en java parte2
5.instrucciones de control en java parte25.instrucciones de control en java parte2
5.instrucciones de control en java parte2
 
Comando de red
Comando de redComando de red
Comando de red
 
About debuggers.help
About debuggers.helpAbout debuggers.help
About debuggers.help
 
Configuracion de vnc en centos 6.7
Configuracion de vnc en centos 6.7Configuracion de vnc en centos 6.7
Configuracion de vnc en centos 6.7
 
Creando controles para Xamarin.Forms
Creando controles para Xamarin.FormsCreando controles para Xamarin.Forms
Creando controles para Xamarin.Forms
 
Tutorial teamviewer
Tutorial teamviewerTutorial teamviewer
Tutorial teamviewer
 
Ejercicios Python Parte 1
Ejercicios Python Parte 1Ejercicios Python Parte 1
Ejercicios Python Parte 1
 
6 Administración Android - Activity Manager 2
6 Administración Android -  Activity Manager 26 Administración Android -  Activity Manager 2
6 Administración Android - Activity Manager 2
 
Twig avanzado (sf2Vigo)
Twig avanzado (sf2Vigo)Twig avanzado (sf2Vigo)
Twig avanzado (sf2Vigo)
 

Kürzlich hochgeladen

Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 

Kürzlich hochgeladen (20)

Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 

Administrando sistemas con GNU Screen

  • 1. ADMINISTRANDO SISTEMAS CON GNU SCREEN Una breve introducción al uso de GNU Screen https://www.gnu.org/software/screen/ http://vjavierf.wordpress.com
  • 2. GNU Screen…¿Para qué?  Para multiplexar terminales.   Screen permite tener múltiples ventanas en una única aplicación de terminal. Ventajas: No necesitamos ejecutar varias instancias de la aplicación de terminal para conectarnos al mismo servidor.  Podemos desconectarnos/conectarnos a una sesión de screen en cualquier momento y continuar con el trabajo que estábamos realizando exactamente dónde lo dejamos.  Podemos compartir el terminal para ver el trabajo que está realizando otro sysadmin. 
  • 3. Instalando GNU Screen  En distribuciones basadas en GNU/Linux Debian:   En distribuciones basadas en Red Hat Linux:   # yum install screen En sistemas Unix:    # apt-get update; apt-get install screen En Solaris…: # pkgadd -d screen_package En FreeBSD: # pkgadd -r screen En Mac OS X Lion:  git clone git://git.savannah.gnu.org/screen.git cd screen/src ./autogen.sh ./configure --enable-colors256 make sudo make install cp screen ~/bin/screen
  • 4. Sesiones, regiones y ventanas screen -S session0 screen -S session1 session0 region region window 0 shell region region region window 1 window 2 window 0 window 1 shell program shell shell top region session1 tail –f file Screen tiene la habilidad de visualizar más de una ventana. Esto lo consigue dividiendo la pantalla en regiones, las cuáles pueden contener diferentes ventanas.
  • 5. Comandos screen básicos (I)  screen    screen -S sessionname   Detach de la sesión. screen -r [sessionname]   Listar las sesiones de screen en ejecución. screen -d [sessionname]   Inicia una sesión de screen con el nombre sessionname. screen {-ls | -list}   Inicia una sesión de screen. sessionname → pid.tty.host Attach a una sesión detached. screen -x [sessionname]  Attach a una sesión no detached.
  • 6. Comandos screen básicos (II)  screen {-d -r | -dr} [sessionname]   screen {-d -R | -dR} [sessionname]   Reattach a la sesión y si es necesario primero hace un detach. Si no existe crea la sesión con sessionname. Si existe más de una sesión disponible usa la primera. screen {-D -r | -Dr} [sessionname]   Reattach a la sesión y si es necesario primero hace un detach. Si no existe crea la sesión con sessionname. screen {-d -RR | -dRR} [sessionname]   Reattach a la sesión y si es necesario primero hace un detach. Reattach a la sesión y si es necesario primero hace un detach y un logout remoto. screen {-D -R | -DR} [sessionname]  Attach aquí y ahora. Si la sesión está en ejecución reattach y si es necesario primero hace un detach y un logout remoto. Si no existe crea la sesión con sessionname.   screen -DR mysession -S newsession -t winname → reattach a la sesión de screen llamada mysession y si no existe crea una nueva llamada newsession. Con -t damos un nombre a la ventana creada. screen {-D -RR | -DRR} [sessionname]  Attach aquí y ahora.
  • 7. La tecla de comandos Ctrl-a     Ctrl-a es la tecla de comandos de screen. Utilizada para trabajar con screen dentro de una sesión de screen. Todos los comandos de screen se inician con esta secuencia de comandos. El comando más importante es Ctrl-a ?
  • 8. Comandos Ctrl-a – Gestión de sesiones  Moviendo una sesión entre terminales con detach y reattach:  C-a d (detach) → Detach de la sesión.  C-a DD → Detach de la sesión y logout.  C-a :sessionname name → Renombrar sesión.  C-a x → Bloquea la sesión/el terminal.  C-a C- → Cierra todas las ventanas y termina screen.
  • 9. Comandos Ctrl-a – Gestión de regiones  Visualizando más de una ventana en el display del usuario:          → split vertical. → split horizontal. → saltar a la siguiente región. → eliminar la región actual. → eliminar todas las regiones excepto la actual. → redimensiona la región ±N líneas. C-a :resize {+|-}N También resize {=|max|min} C-a :caption always caption → Mostrar leyenda de la ventana siempre. C-a :caption splitonly caption → Mostrar leyenda solo cuando hay split. C-a :caption string caption → Cambiar leyenda/pie de la ventana. Por defecto caption = ‘%3n %t’ C-a V o C-a | C-a S C-a TAB C-a X C-a Q Ejs: caption = ‘%{= kB}%-Lw%{=s kB}%50>%n%f* %t %{-}%+Lw%<‘ caption = ‘%{= kg}[%L=%{+u b} %=%{-u W}%?%-Lw%?%45L>%{Y}(%n*%f %t)%?(%u)%?%{W}%+Lw%{+u b} %=%-1=%{-u g}]’
  • 10. Comandos Ctrl-a – Gestión de ventanas  Gestión y selección de ventanas: → Crear una nueva ventana  C-a c (create) → Cerrar la ventana actual.  C-a k (kill) → Mostrar el listado de ventanas para su  C-a “ selección con las teclas de cursor. → Cambiar a la ventana número nº.  C-a 0…9 → Cambiar a la última ventana mostrada.  C-a C-a → Cambiar a la siguiente ventana.  C-a n (next) → Cambiar a la siguiente ventana.  C-a SPACE  C-a p (prev) → Cambiar a la ventana anterior.  C-a BACKSPACE → Cambiar a la ventana anterior.  C-a A (Annotate) → Renombrar la ventana actual.  C-a :title título → Renombrar la ventana actual.
  • 11. Bonus track  Ejecutar un programa específico al iniciar una sesión:   screen [-S sessionname] [-t windowname] -s program Screen Saver (idle) + Lock Terminal (lockscreen):  C-a :idle timeout lockscreen   C-a :idle 0   Deshabilitar el screen saver configurado. Hardcopy de la ventana actual:  C-a h [filename]     Bloquea el terminal tras timeout segundos de inactividad. Escribe el contenido visualizado en la ventana en el fichero indicado. Si filename no es especificado se utiliza el fichero hardcopy.n, donde n es el número de la ventana actual. Los ficheros se guardan en el directorio por defecto si no se ha especificado lo contrario. C-a :hardcopydir directory C-a :hardcopy_append {on|off} Log de la ventana actual:   C-a :logfile filename C-a H  Inicia/finaliza el logging de la ventana actual. Si el fichero de log no ha sido especificado se utiliza el fichero screenlog.n, donde n es el número de la ventana actual.
  • 12. El fichero ~/.screenrc sobrescribe la configuración de /etc/screenrc root@demo:~# cat .screenrc # Auto-screen support; see http://taint.org/wk/RemoteLoginAutoScreen # Automatically detach the session on SIGHUP autodetach on # Display copyright notice on startup startup_message off # Set the default program for new windows. Always use a login shell shell -$SHELL # Begins/ends logging of the current window to file deflog on logfile $HOME/screen-logs/%Y%m%d-%n.log # Configure caption caption always ‘%{= kg}[%L=%{+u b} %=%{-u W}%?%-Lw%?%45L>%{Y}(%n*%f %t)%?(%u)%?%{W}%+Lw%{+u b} %=%-1=%{-u g}]’ # Configure the use and emulation of the terminal’s hardstatus line hardstatus on hardstatus alwayslastline hardstatus string '%L>%{= wk}[c=create|d=detach|k=kill]%=[<esc>=copy|<]>=paste]%=[H=log|h=hardcopy]%=[ S=split|Q=only|X=remove|<tab>=focus]%=[?=help]%=%-21=%{= kG}[%d/%m/%Y %c:%s]'
  • 13. Ejecutando automáticamente screen al hacer login remoto  Añadimos al fichero .bashrc las siguientes líneas: # Auto-screen invocation. see: http://taint.org/wk/RemoteLoginAutoScreen # if we're coming from a remote SSH connection, in an interactive session # then automatically put us into a screen(1) session. Only try once # -- if $STARTED_SCREEN is set, don't try it again, to avoid looping # if screen fails for some reason. if [ "$PS1" != "" -a "${STARTED_SCREEN:-x}" = x -a "${SSH_TTY:-x}" != x ] then export STARTED_SCREEN=1 [ -d $HOME/lib/screen-logs ] || mkdir -p $HOME/lib/screen-logs sleep 1 screen -RR -t main 2> /dev/null && exit 0 # normally, execution of this rc script ends here... echo echo "Screen failed! continuing with normal bash startup" fi # [end of auto-screen snippet]  Opcionalmente, podemos configurar el fichero /etc/screenrc con las siguientes líneas: # define message of the day echo "" echo "Welcome to terminal managed with screen." sleep 3
  • 14. Recursos  Imprescindibles:   Manual: https://www.gnu.org/software/screen/manual/[screen.pdf]   Screen web site: https://www.gnu.org/software/screen/ man screen Interesantes:  Automatic ‘screen’ on remote logins: http://taint.org/wk/RemoteLoginAutoScreen  Terminal Multiplexers: Screen, Tmux y Dtach: http://hyperpolyglot.org/multiplexers  GNU screen & Screen’s Appearance: http://aperiodic.net/screen/start & http://aperiodic.net/screen/appearance  "Status Messages in Screen" by Kyle Rankin, LJ, March 2011: http://www.linuxjournal.com/article/10950  "Power Sessions with Screen" by Adam Lazur, LJ, January 2013: http://www.linuxjournal.com/article/6340  “Time-Saving Tricks on the Command Line” by Janos Gyerik, LJ, November 2013: http://www.linuxjournal.com/content/time-saving-tricks-command-line  Aplicaciones relacionadas:  Screenie: screen session handler (wrapper): http://sourceforge.net/projects/screenie/  tmux: http://tmux.sourceforge.net/