SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
ADMINISTRANDO SISTEMAS
CON TMUX
Una breve introducción al uso de tmux

tmux.sourceforge.net
http://vjavierf.wordpress.com
tmux…¿Para qué?


Para multiplexar terminales.




Tmux permite tener varios terminales en una sola
pantalla, desvincularlos (manteniéndolos funcionando
en segundo plano) y recuperarlos más tarde.

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 tmux 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 tmux


En distribuciones basadas en GNU/Linux Debian:
# apt-get update; apt-get install tmux



En Mac OS X usar Homebrew:
$ brew install tmux



En otras distribuciones Linux sin tmux paquetizado o en
OpenBSD, FreeBSD, NetBSD e incluso en Solaris y AIX
(aunque no está muy probado en estos últimos), mejor
instalar de fuentes:


Instalar libevent 2.x:
$ wget http://downloads.sourceforge.net/project/levent/libevent/libevent2.0/libevent-2.0.21-stable.tar.gz
$ tar -xzvf libevent-2.0.21-stable.tar.gz && cd libevent-2.0.21-stable
$ ./configure && make
$ sudo make install



Instalar tmux:
$ wget http://downloads.sourceforge.net/project/tmux/tmux/tmux-1.8/tmux1.8.tar.gz
$ tar -xzvf tmux-1.8.tar.gz && cd tmux-1.8
$ ./configure && make
$ sudo make install
Sesiones, ventanas y paneles
tmux new -s session0

tmux new -s session1

session0

session1

window 1

window 0

window 0

pane 0

pane 0

pane 1

pane 2

shell

shell

shell

program

tail –f file

window 2

top

Una sesión es una colección de pseudo-terminales bajo la gestión de tmux. Las sesiones son
persistentes y sobreviven a desconexiones accidentales o devinculaciones (C-b d) intencionales.
Cada sesión tiene una o más ventanas. Una ventana ocupa la pantalla entera y puede ser
dividida en paneles rectangulares, cado uno de los cuales es un pseudo-terminal.
Comandos tmux básicos


tmux




tmux new -s sessionname [-d]




Vincularse/conectarse a una sesión.

tmux detach [-t sessionname]




Renombrar la sesión a newsessionname.

tmux attach [-t sessionname]




Crea una nueva sesión con nombre sessionname que comparte todas las
ventanas con la sesión existente session.

tmux rename [-t sessionname] newsessionname




Listar las sesiones en ejecución.

tmux new -s sessionname -t session




Iniciar una sesión con nombre sessionname y conectarse a ella. Si
especificamos el parámetro -d se crea la conexión pero no se conecta a ella.

tmux ls




Iniciar una sesión y conectarse a ella.

Desvincularse/desconectarse de una sesión.

tmux kill-session [-t sessionname]


Finalizar sesión cerrando todas las ventanas asociadas y desvinculando a todos
los clientes conectados a ella.
La tecla de comandos Ctrl-b








Ctrl-b es la tecla de comandos de tmux.
Utilizada para trabajar con tmux dentro de una sesión
de tmux.
Todos los comandos de tmux se inician con esta
secuencia de comandos.
El comando más importante es Ctrl-b ?
Para cambiar la tecla de
comandos a Ctrl-a editamos
el fichero ~./tmux.conf y
añadimos las líneas:
# Change the Prefix Key
set -g prefix C-a
unbind C-b
bind C-a send-prefix
Comandos Ctrl-b – Gestión de
sesiones











C-b :new [-s sessionname] [shell-command]
→ Crear nueva sesión.
C-b s (switch session)
→ Cambiar de sesión.
C-b :choose-session
→ Cambiar de sesión.
C-b D
→ Desvincularse (detach) de
una sesión de tmux en modo
interactivo.
C-b d
→ Desvincularse (detach) de la
sesión actual.
C-b $
→ Renombrar la sesión actual.
exit
→ Cerrar la sesión o panel
actual.
Comandos Ctrl-b – Gestión de
ventanas


C-b c (create window)

→ Crear una nueva ventana.



C-b :new-window

→ Crear una nueva ventana.



C-b :list-windows

→ Listar ventanas.



C-b ,

→ Renombrar ventana.



C-b n (next window)

→ Ir a la siguiente ventana.



C-b :next-window

→ Ir a la siguiente ventana.



C-b p (previous window)

→ Ir a la ventana anterior.



C-b :previous-window

→ Ir a la ventana anterior.



C-b n

→ Ir a la ventana nº n (de 0 a 9).



C-b w

→ Elegir ventana interactivamente.



C-b :choose-window

→ Elegir ventana interactivamente.



C-b &

→ Cerrar la ventana actual.



C-b :kill-window

→ Cerrar la ventana actual.
Comandos Ctrl-b – Gestión de
paneles (I)


C-b %

→ Dividir la ventana verticalmente.



C-b :split-window -h

→ Dividir la ventana verticalmente.



C-b “

→ Dividir la ventana horizontalmente.



C-b :split-window

→ Dividir la ventana horizontalmente.



C-b :list-panes

→ Listar paneles.



C-b q

→ Mostrar número de paneles.



C-b :display-panes

→ Mostrar número de paneles.



C-b o

→ Cambiar al siguiente panel.



C-b :select-pane

→ Cambiar al siguiente panel.



C-b [↑ | ↓ | ← | →]

→ Desplazarse entre paneles.



C-b ;

→ Ir al panel seleccionado anteriormente.



C-b C-o

→ Rotar panel.



C-b :rotate-window [-D] → Rotar panel. Con -D en sentido inverso.
Comandos Ctrl-b – Gestión de
paneles (II)


C-b SPACE

→ Cambiar disposición de los paneles.



C-b :next-layout

→ Cambiar disposición de los paneles.



C-b !

→ Abrir panel en un nueva ventana.



C-b :break-pane

→ Abrir panel en un nueva ventana.



C-b :pipe-pane “cat > /path/file.log”



C-b :pipe-pane



C-b :resize-pane [–DLRU] [-t pane] [n] (Down|Left|Right|Up)

→ Activa/desactiva el logging del panel actual.
→ Redimensiona el panel en la dirección
indicada n líneas.



C-b :setw synchronize-panes on|off
→ Duplica la entrada de un panel en el resto
de paneles de la misma ventana.



C-b x

→ Cerrar panel actual.
Bonus track


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



tmux new -s sessionname [-d] command

Bloquear la sesión:


C-b :set lock-after-time timeout


Bloquea la sesión tras timeout segundos de inactividad.
Por defecto se ejecuta el comando lock para bloquear la sesión (opción lock-command).
En Debian (sin comando lock): # apt-get install vlock y C-b :set lock-command vlock



C-b :set lock-after-time 0




Deshabilitar el bloqueo configurado.

Log del panel actual:


Añadir al fichero de configuración ~./tmux.conf las siguientes líneas:
bind-key H pipe-pane 'cat >> $HOME/tmux-#W.log' ; display-message 'Started logging to $HOME/tmux-#W.log'
bind-key h pipe-pane ; display-message 'Ended logging to $HOME/tmux-#W.log'



C-b H




Inicia el logging del panel actual.

C-b h


Finaliza el loggin del panel actual.
El fichero ~/.tmux.conf sobrescribe
la configuración de /etc/tmux.conf
Ejemplo de un posible fichero de configuración…
root@demo:~# cat .tmux.conf
# use UTF8
set status-utf8 on
equivalente a
set -g utf8 on
alias tmux=‘tmux -u’
setw -g utf8 on
# make tmux display things in 256 colors
set -g default-terminal "screen-256color"
# set Ctrl-a as the default prefix key combination and unbind C-b to free it up
set -g prefix C-a
unbind C-b
# use send-prefix to pass C-a through to application
bind C-a send-prefix
# set window and pane index to 1 (0 by default)
set -g base-index 1
setw -g pane-base-index 1
# show status bar (on by default)
set -g status on
# set -g status-justify centre # center window list for clarity
# set -g status-position top
# position the status bar at top of screen
set -g status-interval 5
# set update frequencey (default 15 seconds)
# fix tmux borders displayed as x q instead of lines
set –ga terminal-overrides ‘,*:enacs@:smacs@:rmacs@:acsc@’
Continua en la siguiente diapositiva…
El fichero ~/.tmux.conf sobrescribe
la configuración de /etc/tmux.conf
…continuación de la anterior diapositiva.
# reload ~/.tmux.conf using PREFIX r
bind r source-file ~/.tmux.conf ; display "Reloaded!"
# use PREFIX | to split window horizontally and PREFIX - to split vertically
bind | split-window -h
bind - split-window -v
# map Vi movement keys as pane movement keys
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane –R
# use C-h and C-l to cycle thru panes
bind -r C-h select-window -t :bind -r C-l select-window -t :+
# resize panes using PREFIX H, J, K, L
bind H resize-pane -L 5
bind J resize-pane -D 5
bind K resize-pane -U 5
bind L resize-pane -R 5
# sync panes
bind C-s set-window-option synchronize-panes
# loggin
bind-key H pipe-pane 'cat >> $HOME/tmux-#W.log' ; display-message 'Started logging to $HOME/tmux-#W.log‘
bind-key h pipe-pane ; display-message 'Ended logging to $HOME/tmux-#W.log'
Recursos


Imprescindibles:



Manual: http://www.openbsd.org/cgi-bin/man.cgi?query=tmux&sektion=1




Tmux web site: https://www.gnu.org/software/screen/
man tmux

Interesantes:


An introduction to tmux, by Jack Franklin: http://vimeo.com/69185909



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



TMUX and SSH auto-login with ssh-agent:
http://robinwinslow.co.uk/2012/07/20/tmux-and-ssh-auto-login-with-sshagent-finally/



Aplicaciones relacionadas:


tmux-powerline y powerline: https://github.com/erikw/tmux-powerline y
https://github.com/Lokaltog/powerline



GNU screen: http://www.gnu.org/software/screen/
¿Dudas, preguntas, comentarios,
aportaciones, ideas?

¿Quién presenta el siguiente
Systech+ Day?

Más contenido relacionado

La actualidad más candente

52 ejercicios en pseudocódigo
52 ejercicios en pseudocódigo52 ejercicios en pseudocódigo
52 ejercicios en pseudocódigoStefa Naranjo Meza
 
Informe ejecutivo fase 2.-
Informe ejecutivo   fase 2.-Informe ejecutivo   fase 2.-
Informe ejecutivo fase 2.-Kun Andy
 
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 beltranbeppo
 
52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigoVictor Morales
 
5.5 instruccion for
5.5 instruccion for5.5 instruccion for
5.5 instruccion forSNPP
 
tarea--ejercicios propuestos 4
tarea--ejercicios propuestos 4 tarea--ejercicios propuestos 4
tarea--ejercicios propuestos 4 kimsavi
 

La actualidad más candente (12)

52 ejercicios en pseudocódigo
52 ejercicios en pseudocódigo52 ejercicios en pseudocódigo
52 ejercicios en pseudocódigo
 
Intro PygameCapitulo 3
Intro PygameCapitulo 3Intro PygameCapitulo 3
Intro PygameCapitulo 3
 
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
 
5.5 instruccion for
5.5 instruccion for5.5 instruccion for
5.5 instruccion for
 
Capitulo 4
Capitulo 4Capitulo 4
Capitulo 4
 
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
 

Similar a Administrando sistemas con tmux

PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACIONjose luis
 
Virtualizacion Con Xen En Open Solaris
Virtualizacion Con Xen En Open SolarisVirtualizacion Con Xen En Open Solaris
Virtualizacion Con Xen En Open SolarisToni de la Fuente
 
Curso Practico Cardsharing Lecc3
Curso Practico Cardsharing Lecc3Curso Practico Cardsharing Lecc3
Curso Practico Cardsharing Lecc3ZonaTV
 
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]RootedCON
 
La maquina virtual_paralela_pvm
La maquina virtual_paralela_pvmLa maquina virtual_paralela_pvm
La maquina virtual_paralela_pvmingdianabaquero
 
Comandos linux
Comandos linuxComandos linux
Comandos linuxEl Latino
 
Configurara el equipo de computo
Configurara el equipo de computoConfigurara el equipo de computo
Configurara el equipo de computoMariaSVicent
 
V2 d2013 jose l verdeguer - freepbx fun and profit
V2 d2013   jose l verdeguer - freepbx fun and profitV2 d2013   jose l verdeguer - freepbx fun and profit
V2 d2013 jose l verdeguer - freepbx fun and profitVOIP2DAY
 
Solucion ejercicios tema 6. telnet
Solucion ejercicios tema 6.  telnetSolucion ejercicios tema 6.  telnet
Solucion ejercicios tema 6. telneteinhasad
 

Similar a Administrando sistemas con tmux (20)

Aprendiendo Linux: Screen
Aprendiendo Linux: ScreenAprendiendo Linux: Screen
Aprendiendo Linux: Screen
 
PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACION
 
Virtualizacion Con Xen En Open Solaris
Virtualizacion Con Xen En Open SolarisVirtualizacion Con Xen En Open Solaris
Virtualizacion Con Xen En Open Solaris
 
ejemplo
ejemploejemplo
ejemplo
 
Que son los archivos batch
Que son los archivos batchQue son los archivos batch
Que son los archivos batch
 
Curso Practico Cardsharing Lecc3
Curso Practico Cardsharing Lecc3Curso Practico Cardsharing Lecc3
Curso Practico Cardsharing Lecc3
 
Ambiente del rabajo
Ambiente del rabajoAmbiente del rabajo
Ambiente del rabajo
 
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]
 
La maquina virtual_paralela_pvm
La maquina virtual_paralela_pvmLa maquina virtual_paralela_pvm
La maquina virtual_paralela_pvm
 
Tutorial de instalación de vnc en ubuntu 12.04
Tutorial de instalación de vnc en ubuntu 12.04Tutorial de instalación de vnc en ubuntu 12.04
Tutorial de instalación de vnc en ubuntu 12.04
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Configurara el equipo de computo
Configurara el equipo de computoConfigurara el equipo de computo
Configurara el equipo de computo
 
9 implementacion (caso de uso)
9 implementacion  (caso de uso)9 implementacion  (caso de uso)
9 implementacion (caso de uso)
 
2013 03 - rooted - free pbx-for fun and profit
2013 03 - rooted - free pbx-for fun and profit2013 03 - rooted - free pbx-for fun and profit
2013 03 - rooted - free pbx-for fun and profit
 
Ejercicios Python Parte 1
Ejercicios Python Parte 1Ejercicios Python Parte 1
Ejercicios Python Parte 1
 
9 impl
9 impl9 impl
9 impl
 
V2 d2013 jose l verdeguer - freepbx fun and profit
V2 d2013   jose l verdeguer - freepbx fun and profitV2 d2013   jose l verdeguer - freepbx fun and profit
V2 d2013 jose l verdeguer - freepbx fun and profit
 
Solucion ejercicios tema 6. telnet
Solucion ejercicios tema 6.  telnetSolucion ejercicios tema 6.  telnet
Solucion ejercicios tema 6. telnet
 
Documentacion vnc
Documentacion vncDocumentacion vnc
Documentacion vnc
 
Configuracion Ubuntu Server
Configuracion Ubuntu ServerConfiguracion Ubuntu Server
Configuracion Ubuntu Server
 

Último

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 

Último (13)

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

Administrando sistemas con tmux

  • 1. ADMINISTRANDO SISTEMAS CON TMUX Una breve introducción al uso de tmux tmux.sourceforge.net http://vjavierf.wordpress.com
  • 2. tmux…¿Para qué?  Para multiplexar terminales.   Tmux permite tener varios terminales en una sola pantalla, desvincularlos (manteniéndolos funcionando en segundo plano) y recuperarlos más tarde. 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 tmux 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 tmux  En distribuciones basadas en GNU/Linux Debian: # apt-get update; apt-get install tmux  En Mac OS X usar Homebrew: $ brew install tmux  En otras distribuciones Linux sin tmux paquetizado o en OpenBSD, FreeBSD, NetBSD e incluso en Solaris y AIX (aunque no está muy probado en estos últimos), mejor instalar de fuentes:  Instalar libevent 2.x: $ wget http://downloads.sourceforge.net/project/levent/libevent/libevent2.0/libevent-2.0.21-stable.tar.gz $ tar -xzvf libevent-2.0.21-stable.tar.gz && cd libevent-2.0.21-stable $ ./configure && make $ sudo make install  Instalar tmux: $ wget http://downloads.sourceforge.net/project/tmux/tmux/tmux-1.8/tmux1.8.tar.gz $ tar -xzvf tmux-1.8.tar.gz && cd tmux-1.8 $ ./configure && make $ sudo make install
  • 4. Sesiones, ventanas y paneles tmux new -s session0 tmux new -s session1 session0 session1 window 1 window 0 window 0 pane 0 pane 0 pane 1 pane 2 shell shell shell program tail –f file window 2 top Una sesión es una colección de pseudo-terminales bajo la gestión de tmux. Las sesiones son persistentes y sobreviven a desconexiones accidentales o devinculaciones (C-b d) intencionales. Cada sesión tiene una o más ventanas. Una ventana ocupa la pantalla entera y puede ser dividida en paneles rectangulares, cado uno de los cuales es un pseudo-terminal.
  • 5. Comandos tmux básicos  tmux   tmux new -s sessionname [-d]   Vincularse/conectarse a una sesión. tmux detach [-t sessionname]   Renombrar la sesión a newsessionname. tmux attach [-t sessionname]   Crea una nueva sesión con nombre sessionname que comparte todas las ventanas con la sesión existente session. tmux rename [-t sessionname] newsessionname   Listar las sesiones en ejecución. tmux new -s sessionname -t session   Iniciar una sesión con nombre sessionname y conectarse a ella. Si especificamos el parámetro -d se crea la conexión pero no se conecta a ella. tmux ls   Iniciar una sesión y conectarse a ella. Desvincularse/desconectarse de una sesión. tmux kill-session [-t sessionname]  Finalizar sesión cerrando todas las ventanas asociadas y desvinculando a todos los clientes conectados a ella.
  • 6. La tecla de comandos Ctrl-b      Ctrl-b es la tecla de comandos de tmux. Utilizada para trabajar con tmux dentro de una sesión de tmux. Todos los comandos de tmux se inician con esta secuencia de comandos. El comando más importante es Ctrl-b ? Para cambiar la tecla de comandos a Ctrl-a editamos el fichero ~./tmux.conf y añadimos las líneas: # Change the Prefix Key set -g prefix C-a unbind C-b bind C-a send-prefix
  • 7. Comandos Ctrl-b – Gestión de sesiones        C-b :new [-s sessionname] [shell-command] → Crear nueva sesión. C-b s (switch session) → Cambiar de sesión. C-b :choose-session → Cambiar de sesión. C-b D → Desvincularse (detach) de una sesión de tmux en modo interactivo. C-b d → Desvincularse (detach) de la sesión actual. C-b $ → Renombrar la sesión actual. exit → Cerrar la sesión o panel actual.
  • 8. Comandos Ctrl-b – Gestión de ventanas  C-b c (create window) → Crear una nueva ventana.  C-b :new-window → Crear una nueva ventana.  C-b :list-windows → Listar ventanas.  C-b , → Renombrar ventana.  C-b n (next window) → Ir a la siguiente ventana.  C-b :next-window → Ir a la siguiente ventana.  C-b p (previous window) → Ir a la ventana anterior.  C-b :previous-window → Ir a la ventana anterior.  C-b n → Ir a la ventana nº n (de 0 a 9).  C-b w → Elegir ventana interactivamente.  C-b :choose-window → Elegir ventana interactivamente.  C-b & → Cerrar la ventana actual.  C-b :kill-window → Cerrar la ventana actual.
  • 9. Comandos Ctrl-b – Gestión de paneles (I)  C-b % → Dividir la ventana verticalmente.  C-b :split-window -h → Dividir la ventana verticalmente.  C-b “ → Dividir la ventana horizontalmente.  C-b :split-window → Dividir la ventana horizontalmente.  C-b :list-panes → Listar paneles.  C-b q → Mostrar número de paneles.  C-b :display-panes → Mostrar número de paneles.  C-b o → Cambiar al siguiente panel.  C-b :select-pane → Cambiar al siguiente panel.  C-b [↑ | ↓ | ← | →] → Desplazarse entre paneles.  C-b ; → Ir al panel seleccionado anteriormente.  C-b C-o → Rotar panel.  C-b :rotate-window [-D] → Rotar panel. Con -D en sentido inverso.
  • 10. Comandos Ctrl-b – Gestión de paneles (II)  C-b SPACE → Cambiar disposición de los paneles.  C-b :next-layout → Cambiar disposición de los paneles.  C-b ! → Abrir panel en un nueva ventana.  C-b :break-pane → Abrir panel en un nueva ventana.  C-b :pipe-pane “cat > /path/file.log”  C-b :pipe-pane  C-b :resize-pane [–DLRU] [-t pane] [n] (Down|Left|Right|Up) → Activa/desactiva el logging del panel actual. → Redimensiona el panel en la dirección indicada n líneas.  C-b :setw synchronize-panes on|off → Duplica la entrada de un panel en el resto de paneles de la misma ventana.  C-b x → Cerrar panel actual.
  • 11. Bonus track  Ejecutar un programa específico al iniciar una nueva sesión:   tmux new -s sessionname [-d] command Bloquear la sesión:  C-b :set lock-after-time timeout  Bloquea la sesión tras timeout segundos de inactividad. Por defecto se ejecuta el comando lock para bloquear la sesión (opción lock-command). En Debian (sin comando lock): # apt-get install vlock y C-b :set lock-command vlock  C-b :set lock-after-time 0   Deshabilitar el bloqueo configurado. Log del panel actual:  Añadir al fichero de configuración ~./tmux.conf las siguientes líneas: bind-key H pipe-pane 'cat >> $HOME/tmux-#W.log' ; display-message 'Started logging to $HOME/tmux-#W.log' bind-key h pipe-pane ; display-message 'Ended logging to $HOME/tmux-#W.log'  C-b H   Inicia el logging del panel actual. C-b h  Finaliza el loggin del panel actual.
  • 12. El fichero ~/.tmux.conf sobrescribe la configuración de /etc/tmux.conf Ejemplo de un posible fichero de configuración… root@demo:~# cat .tmux.conf # use UTF8 set status-utf8 on equivalente a set -g utf8 on alias tmux=‘tmux -u’ setw -g utf8 on # make tmux display things in 256 colors set -g default-terminal "screen-256color" # set Ctrl-a as the default prefix key combination and unbind C-b to free it up set -g prefix C-a unbind C-b # use send-prefix to pass C-a through to application bind C-a send-prefix # set window and pane index to 1 (0 by default) set -g base-index 1 setw -g pane-base-index 1 # show status bar (on by default) set -g status on # set -g status-justify centre # center window list for clarity # set -g status-position top # position the status bar at top of screen set -g status-interval 5 # set update frequencey (default 15 seconds) # fix tmux borders displayed as x q instead of lines set –ga terminal-overrides ‘,*:enacs@:smacs@:rmacs@:acsc@’ Continua en la siguiente diapositiva…
  • 13. El fichero ~/.tmux.conf sobrescribe la configuración de /etc/tmux.conf …continuación de la anterior diapositiva. # reload ~/.tmux.conf using PREFIX r bind r source-file ~/.tmux.conf ; display "Reloaded!" # use PREFIX | to split window horizontally and PREFIX - to split vertically bind | split-window -h bind - split-window -v # map Vi movement keys as pane movement keys bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane –R # use C-h and C-l to cycle thru panes bind -r C-h select-window -t :bind -r C-l select-window -t :+ # resize panes using PREFIX H, J, K, L bind H resize-pane -L 5 bind J resize-pane -D 5 bind K resize-pane -U 5 bind L resize-pane -R 5 # sync panes bind C-s set-window-option synchronize-panes # loggin bind-key H pipe-pane 'cat >> $HOME/tmux-#W.log' ; display-message 'Started logging to $HOME/tmux-#W.log‘ bind-key h pipe-pane ; display-message 'Ended logging to $HOME/tmux-#W.log'
  • 14. Recursos  Imprescindibles:   Manual: http://www.openbsd.org/cgi-bin/man.cgi?query=tmux&sektion=1   Tmux web site: https://www.gnu.org/software/screen/ man tmux Interesantes:  An introduction to tmux, by Jack Franklin: http://vimeo.com/69185909  Terminal Multiplexers: Screen, Tmux y Dtach: http://hyperpolyglot.org/multiplexers  TMUX and SSH auto-login with ssh-agent: http://robinwinslow.co.uk/2012/07/20/tmux-and-ssh-auto-login-with-sshagent-finally/  Aplicaciones relacionadas:  tmux-powerline y powerline: https://github.com/erikw/tmux-powerline y https://github.com/Lokaltog/powerline  GNU screen: http://www.gnu.org/software/screen/
  • 15. ¿Dudas, preguntas, comentarios, aportaciones, ideas? ¿Quién presenta el siguiente Systech+ Day?