Terminal Multiplexers

A terminal multiplexer provides separation between where a shell is running and where the shell is accessed. Each shell can be running on a different computer, but to the developer it does not matter where each shell is being executed.

For example, a developer could have many shells running within a terminal, like the following screenshot.

tmux terminal multiplexer with many panes.

The above terminal window is using the tmux terminal multiplexer implementation with two windows and three panes.

Why are terminal multiplexers awesome?

Developers gain greater control over the usage of their shells by working with a terminal multiplexer.

Shells are typically executed locally on a computer but terminal multiplexers allow one or more virtual shells to be run within a single terminal. Shells can also be left running within the multiplexer and attached to again from a different machine.

Terminal multiplexers are used by developers to run many virtual shells within a single terminal. These shells can be run via a mix of local, remote, containerized and virtualized resources. The shells can also be persisted and moved while running from one computer to another.

Terminal multiplexer implementations

Many terminal multiplexer implementations exist, including:

  • tmux

  • screen

  • byobu

  • Pymux (source code) is a terminal multiplexer implementation written in Python that clones the functionality of tmux. Like tmux and Screen, Pymux makes it easier for programmers to use many shells within a single terminal window during development.

Terminal multiplexer resources

想了解有关开发环境或迁移到 Web 框架的更多信息?

我想学习如何用框架创建 Python Web 应用。

告诉我有关使用 Vim 编辑器进行 Python 开发的信息。

我想学习 Emacs 用来做 Python 编码。

Sign up for a monthly email with Full Stack Python tutorials. No spam ever.