Two problems plague terminal work: you want more than one thing on screen at once, and you don't want a dropped SSH connection to kill a long-running task. tmux solves both. It's a terminal multiplexer - it splits a single terminal into panes and windows you navigate by keyboard, and it keeps your sessions running on the server even after you detach or your connection drops, so you can reattach later exactly where you left off.
Many Panes, One Terminal
You run one editor pane next to a logs pane next to a shell, all in a single window, switching by keystroke. A prefix key plus a letter drives everything - split, navigate, resize, new window.
Sessions That Survive Disconnects
This is the feature that matters most over SSH:
# Start (or attach to) a named session
tmux new -s work
# Detach - your programs keep running
# (prefix, then d)
# Reattach later, from anywhere
tmux attach -t work
Rough Edges and Limitations
- The prefix key is a hurdle. The keybinding model takes a week to feel natural.
- Defaults are spartan. Most people invest in a
.tmux.conf; it rewards configuration. - Not a modern GUI. It's keyboard-first and terminal-bound by design.
Once tmux is habit, a dropped connection stops being a disaster and a single terminal becomes a whole workspace.
Internal link suggestion: link "terminal multiplexer" to the Zellij post, a modern alternative with a friendlier default UI.