Logotipo de Bitdoze

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.

Dragos

Actualizado Publicado 29 min de lectura

Multiplexor de terminal tmux corriendo en una ventana de terminal de macOS con paneles divididos y una barra de estado

¿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:

  1. Las sesiones son espacios de trabajo con nombre que sobreviven a desconexiones. Desconéctate de una y todo lo de dentro sigue corriendo.
  2. Las ventanas son pestañas dentro de una sesión. La barra de estado las muestra como 0:bash 1:logs 2:ssh.
  3. Los paneles son divisiones dentro de una ventana. Una ventana puede mostrar varios shells lado a lado.

Lo que hace que tmux merezca aprenderse:

  1. Desconéctate de una sesión y reconéctate después, incluso desde otro ordenador. Los procesos largos siguen mientras tu portátil duerme.
  2. Divide una ventana en paneles, horizontal o verticalmente, y conduce varios shells desde una pantalla.
  3. 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.
  4. Los atajos de teclado, la barra de estado, los colores y el comportamiento son todos configurables desde un solo archivo.
  5. 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 bajo Ctrl+b g (pulsa Ctrl+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 Tab abre un buscador difuso sobre sesiones y ventanas. Más rápido que hacer scroll por Ctrl+b w cuando 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+h dentro 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:

  1. 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/homebrew e imprime la línea shellenv que deberías añadir a ~/.zprofile. Haz ese paso, previene los problemas de PATH descritos en resolución de problemas más abajo.

  2. Instala tmux:

    bash
    brew install tmux

    Homebrew trae las dependencias. En macOS eso incluye jemalloc desde 3.7c (un workaround para un bug de calloc de macOS); no tienes que hacer nada, la fórmula lo maneja.

  3. Verifica la instalación:

    bash
    tmux -V

    En 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 Ghostty

Arranca tu primera sesión tmux

Arranca una sesión nueva:

bash
tmux

Tu 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:

bash
tmux new -s dev

Aún mejor, usa attach-or-create. Este es el único comando que recomiendo poner en un alias:

bash
tmux new -A -s dev

Se 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):

  1. Arranca una sesión como siempre.
  2. 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:

bash
tmux attach -t nombre_sesion

Sin nombre se conecta a la sesión usada más recientemente. tmux ls lista todo lo que está corriendo:

bash
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:

bash
tmux kill-session -t nombre_sesion

Ctrl+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.

Diagrama de jerarquía tmux: una sesión llamada dev conteniendo tres ventanas, con la ventana activa dividida en tres paneles, etiquetados con los atajos de teclado que controlan cada capa

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 0 hasta Ctrl+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 con y)

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

Terminal de macOS mostrando una ventana tmux dividida en tres paneles con la barra de estado de tmux abajo

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.

  • 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 exit en el panel, o
  • Ctrl+b x, luego confirma con y.

Redimensionar panel tmux

El redimensionado interactivo es el que usarás a diario:

text
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:

text
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:

bash
tmux source ~/.tmux.conf

Convierte eso en una sola pulsación añadiendo esto a la config:

bash
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:

bash
set -s theme terminal

La 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

bash
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

bash
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=yellow

3. 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:

bash
set -g mouse on

4. 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):

bash
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

5. 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:

bash
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.

  1. Clona el repositorio de TPM:

    bash
    git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
  2. 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'
  3. Recarga la config (tmux source ~/.tmux.conf) y pulsa prefix + I para 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 pbcopy en 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.
bash
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

  1. Añade la línea set -g @plugin '...' a tu tmux.conf.
  2. Pulsa prefix + I (i mayúscula) para traer e instalar.
  3. Recarga con tmux source ~/.tmux.conf si 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

bash
# 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:

  1. SSH al servidor:

    bash
    ssh tu_usuario@direccion_servidor
  2. Arranca (o únete a) tu sesión:

    bash
    tmux new -A -s dev
  3. 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.

  4. Desconéctate al irte: Ctrl+b, luego d. Cierra el portátil, cambia de red, lo que sea. Reconéctate con el mismo tmux new -A -s dev despué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.

  1. Comprueba la instalación:

    bash
    brew list | grep tmux

    Salida vacía significa que tmux no está instalado. Ejecuta brew install tmux.

  2. 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

bash
# add to ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

Mac Intel

bash
# 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:

text
open terminal failed: not a terminal

La corrección:

bash
brew update && brew upgrade tmux
tmux kill-server
tmux

Reinicia 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:

text
no server running on /tmp/tmux-501/default

Eso 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 (o prefix + Ctrl+s antes para guardar).
  • Si no, empieza de cero con tmux new -A -s dev y 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:

  1. Lista sesiones con tmux ls.
  2. Conéctate con tmux attach -t nombre-sesion (o tmux attach para la más reciente).
  3. ¿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:

  1. Entra en modo copia: Ctrl+b [
  2. Muévete, selecciona texto (con set -g mouse on, arrastrar selecciona y copia al buffer de tmux).
  3. 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 external hace 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-server y 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.conf o tu binding Ctrl+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+b deja de funcionar, busca set-option -g prefix en 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 : luego resize-pane -D (o -U), o tmux refresh-client -S para forzar un redibujado.
  • Panel congelado. El proceso dentro puede estar simplemente ocupado o esperando input. Prueba el propio Ctrl+C del panel. Si el cliente entero está atascado, tmux kill-server es el instrumento contundente; revisa primero la presión de memoria si sigue pasando (Activity Monitor, o top en 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:

  1. Haz que el hábito SSH funcione: tmux new -A -s dev al hacer login, desconecta en vez de cerrar el terminal.
  2. Instala resurrect y continuum para que un reinicio sea un encogimiento de hombros en vez de una reconstrucción.
  3. Una vez que tmux se sienta natural, sube de nivel con estos comandos esenciales de Linux.
  4. 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