Before using tmux, we need to understand where this terminal multiplexer came from: the problems before GNU Screen (1987), the birth of tmux by Nicholas Marriott (2007), and the version 3.x roadmap that brought modern features.

In episode 0, we laid the foundation: basic skills (CLI navigation, job control, SSH, environment variables), tmux 3.7b installation, a modern terminal with true color, a Nerd Font, and supporting tooling. In this episode we step back for a moment and discuss why tmux exists in this world — because before understanding how a tool works, you must understand what problem it solves and where it comes from.
Why does this matter in the real world? Tools appear every year, and choosing the right tool cannot be decided simply from "this tool is popular". You need to understand why a terminal multiplexer born in 1987 is still used by millions of engineers in 2026 — and why tmux, born only in 2007, became the de facto standard on Linux servers.
In this episode we cover three things: the evolution of the terminal multiplexer from GNU Screen to tmux, the real problems it solves, and how to compare tmux with modern alternatives such as Zellij.
Imagine the era before terminal multiplexers: one terminal, one prompt, one foreground process. Want to run two things at once? You had to open a new terminal, a new tab, or use clunky job control. And when an SSH connection dropped — because of a network failure, a sleeping laptop, or a server timeout — every process on the remote terminal died. A deployment that had been running for 3 hours could be lost just because the office Wi-Fi went down for a second.
This is the core problem that gave birth to the terminal multiplexer: separating processes from screen.
In 1987, GNU Screen was released — the first multiplexer to become popular in the Unix ecosystem. Screen let a single terminal open several virtual screens, keep sessions alive behind dropped connections, and re-attach to the same session from any terminal. Screen was a major breakthrough: for the first time an engineer could detach, go home, and continue working from a laptop.
But Screen aged poorly. Its codebase is monolithic and hard to extend, its license is controversial (part of the code has non-GPL origins), and modern features — 256 colors, integrated clipboard, extension scripts — were slow to arrive.
In 2007, Nicholas Marriott, a developer frustrated with Screen's limitations, started a new project: tmux (terminal multiplexer). Its vision was clear from the start:
Since then tmux has grown into the de facto standard on Linux servers — an essential tool for Software Engineers, DevOps, and SysAdmins.
| Version | Year | Major Milestone |
|---|---|---|
| 1.x | 2007-2012 | Foundation: client-server, session/window/pane, configuration |
| 2.x | 2013-2018 | 256 color, clipboard control, mature format strings, plugin ecosystem |
| 3.0 - 3.4 | 2019-2023 | Pane menu, respawn commands, deeper status bar control |
| 3.5 | 2024 | Popup & menu: display-popup opens a floating mini-terminal |
| 3.6 | 2025 | Built-in pane scrollbar & hyperlinks in the status area |
| 3.7 | 2026 | Floating pane, copy-mode line selection (shift + arrow) |
| 3.7a / 3.7b | 2026 | Bugfix releases that fixed 3.7 regressions |
Important
What you should remember is not just the dates, but the pattern of evolution: tmux keeps adding capabilities that make the terminal worthy of an IDE — popups, menus, floating panes, scrollbars. We will cover these features in episode 21 (popups & latest features). Make sure your version is 3.7b so you can try all of them.
This is the main killer: an SSH connection drops, all remote processes die. With tmux, you work inside a session run by the tmux server — the processes inside it never receive SIGHUP when the client detaches. Deployments, builds, log streaming, editors — everything stays alive. Just run tmux attach to come back from wherever you are.
Without a multiplexer, managing applications, databases, logs, and editors means opening many terminals or tabs — wasteful on memory, scattered attention, and easy to lose track. tmux organizes everything on one screen: sessions as work containers, windows as tabs, and panes as split viewports.
A single tmux session can be attached by many clients at once. Two engineers can see the same screen in real-time — perfect for pair debugging on a production server or sharing log output. We'll cover this collaboration in episode 16 (multi-server & shared sessions).
Because tmux is fully scriptable through command mode, you can rearrange layouts, execute commands across many panes at once, and bootstrap a working environment with a single script. We'll build this capability starting in episode 11 (scripting & CLI automation).
The most tangible illustration: you SSH into a production server, run tmux new -s deploy, run a deploy script that takes 45 minutes, then detach and go to lunch. The café Wi-Fi drops several times — no problem. When you come back, tmux attach -t deploy brings back the screen exactly where it was, with the deployment already finished successfully. Without tmux, that deployment would have died on the first attempt.
This is why tmux is often called "insurance" for engineers working remotely. This survival behavior comes purely from the client-server architecture design — and that's what we'll dissect in episode 2.
tmux isn't the only player on the field. Choose based on your needs:
| Aspect | Plain Terminal | GNU Screen | Tmux | Zellij |
|---|---|---|---|---|
| Release year | - | 1987 | 2007 | 2022 |
| Architecture | Single | Monolithic | Client-server | Client-server |
| Session/window/pane | No | Yes | Yes | Yes |
| Scriptable / CLI | Limited | Limited | Very powerful | Adequate |
| Configuration | - | rc file | ~/.tmux.conf | YAML |
| Plugin ecosystem | - | Minimal | TPM, large | Medium |
| Popup / floating | - | No | Yes (3.5+) | Yes |
| Performance | Lightest | Light | Light | Adequate |
| Project status | - | Maintenance | Active | Active |
| Best for | Simple tasks | Legacy / minimal env | De facto standard | New users who like modern UX |
Note
To be fair: GNU Screen is not a bad tool — it remains reliable in very minimal environments and is already installed on nearly every distro. Zellij offers a more beginner-friendly UX (mouse support & built-in layout presets). But for scriptability, maturity, and adoption in production infrastructure, tmux is the primary choice — and that's why this series focuses on tmux.
Before continuing, make sure the environment from episode 0 is still healthy:
tmux -V
tmux 3.7bIf the output is already tmux 3.7b, you're ready to move on to the next episode.
Treating tmux as "just extra tabs". tmux is not a simple terminal multiplexer — the client-server architecture and detach/attach are the core of its power. Understand the model (episode 2) before customizing.
Installing 30 plugins before understanding the basics. Plugins won't save you from not understanding sessions/windows/panes. Fundamentals first (episodes 2-5), plugins afterward (episode 12).
Memorizing history rigidly. You don't need to memorize dates. What matters is understanding the problems being solved: surviving sessions, many tasks, collaboration, and automation.
Choosing a tool based on hype. Zellij and Screen each have their place (see the table above). Choose based on production needs, not trends.
Not verifying the version. Episode 21 features (popups, floating panes) require 3.5+. If you're still on 3.2, you'll be confused when trying them. Always check tmux -V.
Stopping at "I can detach now". Detaching is only 5% of tmux's power. This series has 28 episodes because there's still so much for you to master afterward.
In this episode we traveled through history: understanding the problems that gave birth to the terminal multiplexer, GNU Screen (1987), the birth of tmux by Nicholas Marriott (2007), and the version map from 2.x to 3.7b that brought popups, scrollbars, and floating panes.
Key points to take away:
Now the theory is solid, it's time to dissect how the machine works. In the next episode, we'll discuss Core Concepts & Main Architecture — understanding the client-server model, the session → window → pane hierarchy, how processes communicate over a Unix socket, and how the status bar is rendered. Stay excited, because understanding this architecture is the key to mastering the entire series.