mcpField
T
tmux

tmux

OfficialFeatured
github.comDeveloper Tools50.0ktmuxUpdated today
RepositoryVisit website

About tmux

tmux is a terminal multiplexer for creating and managing multiple terminal sessions, windows, and panes. Create named sessions with tmux new -s work, reattach with tmux attach -t work, and list all sessions with tmux ls.

Key features

  1. 01Create persistent named terminal sessions that survive disconnections
  2. 02Split a single window into multiple panes for parallel task management
  3. 03List, switch between, and manage all active sessions and windows

Use cases

  1. 01Developers running long-running tasks while maintaining session continuity
  2. 02Maintaining stable development environments on remote servers
  3. 03Coding agents executing multiple tasks in parallel with isolated state

Install

Pick your OS or package manager and run the command in a terminal.

$
brew install tmux

Once installed, runtmux --versionto confirm it works.

Example commands

Common commands in the order you’d use them.

01
tmux new -s work
02
tmux attach -t work
03
tmux ls

Details

From the project README

Welcome to tmux!

tmux is a terminal multiplexer: it enables a number of terminals to be created, accessed, and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached.

This release runs on OpenBSD, FreeBSD, NetBSD, Linux, macOS and Solaris.

Dependencies

tmux depends on libevent 2.x, available from this page.

It also depends on ncurses, available from this page.

To build tmux, a C compiler (for example gcc or clang), make, pkg-config and a suitable yacc (yacc or bison) are needed.

Installation

Binary packages

Some platforms provide binary packages for tmux, although these are sometimes out of date. Examples are listed on this page.

From release tarball

To build and install tmux from a release tarball, use:

./configure && make
sudo make install

tmux can use the utempter library to update utmp(5), if it is installed - run configure with --enable-utempter to enable this.

For more detailed instructions on building and installing tmux, see this page.

From version control

To get and build the latest from version control - note that this requires autoconf, automake and pkg-config:

git clone https://github.com/tmux/tmux.git
cd tmux
sh autogen.sh
./configure && make

Contributing

Bug reports, feature suggestions and especially code contributions are most welcome. Please send by email to:

[email protected]

Or open a GitHub issue or pull request. Please read this document before opening an issue.

There is a list of suggestions for contributions. Please feel free to ask on the mailing list if you're thinking of working on something or need further information.

Documentation

For documentation on using tmux, see the tmux.1 manpage. View it from the source tree with:

nroff -mdoc tmux.1|less

A small example configuration is in example_tmux.conf.

And a bash(1) completion file at:

https://github.com/scop/bash-completion/blob/main/completions-core/tmux.bash

For debugging, run tmux with -v or -vv to generate server and client log files in the current directory.

Support

The tmux mailing list for general discussion and bug reports is:

https://groups.google.com/forum/#!forum/tmux-users

Subscribe by sending an email to:

[email protected]

Merchandise

tmux merchandise is available from Commit Goods - purchases help support the tmux project.

Comments

Markdown supported