Instalar tmux en macOS y Comandos Básicos para Principiantes
Aprende a instalar tmux en macOS con Homebrew y domina los comandos básicos: sesiones, paneles, plugins y SSH. Amigable para principiantes, actualizado para tmux 3.8.
Actualizado Publicado 29 min de lectura

¿Quieres instalar tmux en macOS y aprender los comandos básicos? tmux (terminal multiplexer) mantiene vivas múltiples sesiones de terminal dentro de una única ventana. Puedes desconectarte, irte, y reconectarte después, incluso desde otra conexión SSH, sin perder lo que estaba corriendo. tmux 3.8 salió en septiembre de 2026 con paneles flotantes y temas claros/oscuros integrados. El flujo de trabajo central no ha cambiado, y cada comando de esta guía funciona igual en 3.8.
Esta guía va desde brew install tmux hasta sesiones, ventanas, paneles, plugins y el flujo de trabajo por SSH que merece usarse en un servidor real. También corrige los dos consejos que las guías viejas siguen haciendo mal: el arreglo de PATH en Apple Silicon y la trampa de “corre tmux con sudo”.
Antes de empezar, esto es lo que necesitas:
- Un Mac con macOS y una app de terminal (Terminal.app funciona, iTerm2, Wezterm o Ghostty son más agradables).
- Homebrew, o acceso a internet para instalarlo (un comando abajo).
- Unos 10 minutos para la instalación y la primera sesión.
Para un terminal más agradable donde correr tmux, mira la guía de Wezterm Mac setup with tmux and zoxide.
¿Qué es tmux?
tmux es un multiplexor de terminal. Corre dentro de una ventana de terminal y te da tres capas para organizar el trabajo:
- Las sesiones son espacios de trabajo con nombre que sobreviven a desconexiones. Desconéctate de una y todo lo de dentro sigue corriendo.
- Las ventanas son pestañas dentro de una sesión. La barra de estado las muestra como
0:bash 1:logs 2:ssh. - Los paneles son divisiones dentro de una ventana. Una ventana puede mostrar varios shells lado a lado.
Lo que hace que tmux merezca aprenderse:
- Desconéctate de una sesión y reconéctate después, incluso desde otro ordenador. Los procesos largos siguen mientras tu portátil duerme.
- Divide una ventana en paneles, horizontal o verticalmente, y conduce varios shells desde una pantalla.
- Si una conexión SSH se cae, la sesión tmux en el servidor ni se entera. Reconéctate y tu trabajo está exactamente donde lo dejaste.
- Los atajos de teclado, la barra de estado, los colores y el comportamiento son todos configurables desde un solo archivo.
- Dos personas pueden conectarse a la misma sesión, lo cual es genuinamente útil para pair programming o para guiar a alguien en una corrección.
Los principiantes suelen sentirse torpes un día o dos, luego la tecla de prefijo (Ctrl+b) se vuelve memoria muscular. tmux se gana su sitio para cualquiera que ejecute builds, siga logs, trabaje en servidores remotos o haga malabares con más de una tarea en una terminal.
Qué hay de nuevo en tmux 3.7 y 3.8
Dos versiones han aterrizado desde que esta guía se publicó por primera vez. Nada de lo de abajo es necesario para seguir el resto del artículo, pero merece la pena saber qué cambió.
- Paneles flotantes (3.7, completado en 3.8).
Ctrl+b *abre un panel flotante que se superpone a la ventana actual en vez de dividirla. Los bindings de mover y redimensionar viven bajoCtrl+b g(pulsaCtrl+b ?para ver el grupo de bindings). tmux planea que los paneles flotantes reemplacen los popups en 3.9. - Selector difuso (3.8).
Ctrl+b Tababre un buscador difuso sobre sesiones y ventanas. Más rápido que hacer scroll porCtrl+b wcuando tienes un montón de ventanas. - Temas integrados (3.8). tmux ahora trae temas claros y oscuros y una opción
theme. Detecta el tema de tu terminal por defecto, y los colores por defecto se ven distintos al tmux viejo. Si quieres el aspecto clásico de vuelta, una línea en tu config lo hace (cubierto en la sección de personalización). - Ayuda de modo (3.7). Pulsa
Ctrl+hdentro del modo copia o cualquier otro modo para obtener ayuda de ese modo, no la tabla de teclas completa. - Victorias menores. Números de línea en modo copia (
set -g copy-mode-line-numbers),focus-follows-mouse, y un modo customize más limpio.
¿Actualizando desde un tmux más viejo?
Si actualizas una instalación existente, no te saltes el paso de reinicio. tmux cambió su protocolo interno en 3.6, y un servidor viejo dejado corriendo rechazará nuevos clientes. La corrección está en la sección de resolución de problemas.
Si quieres ver hacia dónde van las terminales más allá de tmux, Superlogical Rex: el creador de Ghostty repiensa el multiplexor de terminal merece una lectura. Zellij es la alternativa moderna con pistas de UI integradas (~35,7k estrellas en GitHub frente a las ~49k de tmux). Yo sigo volviendo a tmux por defecto porque está preinstalado o a un apt install tmux de distancia en cada servidor Linux que toco, y ese es el entorno donde esta herramienta más importa.
Primeros pasos con tmux
Instálalo, verifica el binario, luego arranca una sesión. Nada de esto necesita archivo de config todavía.
Instala tmux en macOS
El camino por defecto es Homebrew. Si aún no tienes Homebrew:
-
Instala Homebrew:
bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Sigue las instrucciones en pantalla. En Apple Silicon el instalador pone Homebrew en
/opt/homebrewe imprime la líneashellenvque deberías añadir a~/.zprofile. Haz ese paso, previene los problemas de PATH descritos en resolución de problemas más abajo. -
Instala tmux:
bash brew install tmuxHomebrew trae las dependencias. En macOS eso incluye jemalloc desde 3.7c (un workaround para un bug de
callocde macOS); no tienes que hacer nada, la fórmula lo maneja. -
Verifica la instalación:
bash tmux -VEn una instalación fresca hoy eso imprime
tmux 3.8. Cualquier cosa desde 3.6 en adelante seguirá esta guía bien.
Tabla: comandos de instalación de tmux
| Acción | Comando |
|---|---|
| Instalar Homebrew | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" |
| Instalar tmux | brew install tmux |
| Verificar instalación | tmux -V |
Si brew install tmux falla, ejecuta brew update primero y comprueba que brew doctor no se queja de permisos en /opt/homebrew.
Instalar tmux en un servidor Linux
Salta Homebrew por completo en Linux. tmux viene preinstalado en muchas imágenes de servidor, y si no: sudo apt install tmux en Debian/Ubuntu o sudo dnf install tmux en RHEL/Alma/Rocky. El resto de esta guía funciona igual ahí.
¿Quieres emparejar tmux con un terminal Mac moderno? La guía de configuración del terminal Ghostty para Mac cubre una opción rápida acelerada por GPU.
Lee la guía de configuración de GhosttyArranca tu primera sesión tmux
Arranca una sesión nueva:
tmuxTu terminal obtiene una barra de estado abajo y un shell fresco. Eso es una sesión con una ventana y un panel.
Mejor: nombra la sesión desde el principio para poder encontrarla después:
tmux new -s devAún mejor, usa attach-or-create. Este es el único comando que recomiendo poner en un alias:
tmux new -A -s devSe conecta a dev si la sesión existe y la crea si no, lo que evita el error can't find session.
Para dejar que otro usuario se conecte a tu sesión (pair programming o resolución de problemas en vivo):
- Arranca una sesión como siempre.
- El otro usuario se conecta con
tmux attach -t nombre_sesion.
Ambos veis y escribís en la misma sesión.
Para reconectarte a una sesión existente:
tmux attach -t nombre_sesionSin nombre se conecta a la sesión usada más recientemente. tmux ls lista todo lo que está corriendo:
tmux ls
# dev: 1 windows (created Sun Oct 12 10:00:00 2026)Para desconectarte sin cerrar nada: pulsa Ctrl+b, luego d. La sesión sigue corriendo en segundo plano.
Para cerrar una sesión definitivamente, escribe exit en su última ventana, o mátala explícitamente:
tmux kill-session -t nombre_sesionCtrl+b & mata la ventana
Ctrl+b luego & cierra la ventana actual y cada panel dentro de ella. No es un atajo para “salir”. Usa Ctrl+b d para desconectarte, exit para cerrar limpiamente, y guarda Ctrl+b & para cuando de verdad lo quieres decir.
Tabla: comandos básicos de sesión tmux
| Acción | Comando |
|---|---|
| Arrancar sesión nueva | tmux |
| Arrancar sesión con nombre | tmux new -s nombre_sesion |
| Conectar o crear (recomendado) | tmux new -A -s nombre_sesion |
| Conectar a sesión | tmux attach -t nombre_sesion |
| Listar sesiones | tmux ls |
| Desconectar de sesión | Ctrl+b luego d |
| Renombrar sesión | tmux rename-session -t nombre_viejo nombre_nuevo |
| Matar sesión | tmux kill-session -t nombre_sesion |
| Matar ventana actual | Ctrl+b luego & |
La tecla de prefijo Ctrl+b es cómo tmux distingue comandos de escritura. Púlsala, suelta ambas teclas, luego pulsa la tecla de comando. Cada binding de esta guía sigue ese patrón.
Básicos de ventanas tmux
Las ventanas son la capa intermedia que la mayoría de guías para principiantes se saltan, y se nota en el momento en que miras la barra de estado y ves 0:bash 1:bash-*. Una ventana es una pestaña. Los paneles viven dentro de las ventanas, las ventanas dentro de una sesión.
Los bindings que importan primero:
- Nueva ventana:
Ctrl+b c - Ventana siguiente / anterior:
Ctrl+b n/Ctrl+b p - Saltar a ventana por número:
Ctrl+b 0hastaCtrl+b 9 - Listar todas las ventanas y elegir una:
Ctrl+b w - Renombrar la ventana actual:
Ctrl+b , - Cerrar la ventana actual:
Ctrl+b &(luego confirma cony)
Renombra las ventanas en cuanto las crees. 2:ssh gana a 2:bash- cuando cambias a velocidad.
Tabla: comandos de ventana tmux
| Acción | Comando |
|---|---|
| Crear ventana | Ctrl+b c |
| Ventana siguiente / anterior | Ctrl+b n / Ctrl+b p |
| Seleccionar ventana por número | Ctrl+b 0 … Ctrl+b 9 |
| Elegir de la lista | Ctrl+b w |
| Renombrar ventana actual | Ctrl+b , |
| Cerrar ventana actual | Ctrl+b luego & |
Paneles tmux
Los paneles dividen una única ventana en múltiples secciones, cada una corriendo su propio shell.
Dividir paneles

Usa el prefijo (Ctrl+b) más una tecla de división:
- Dividir verticalmente (izquierda y derecha):
text Ctrl+b % - Dividir horizontalmente (arriba y abajo):
text Ctrl+b "
Sigue dividiendo paneles para construir el layout que la tarea necesite.
Navegar paneles
- Panel siguiente:
text Ctrl+b o - Moverse por dirección:
text Ctrl+b <tecla de flecha>
Con el soporte de ratón activado (ver personalización abajo) también puedes hacer clic en un panel para enfocarlo.
Cerrar paneles
- Escribe
exiten el panel, o Ctrl+b x, luego confirma cony.
Redimensionar panel tmux
El redimensionado interactivo es el que usarás a diario:
Ctrl+b Ctrl+<tecla de flecha>Mantén Ctrl y toca una flecha para agrandar el panel en esa dirección.
Para control preciso, usa el modo comando:
Ctrl+b :
resize-pane -U 5-U arriba, -D abajo, -L izquierda, -R derecha, con un número de celdas tras la bandera.
Tabla: comandos de panel tmux
| Acción | Comando |
|---|---|
| Dividir verticalmente | Ctrl+b % |
| Dividir horizontalmente | Ctrl+b " |
| Navegar al panel siguiente | Ctrl+b o |
| Navegar por dirección | Ctrl+b <tecla de flecha> |
| Cerrar panel actual | Ctrl+b x o exit |
| Modo redimensionar | Ctrl+b : luego resize-pane -[U/D/L/R] <número> |
| Redimensionado interactivo | Ctrl+b Ctrl+<tecla de flecha> |
Cuando olvides un binding, Ctrl+b ? abre la tabla de teclas completa, y Ctrl+h muestra ayuda del modo en que estés.
Cambiar el aspecto de tmux
Todo esto vive en un solo archivo de config. tmux lee ~/.tmux.conf o ~/.config/tmux/tmux.conf (la ruta XDG, soportada desde tmux 3.1). Elige uno, no mantengas ambos. Yo uso ~/.config/tmux/tmux.conf en montajes nuevos porque mantiene el home ordenado.
Tras cada edición, recarga:
tmux source ~/.tmux.confConvierte eso en una sola pulsación añadiendo esto a la config:
bind r source-file ~/.tmux.conf \; display-message "config reloaded"Entonces Ctrl+b r recarga y confirma en la barra de estado. Este es el paso de verificación para cada cambio de abajo: edita, recarga, mira la barra de estado. Si nada cambió, tmux source habrá impreso un error de sintaxis.
tmux 3.8 cambió los colores por defecto
tmux 3.8 trae temas claros y oscuros integrados y elige uno detectando tu terminal. Si tu barra de estado de repente se ve distinta tras actualizar, es por eso. Restaura los colores ANSI pre-3.8 con:
set -s theme terminalLa opción acepta detect, terminal, light o dark. Los estilos también aceptan nombres de color conscientes del tema como themewhite y themegreen.
1. Personaliza la barra de estado
set -g status-style bg=black,fg=white
set -g status-position top
set -g status-left "[Session: #S] "
set -g status-right "%H:%M %d-%b-%y"2. Estilo de ventanas y paneles
set -g window-status-current-style bg=yellow,fg=black
set -g window-status-style bg=green,fg=black
set -g pane-border-style fg=green
set -g pane-active-border-style fg=yellow3. Activa el soporte de ratón
Merece la pena en un Mac. Clic para enfocar paneles, arrastrar bordes para redimensionar, y arrastrar para seleccionar texto en modo copia:
set -g mouse on4. Cambia la tecla de prefijo
Si Ctrl+b choca con tu editor o shell, rebindealo. Ctrl+a es la opción común (es lo que usa GNU screen):
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix5. Usa un tema
En tmux 3.8 la opción integrada theme cubre la mayoría de necesidades: fuerza dark, fuerza light, o sigue al terminal. Solo echa mano de un tema empaquetado si quieres algo más opinado.
La ruta clásica es TPM más un plugin de tema como jimeh/tmux-themepack. Sigue funcionando, aunque el pack no se actualiza desde 2024:
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'jimeh/tmux-themepack'
set -g @themepack 'powerline/default/cyan'
run '~/.tmux/plugins/tpm/tpm'Recarga la config y pulsa prefix + I para traerlo. Si el tema se renderiza raro bajo el nuevo sistema de temas de 3.8, vuelve a set -s theme dark y sigue adelante.
Recuerda: el shell dentro de tmux es cualquiera que sea tu login shell. macOS usa zsh por defecto, y si quieres un shell más amigable en general, Fish Shell en macOS es una opción sólida.
Tabla: comandos comunes de personalización tmux
| Personalización | Comando en tmux.conf |
|---|---|
| Binding de recarga de config | bind r source-file ~/.tmux.conf \; display-message "config reloaded" |
| Forzar un tema 3.8 | set -s theme terminal (o dark / light / detect) |
| Color de barra de estado | set -g status-style bg=color,fg=color |
| Posición de barra de estado | set -g status-position [top/bottom] |
| Color de ventana (activa) | set -g window-status-current-style bg=color,fg=color |
| Color de borde de panel | set -g pane-border-style fg=color |
| Activar ratón | set -g mouse on |
| Cambiar tecla de prefijo | set-option -g prefix C-[tecla] |
Plugins de tmux
Los plugins extienden tmux con cosas que el núcleo deliberadamente deja fuera: restauración de sesiones, integración de portapapeles, widgets de estado. El Tmux Plugin Manager (TPM) los instala y actualiza.
Instalar Tmux Plugin Manager (TPM)
TPM necesita tmux 1.9 o más nuevo, git y bash. Todo presente en una máquina macOS o Linux normal.
-
Clona el repositorio de TPM:
bash git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm -
Añade esto al final de tu tmux.conf:
bash # List of plugins set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-sensible' # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run '~/.tmux/plugins/tpm/tpm' -
Recarga la config (
tmux source ~/.tmux.conf) y pulsaprefix+Ipara traer los plugins.
Plugins populares de tmux
- tmux-resurrect guarda y restaura sesiones entre reinicios. Este es el que se paga solo.
- tmux-continuum automatiza resurrect, incluyendo auto-restauración al arrancar tmux cuando pones
@continuum-restore ‘on’. - tmux-yank copia al portapapeles del sistema vía
pbcopyen macOS. La corrección de portapapeles fiable en Terminal.app. - tmux-battery pone el porcentaje de batería en la barra de estado, útil en un portátil.
- tmux-cpu pone el uso de CPU en la barra de estado, útil cuando un build se está comiendo la máquina.
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'tmux-plugins/tmux-battery'
set -g @plugin 'tmux-plugins/tmux-cpu'Una salvedad honesta: resurrect, continuum y yank son proyectos tranquilos (sin commits significativos desde 2024). Son estables y siguen funcionando con tmux 3.8, y TPM los instala bien.
Por qué existen resurrect y continuum
tmux te protege contra desconexiones, no contra reinicios. Un reinicio del Mac o del VPS mata cada sesión y cada proceso dentro de ellas. Ese es el modo de fallo que resurrect resuelve: prefix + Ctrl+s guarda el estado actual, prefix + Ctrl+r lo restaura. Continuum hace el guardado por ti en un temporizador y restaura al arrancar. Si corres algo en tmux que tarda más que un café en recrearse, instala ambos.
Instalar y usar plugins
- Añade la línea
set -g @plugin '...'a tu tmux.conf. - Pulsa
prefix+I(i mayúscula) para traer e instalar. - Recarga con
tmux source ~/.tmux.confsi el plugin no se activa inmediatamente.
Gestionar plugins
- Instalar plugins:
prefix+I - Actualizar plugins:
prefix+U - Quitar plugins que no están en tu config:
prefix+alt+u
Tabla: comandos básicos de TPM
| Acción | Comando |
|---|---|
| Instalar plugins | prefix + I |
| Actualizar plugins | prefix + U |
| Quitar plugins sin usar | prefix + alt + u |
Configuración de ejemplo con plugins
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'tmux-plugins/tmux-yank'
# Plugin configurations
set -g @continuum-restore 'on'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'Prueba unos cuantos plugins, quédate con los que se ganen su sitio en tu config.
Usar tmux con SSH
Aquí es donde tmux deja de ser un juguete. Si trabajas en servidores remotos, tmux dentro de SSH es la diferencia entre que una conexión caída sea un no-evento y perder veinte minutos de montaje.
Un comando para recordar
En el servidor, ejecuta tmux new -A -s dev. Se conecta a tu sesión de trabajo si existe y la crea si no. Ponlo en un alias de shell, o cablealo en ~/.ssh/config como RemoteCommand para que cada login aterrice dentro de tmux.
El flujo de trabajo:
-
SSH al servidor:
bash ssh tu_usuario@direccion_servidor -
Arranca (o únete a) tu sesión:
bash tmux new -A -s dev -
Haz tu trabajo. Los trabajos largos (builds,
docker compose up, seguimiento de logs, SSH port forwarding (tunneling)) van en su propia ventana para que una reconexión no se los lleve por delante. -
Desconéctate al irte:
Ctrl+b, luegod. Cierra el portátil, cambia de red, lo que sea. Reconéctate con el mismotmux new -A -s devdespués.
Mientras estás ahí dentro: tmux ls lista sesiones, tmux kill-session -t nombre_sesion mata una, y tmux rename-session -t nombre_viejo nombre_nuevo la renombra.
Lo que ganas: el trabajo sobrevive caídas de SSH y cambios de red, puedes correr varias tareas en una conexión (ventanas y paneles), y las sesiones con nombre mantienen los proyectos separados en una máquina compartida. De lo que tmux no te salva: un reinicio del servidor sigue matando la sesión y todo lo de dentro (mira resurrect/continuum arriba).
Dos cosas que resolver antes de que tmux siquiera importe en el servidor: sabe cómo asegurar un servidor SSH (claves, sin login root, fail2ban o equivalente), y si tus logins ya están fallando, arreglar los fallos de autenticación SSH va primero.
Si aún no tienes un servidor donde practicar, un Hetzner Cloud VPS económico basta para este flujo de trabajo. Una máquina CX pequeña corre tmux, tus builds y un puñado de contenedores Docker cómodamente.
Resolución de problemas comunes
Incluso con una instalación limpia, unas cuantas cosas muerden a la gente en macOS. Cada elemento de abajo es síntoma, causa, solución.
tmux command not found
Si el shell dice command not found: tmux, o Homebrew no lo instaló o tu PATH no incluye Homebrew.
-
Comprueba la instalación:
bash brew list | grep tmuxSalida vacía significa que tmux no está instalado. Ejecuta
brew install tmux. -
Arregla el PATH. Apple lleva vendiendo Macs Apple Silicon desde finales de 2020, y la mayoría de Macs en uso hoy ponen Homebrew en
/opt/homebrew, no en/usr/local. El instalador de Homebrew normalmente añade la línea correcta por ti. Si no lo hizo, añádela tú mismo y reinicia el terminal:
Apple Silicon
# add to ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"Mac Intel
# add to ~/.zprofile
eval "$(/usr/local/bin/brew shellenv)"macOS corre zsh por defecto, así que ~/.zshrc y ~/.zprofile son los archivos que quieres, no ~/.bash_profile. Las guías viejas que te dicen export PATH="/usr/local/bin:$PATH" están escritas para hardware Intel. Ya que estás en la config de zsh, los mejores plugins de Oh My ZSH merecen un vistazo.
open terminal failed: not a terminal tras actualizar
Este está documentado en las notas de versión de tmux 3.6 y repetido para cada release desde entonces: es muy importante reiniciar tmux por completo tras actualizar. tmux cambió su protocolo interno en 3.6. Si ejecutas brew upgrade tmux mientras un servidor viejo sigue corriendo, tmux attach falla con exactamente:
open terminal failed: not a terminalLa corrección:
brew update && brew upgrade tmux
tmux kill-server
tmuxReinicia siempre tmux tras actualizar
tmux kill-server mata cada sesión y los trabajos corriendo dentro de ellas. Guarda tu trabajo primero. Si no puedes permitirte perder el estado de la sesión, para eso son exactamente tmux-resurrect y tmux-continuum (mira la sección de plugins): guarda con prefix + Ctrl+s antes de actualizar.
Problemas de permisos
Nunca corras tmux con sudo
sudo tmux arranca un servidor tmux propiedad de root y destroza el socket en /tmp/tmux-501 (el 501 es tu ID de usuario). Después, tu usuario normal no puede conectarse a sus propias sesiones. Si las cosas ya están rotas: sal de cada cliente, ejecuta tmux kill-server, revisa ls -ld /tmp/tmux-* por restos propiedad de root, elimina solo lo que posees, y arranca tmux de nuevo como tu usuario normal. No hay tarea de tmux que requiera root en tu propia máquina.
no server running tras un reinicio
Ejecuta tmux ls tras un reinicio del Mac o del VPS y verás:
no server running on /tmp/tmux-501/defaultEso es normal, no un error. tmux protege contra desconexiones, no contra pérdida de energía. Cuando la máquina reinicia, el servidor tmux muere y se lleva sus sesiones con él.
- Si instalaste resurrect, restaura con
prefix+Ctrl+r(oprefix+Ctrl+santes para guardar). - Si no, empieza de cero con
tmux new -A -s devy reconstruye.
Para perder menos la próxima vez, vuelve a la sección de plugins e instala resurrect más continuum.
Sesiones tmux perdidas
Antes de asumir que una sesión se ha ido:
- Lista sesiones con
tmux ls. - Conéctate con
tmux attach -t nombre-sesion(otmux attachpara la más reciente). - ¿Sigue sin haber nada? El servidor no está corriendo. O lo mataron, o la máquina reinició. Revisa la sección anterior.
Copiar-pegar en macOS
Copiar y pegar dentro de tmux usa su propio buffer, que es por lo que Cmd+C no hace lo que esperas.
El bucle básico:
- Entra en modo copia:
Ctrl+b [ - Muévete, selecciona texto (con
set -g mouse on, arrastrar selecciona y copia al buffer de tmux). - Pega desde el buffer:
Ctrl+b ]
Para sacar texto al portapapeles de macOS hay dos rutas realistas:
- tmux-yank funciona en todas partes. El plugin de la sección de plugins de arriba cablea las copias a
pbcopy. En Terminal.app esta es la opción fiable. - OSC 52 necesita soporte del terminal.
set -g set-clipboard externalhace que tmux pida al terminal que establezca el portapapeles del sistema directamente. iTerm2, Wezterm y kitty soportan la secuencia de escape subyacente; Terminal.app no.
Si la integración de portapapeles se porta mal, revisa Ctrl+b ? y man tmux para los bindings actuales y la opción set-clipboard (on, external, off) en vez de fiarte de posts de blog viejos. Esta es un área donde los defaults de tmux han cambiado entre versiones.
tmux no arranca correctamente
- Prueba la config con
tmux source-file ~/.tmux.conf. Un error de sintaxis imprime el número de línea. Arréglalo y recarga. - Actualiza con
brew update && brew upgrade tmux, luego reinicia el servidor como se describe arriba. - Como último recurso,
tmux kill-servery empieza limpio. Cada sesión muere con él, así que desconecta todo lo que te importe primero.
Los keybindings no funcionan
- Recarga tras cada edición de config (
tmux source-file ~/.tmux.confo tu bindingCtrl+b r). La config no se relee automáticamente. - Comprueba el binding en
Ctrl+b ?. Si tu tecla está tomada por un modo (modo copia, por ejemplo), bindeala para la tabla raíz en su lugar. - Una tecla de prefijo cambiada es la sospechosa habitual tras copiar la config de otro. Si
Ctrl+bdeja de funcionar, buscaset-option -g prefixen el archivo.
Problemas de visualización y congelamiento
- App de terminal. tmux corre en cualquier cosa razonable, pero iTerm2, Wezterm y Ghostty manejan el redimensionado y el color más limpiamente que Terminal.app.
- Layout roto tras redimensionar.
Ctrl+b :luegoresize-pane -D(o-U), otmux refresh-client -Spara forzar un redibujado. - Panel congelado. El proceso dentro puede estar simplemente ocupado o esperando input. Prueba el propio
Ctrl+Cdel panel. Si el cliente entero está atascado,tmux kill-serveres el instrumento contundente; revisa primero la presión de memoria si sigue pasando (Activity Monitor, otopen otro panel).
FAQ
¿Sobrevive tmux a un reinicio?
No. Las sesiones tmux sobreviven a desconexiones SSH y a ventanas de terminal cerradas, no a reinicios. Cuando la máquina reinicia, el servidor tmux muere con ella. tmux-resurrect guarda el estado de la sesión en disco y tmux-continuum lo restaura automáticamente, que es lo más cerca que llegas a sobrevivir un reinicio.
¿tmux vs screen vs Zellij: cuál?
GNU screen es el viejo default y sigue apareciendo en servidores antiguos; úsalo solo cuando tmux no sea instalable. Zellij es la alternativa moderna con pistas de UI integradas y menos config, pero tmux es el default pragmático: preinstalado o a un apt install tmux de distancia en casi todo servidor Linux, con un ecosistema de plugins estable desde hace años. Si quieres la visión larga, Superlogical Rex: el creador de Ghostty repiensa el multiplexor de terminal es una buena lectura.
¿Cómo salgo de tmux por completo?
Escribe exit en cada panel hasta que la sesión se cierre, o pulsa Ctrl+b luego & para matar la ventana actual (y sus paneles), o mata una sesión con nombre con tmux kill-session -t nombre. Para parar el servidor tmux por completo, tmux kill-server. Desconectarte (Ctrl+b d) no cierra nada; solo desconecta tu vista.
¿Cuál es la tecla de prefijo de tmux?
Ctrl+b por defecto. Púlsala y suéltala, luego pulsa la tecla de comando (por ejemplo Ctrl+b luego d para desconectar). Le dice a tmux que la siguiente pulsación es un comando y no texto. Mucha gente la rebindea a Ctrl+a; si tus bindings de repente no hacen nada, la config de alguien probablemente cambió el prefijo.
¿Dónde está el archivo de config de tmux?
O ~/.tmux.conf o ~/.config/tmux/tmux.conf. tmux lee la ruta XDG desde 3.1. Elige una ubicación; si existen ambas, ~/.tmux.conf gana. Recarga tras las ediciones con tmux source ~/.tmux.conf o el binding Ctrl+b r de la sección de personalización.
Conclusión
Ahora tienes tmux instalado en macOS, verificado con tmux -V, y los comandos básicos bajo tus dedos: sesiones para mantener el trabajo vivo, ventanas para organizarlo, paneles para verlo lado a lado. Las secciones de personalización y plugins están ahí cuando los defaults empiecen a molestarte, y la sección de SSH es donde esta herramienta paga el alquiler en servidores remotos.
Próximos pasos que yo tomaría, en orden:
- Haz que el hábito SSH funcione:
tmux new -A -s deval hacer login, desconecta en vez de cerrar el terminal. - Instala resurrect y continuum para que un reinicio sea un encogimiento de hombros en vez de una reconstrucción.
- Una vez que tmux se sienta natural, sube de nivel con estos comandos esenciales de Linux.
- Cuando el propio terminal empiece a sentirse limitante, Starship + Ghostty: Turbocharge Your Mac Terminal Setup es la siguiente capa.
Practica los bindings una semana y dejan de ser una lista de teclas.
Monta Wezterm con tmux y zoxide

