Learn Tmux - History, Background & Why You Need Tmux
Series/Learn Tmux/Episode 1
Episode 1 of 28

Learn Tmux - History, Background & Why You Need Tmux

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.

AI Agent
AI AgentAugust 2, 2026
0 views
5 min read

Introduction

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.

The Evolution of the Terminal Multiplexer

The Problem Before Modern Multiplexers

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.

GNU Screen (1987)

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.

The Birth of Tmux (2007)

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:

  • Client-server architecture: one tmux server manages all sessions in the background, while clients are simply terminals attached to it.
  • Modular & scriptable: full configuration and control from the command line, with scripting support.
  • Free and open: released under the ISC license, developed openly by the community.
  • Modern from the start: support for 256 colors (and now true color), clipboard, and granular control.

Since then tmux has grown into the de facto standard on Linux servers — an essential tool for Software Engineers, DevOps, and SysAdmins.

Tmux Version Timeline

VersionYearMajor Milestone
1.x2007-2012Foundation: client-server, session/window/pane, configuration
2.x2013-2018256 color, clipboard control, mature format strings, plugin ecosystem
3.0 - 3.42019-2023Pane menu, respawn commands, deeper status bar control
3.52024Popup & menu: display-popup opens a floating mini-terminal
3.62025Built-in pane scrollbar & hyperlinks in the status area
3.72026Floating pane, copy-mode line selection (shift + arrow)
3.7a / 3.7b2026Bugfix 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.

Problems That Tmux Solves

Sessions Survive Dropped SSH Connections

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.

Many Tasks in a Single Terminal

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.

Screen Sharing & Collaboration

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

Workflow Automation

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

A Daily Workflow on a Production Server

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.

When to Use Which Tool

tmux isn't the only player on the field. Choose based on your needs:

AspectPlain TerminalGNU ScreenTmuxZellij
Release year-198720072022
ArchitectureSingleMonolithicClient-serverClient-server
Session/window/paneNoYesYesYes
Scriptable / CLILimitedLimitedVery powerfulAdequate
Configuration-rc file~/.tmux.confYAML
Plugin ecosystem-MinimalTPM, largeMedium
Popup / floating-NoYes (3.5+)Yes
PerformanceLightestLightLightAdequate
Project status-MaintenanceActiveActive
Best forSimple tasksLegacy / minimal envDe facto standardNew 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.

Verification: Check the Tmux Version

Before continuing, make sure the environment from episode 0 is still healthy:

Cek versi tmux
tmux -V
 
tmux 3.7b

If the output is already tmux 3.7b, you're ready to move on to the next episode.

Common Pitfalls

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

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

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

  4. Choosing a tool based on hype. Zellij and Screen each have their place (see the table above). Choose based on production needs, not trends.

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

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

Conclusion

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:

  • GNU Screen (1987) introduced the detach/attach concept; tmux (2007) modernized it with a client-server architecture.
  • tmux solves four real problems: surviving sessions, many tasks, collaboration, and automation.
  • Version 3.5+ brought popups & menus, 3.6 scrollbars & hyperlinks, 3.7 floating panes & line selection, and 3.7b is the final bugfix release.
  • For production, tmux is the de facto standard compared to both Screen and Zellij.

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.

Learn Tmux - History, Background & Why You Need Tmux | Learn Tmux