# Terminal Multiplexers Programs that let you run multiple terminal sessions inside a single terminal window or remote connection. Key capabilities: split panes, multiple windows/tabs, session persistence (detach/reattach), and remote session survival (SSH disconnects don't kill your processes). ## Why use one - **Session persistence**: detach from a session and reattach later; processes keep running. Essential for long-running tasks and remote work over [[Secure Shell (SSH)]] - **Pane/window management**: split the terminal into multiple panes side by side without relying on the terminal emulator's built-in tabs - **Reproducible layouts**: script your window/pane layouts for specific projects - **Pair programming**: share a terminal session with another user ## Notable multiplexers | Tool | Language | Notes | |------|----------|-------| | **tmux** | C | De facto standard. Server-client architecture, extensive scripting, huge plugin ecosystem (TPM). Prefix-key driven (`Ctrl-b`) | | **Zellij** | Rust | Modern alternative. Built-in layout system (KDL files), floating panes, plugin system (WASM), discoverable UI with on-screen keybinding hints | | **GNU Screen** | C | The original (1987). Still available everywhere, but largely superseded by tmux | | **Byobu** | Shell wrapper | Frontend for tmux or screen. Adds status bar, keybindings, and profiles. Good for quick setup | ## Multiplexer vs terminal emulator tabs Some terminal emulators ([[Ghostty]], [[Alacritty]], WezTerm, Kitty) have built-in splits and tabs. The difference: a multiplexer's sessions survive terminal crashes and SSH disconnects. Terminal emulator splits don't. ## References - tmux: https://github.com/tmux/tmux - Zellij: https://zellij.dev - GNU Screen: https://www.gnu.org/software/screen/ - Byobu: https://www.byobu.org ## Related - [[Shell]] - [[Command Line Interface (CLI)]] - [[Terminal User Interface (TUI)]] - [[Secure Shell (SSH)]] - [[Ghostty]] - [[Alacritty]] - [[TMux]] - [[Zellij]]