← All open source projects

tmux

tmux/tmux

tmux is a terminal multiplexer: multiple terminals in one screen, background sessions, and reattaching to a working environment.

Forks 2,714
Author tmux
Language C
License Unknown
Synced 2026-06-27

What it is

tmux is a terminal multiplexer. It lets users create multiple terminals, control them from one screen, and keep sessions running in the background.

The project solves an old Unix problem: work should not disappear just because a terminal window closes or an SSH connection drops.

tmux’s main task is to provide a stable terminal workspace: windows, panes, sessions, detaching, and reattaching.

What is inside the repository

The README describes tmux as a multiplexer that runs on OpenBSD, FreeBSD, NetBSD, Linux, macOS, and Solaris.

libevent 2.x is listed as a dependency, and the build uses normal Unix tools.

How people usually use it

tmux is used by administrators, developers, DevOps engineers, and anyone who works in terminals or on remote servers for long periods.

A normal scenario is to create a named session, open several windows, start long-running processes, and detach without stopping work.

A session you can return to

This example shows the basic tmux scenario: create a session, detach, and attach again later.

Language: Bash
tmux new -s work
# detach with Ctrl-b d
tmux attach -t work

What it feels like in practice

The project’s strength is habit reliability. Once sessions and panes are learned, the terminal becomes a full working desktop.

Another advantage is SSH work. Users can return to the same environment after a disconnected session.

Limits and careful spots

The limitation is that tmux requires learning its key bindings and prefix-command model.

Configuration can also become complex if tmux is turned into a full IDE without restraint.

Who it fits

tmux best fits people who spend a lot of time in the terminal and value persistent sessions.

In the catalog, tmux matters as a classic infrastructure tool: quiet, but it changes daily command-line work.

In long-term work with a project like this, installation is not the only concern: the team needs a clear boundary of responsibility, an update routine, and an owner for usage rules.

In practice, this means running a minimal example before adoption, checking configuration, reviewing updates, and understanding which data or processes are touched. That short pass quickly shows where the project helps immediately and where the team still needs its own decisions.

If the project becomes part of a public site, product, or internal platform, it should be recorded in team documentation: source link, version, owner, and update rhythm. Then the open code remains a managed dependency rather than a random fragment of infrastructure.