Tmux

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Tmux and the translation is 100% complete.

Other languages:
English • ‎español • ‎italiano • ‎日本語 • ‎한국어 • ‎русский • ‎中文(中国大陆)‎

Warning: Display title "tmux/es" overrides earlier display title "Tmux".

Resources

tmux (terminal multiplexer) que permite tener diferentes terminales (o ventanas), cada una ejecutando un programa separado, creadas, accedidas y controladas desde una sola ventana de terminal. tmux puede ser desconectado (detached) de una terminal y continuar ejecutándose en segundo plano, para luego reconectarse.[1] Los usuarios familiarizados con GNU Screen pueden encontrar que tmux es una buena alternativa.

Instalación

USE flags

USE flags for app-misc/tmux Terminal multiplexer

debug Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces global
selinux !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur global
utempter Include libutempter support local
vim-syntax Pulls in related vim syntax scripts global

Emerge

Instalar app-misc/tmux:

root #emerge --ask app-misc/tmux

Configuración

Una instalación estándar de tmux no instalará una configuración global (/etc/tmux.conf) o una configuración de usuario (~/.tmux.conf). Se proveen ejemplos en el directorio /usr/share/doc/tmux-2.0/examples que pueden ser copiados a la ubicación global o la de un usuario específico, y editadas a gusto usando un editor de texto.

Ejemplos del paquete

Para ver una lista de los ficheros de configuración, ejecute el siguiente comando:

user $ls /usr/share/doc/tmux-2.0/examples
h-boetes.conf.bz2  n-marriott.conf.bz2  screen-keys.conf.bz2  t-williams.conf.bz2  vim-keys.conf.bz2

Luego utilice cp para mover uno de estos ficheros a la ubicación global (lo que afectará a todos los usuarios) o al directorio home de algún usuario.

Ejemplos de la wiki

El siguiente es un ejemplo del fichero ~/.tmux.conf:

ARCHIVO ~/.tmux.conf
set -g default-terminal "screen-256color"   # Usar 256 colores
set -g status-utf8 on                       # Habilitar utf-8
set -g history-limit 100000                 # Tamaño del buffer del scroll
 
# Iniciar la numeración de las ventanas en 1 en lugar de 0
set -g base-index 1
 
# Configurar la prefix key y otras combinaciones de tecla para matchear con GNU Screen
set -g prefix C-a
bind-key C-a last-window
 
# Combinaciones de teclas para paneles horizontales y verticales
unbind %
bind | split-window -h
bind - split-window -v
 
# Habilitar los títulos de las ventanas
#set -g set-titles on
 
# Título de las ventanas (usa las variables de la barra de estado)
set -g set-titles-string '#T'
 
# Mostrar la hora y carga del sistema en la barra de estado
set -g status-bg '#4e4e4e'
set -g status-fg '#ffffff'
set -g status-left ' '
set -g status-right '#[bg=#bbbbbb]#[fg=#000000]#(cut -d " " -f -3 /proc/loadavg) #[bg=#4e4e4e]#[fg=#ffffff]#(
date +" %H:%M ")'
set -g window-status-format '#I #W'
set -g window-status-current-format ' #I #W '
setw -g window-status-current-bg '#55ff55'
setw -g window-status-current-fg '#000000'
 
# Color del borde de los paneles
set -g pane-active-border-fg '#bbbbbb'
set -g pane-border-fg '#555555'
 
# Bind para recargar la configuración
bind r source-file ~/.tmux.conf

Complementos

Algunos plugins están disponibles para tmux. Mira las opciones debajo para las opciones disponibles.

tmux-mem-cpu-load

tmux-mem-cpu-load es un pequeño programa diseñado para monitorear la actividad del sistema en la línea de estado de tmux. Vea el subartículo tmux-mem-cpu-load para más detalles sobre el proceso de instalación.

Tmux Resurrect

tmux-resurrect persiste entornos de tmux a través de reinicios del sistema. Vea el subartículo resurrect para más detalles sobre el proceso de instalación.

Uso

Combinaciones de teclas

tmux puede ser controlado desde un cliente conectado usando una combinación de teclas consistente en la prefix key stroke (Ctrl+b de manera predeterminada, es la combinación de teclas que anteponemos al resto de los comandos) seguido de la tecla del comando correspondiente.

Luego de presionar Ctrl+B, pueden utilizarse las siguientes combinaciones de teclas:

General

  • ? = Lista todas las combinaciones.
  • d = Desconecta al cliente actual.
  • : = Ingresa a la línea de comandos de tmux.

Creando y administrando ventanas

  • c = Crea una nueva ventana.
  • n = Cambia a la ventana siguiente.
  • p = Cambia a la ventana anterior.
  • l = Moverse a la ventana seleccionada previamente.
  • 0-9 = Selecciona de la ventana 0 a la 9.
  • ' = Pregunta por un índice de ventana para seleccionar. Luego ingresa un número o el título para moverse a esa ventana.
  • , = Renombre la ventana actual.
  • w = Selecciona la ventana deseada de forma interactiva.
  • :, luego escribe list-windows enter = Muestra el listado de ventanas.

Creando y administrando paneles

  • " = Divide el panel actual en dos, uno arriba y otro abajo.
  • % = Divide el panel actual en dos, derecha e izquierda
  • o = Selecciona el panel siguiente en la ventana actual.
  • ; = Mover al panel activo anterior.
  • { = Intercambia el panel actual con el anterior.
  • } = Intercambia el panel actual con el prócimo.
  • Ctrl+o = Rota hacia adelante los paneles en la ventana actual.
  • Alt+1 a Alt+5 = Ordena los paneles en una de las cinco configuraciones predeterminadas: even-horizontal, even-vertical, main-horizontal, main-vertical, o tiled.
  • x = Mata (kill) al panel actual.
  • ! = Mueve al panel actual a una nueva ventana.

Operaciones de copiado, pegado y scroll

Las teclas disponibles depende de si está seleccionado el modo emacs (predeterminado) o el modo vi. El modo puede ser configurado en .tmux.conf.

  • [ = Entra al modo de copia para copiar texto o verlo el historial.
  • ] = Pega el más reciente buffer o texto copiado.
  • # = Lista todos los buffers de copia .
  • - = Borra el texto o buffer copiados más reciente.

Control de sesión

Inicio de sesión

Una vez iniciado tmux crea un socket para la sesión en /tmp/S-<UID>/<Session Name>.

tmux puede ser iniciado con el siguiente comando:

user $tmux

O, para indicar el nombre de la sesión al inicio, ejecuta:

user $tmux new-session -s portage

Listando sesiones

Lista las sesiones de tmux para ver información de las sesiones existentes:

user $tmux ls
0: 1 windows (created Thu Apr  9 09:09:03 2015) [180x65] (attached)

Cuando listamos sesiones el nombre de la sesión aparecerá como el primer elemento en la línea de información de sesiones. Es posible ver en la salida del comando que la sesión fue creada sin nombre, en ese caso la sesión será referenciada como 0.

Otra forma de listar las sesiones es escribiendo el argumento list-sessions.

user $tmux list-sessions
0: 1 windows (created Thu Apr  9 09:09:03 2015) [180x65] (attached)

Se muestra exactamente la misma salida que en el comando anterior.

Renombrar una sesión

Utilizando simplemente tmux para iniciar una sesión no otorga una sesión con un nombre lindo y legible por humanos.

Si el nombre predeterminado de la sesión no es lo suficientemente descriptivo (0 no tiende a decir mucho), entonces la sesión puede ser renombrada. Supongamos que Larry la vaca inició tmux sin especificar un nombre de sesión en el inicio. Él comienza a trabajar compilando una nueva versión de Portage, y quiere cambiar el nombre de la sesión para reflejar la tarea actual. Para cambiar el nombre de la sesión primero tiene que asumir el control de tmux presionando la combinación mágica: Ctrl+b, luego :, lo que cambiará el foco a la línea de comandos de tmux. De forma predeterminada la línea se vuelve amarilla. Una vez ahí debe realizar:

:rename-session -t 0 portage

Donde 0 es el nombre actual (default) de la sesión y portage es el nombre deseado. Para renombrar una sesión de tmux a la que no estamos conectados:

user $tmux rename-session -t 0 portage

Reconectar a una sesión

Luego de que la sesión es desconectada, todas las terminales permanecen activas y también los comandos que aún no han finalizado. Para reconectar a una sesión usa attach -t <session_name>.

user $tmux a -t portage

O usa la forma larga de conectar a una sesión existente:

user $tmux attach -t portage

Operaciones Daemon-like

Para iniciar un comando en una sesión de tmux sin conectar a la misma (como un daemon), usa new-session -d seguido del comando a ejecutar entre comillas:

user $tmux new-session -d 'emerge -uDNvp @world'

Vea también

  • Screen - Una alternativa a tmux.

Recursos externos

Referencias