Skip to main content

tmux

tmux is a terminal multiplexer (terminal management) that allows multiple terminal sessions to be created, managed, and navigated within a single terminal window or remote shell connection.

  • Multiplexes multiple terminal sessions inside a single terminal instance (terminal management).
  • Provides detachable and re-attachable sessions for persistent command-line work (remote session management).
  • Supports multiple windows and panes within a session, with configurable layouts (productivity tooling).
  • Offers a configuration file and command interface for scripting and automation (developer tooling).
  • Integrates with typical Unix-like shells over standard terminals, locally or over Secure Shell (SSH) (system operations).

More About tmux

tmux is a terminal multiplexer (terminal management) designed to run on Unix-like operating systems. It addresses the need to manage multiple interactive command-line programs within a single terminal, local console, or remote SSH session. tmux allows users to create persistent sessions that continue running even when a client disconnects, which is relevant for remote administration, software development, and operations workflows where long-running processes are common.

At its core, tmux maintains sessions that contain one or more windows (productivity tooling), each of which can be split into multiple panes that display different programs concurrently. Users can switch between windows, resize and rearrange panes, and attach or detach from sessions without interrupting the programs running inside them. This behavior is suited to work over unreliable networks or when working across multiple devices, as sessions can remain active on a server while clients connect and disconnect.

tmux exposes a command interface and configuration file (developer tooling) that control behavior such as key bindings, status line content, colors, and default layouts. Users and automation tools can script tmux commands to create sessions, set up pane layouts, and start predefined programs, which supports repeatable development or operations environments. The project uses a server-client architecture, where a background tmux server manages sessions, and tmux clients connect to the server to display and interact with those sessions.

In enterprise and institutional environments, tmux is used within standard POSIX-style terminals and is typically deployed on servers, development workstations, and Continuous Integration (CI) or build hosts (system operations). It works over standard terminal protocols and does not require special client software beyond a compatible terminal emulator. Administrators and engineers use tmux to maintain multiple concurrent shells on production systems, monitor logs in parallel panes, and keep sessions running across Virtual Private Network (VPN) or SSH reconnects.

tmux is written in C and is distributed under a permissive open-source license (open-source tooling). The project is hosted in a Git repository on GitHub, which provides source code, issue tracking, and documentation. Its interoperability comes from adhering to common terminal and shell conventions on Unix-like systems, allowing it to work with typical shells, command-line tools, and existing security and access controls managed at the Operating System (OS) and SSH layers. Within a technical directory, tmux fits into the categories of terminal multiplexers, command-line productivity tools, and Unix system utilities.