tmux vs screen

tmux vs screen: which terminal multiplexer to use in 2026

Pick tmux 3.8 for new setups: 2,000 lines of scrollback per pane, splits that start a shell, the mouse on by default and every action scriptable from the shell. GNU screen 5.0.2, released in July 2026, is still the better pick for serial consoles and for fingers that already know Ctrl-a.

4 min readTerminals and remote servers

At a glance

  • tmux: prefix Ctrl-b, 2,000 lines of scrollback, mouse on since 3.8, scriptable from the shell.
  • screen: prefix Ctrl-a, 100 lines of scrollback compiled in, opens serial ports directly.
  • Both keep a job running after you disconnect, and neither survives a reboot.

The short answer

If you are picking a terminal multiplexer in 2026, default to tmux. Its latest release is 3.8, and it has sensible defaults out of the box, including the mouse and panes that start a shell the moment you split.

GNU screen is not dead, though. Version 5.0.2 came out in July 2026, after the 5.0.0 release in August 2024 rewrote the authentication code and added truecolor support, a movable status line and typing into several windows at once (multiinput). Keep it for serial ports, or if you already know its commands and do not need scriptable panes.

tmux and screen side by side

The table compares the stock defaults, tested on tmux 3.8 and screen 5.0.2 built from source.

Featuretmux 3.8GNU screen 5.0.2
Latest release3.8 (2026)5.0.2 (July 2026)
LicenseISCGPL version 3
Prefix keyCtrl-bCtrl-a
DetachCtrl-b dCtrl-a d
List and reattachtmux ls, tmux attach -t NAMEscreen -ls, screen -r NAME
Start detached with a commandtmux new -d -s NAME 'cmd'screen -dmS NAME cmd
Default scrollback2,000 lines (history-limit)100 lines compiled in (defscrollback), 1,024 in Debian's /etc/screenrc
SplitCtrl-b % and Ctrl-b ", starts a shellCtrl-a | and Ctrl-a S, starts empty
MouseOn by default since 3.8: scroll, select, resize, switch panesmousetrack on: click to select a region
Config file~/.tmux.conf or ~/.config/tmux/tmux.conf~/.screenrc
Serial portsNot built in, run picocom or minicom in a paneBuilt in: screen /dev/ttyUSB0 115200
Other usersserver-access since 3.3, tmux attach -rmultiuser on with acladd
ScriptingAny command from the shell, format strings like #{pane_current_path}screen -S NAME -X command, a few queries with -Q

When screen is still the right pick

The biggest reason to reach for screen is hardware on a serial port. screen /dev/ttyUSB0 115200 connects right away, while tmux has no serial support of its own and needs a program like picocom or minicom inside a pane.

screen also has multiuser on with per-user access lists through acladd. tmux 3.3 and newer covers similar ground with server-access, which lets other users attach to your server read-only (-r) or writable (-w).

If all you need is to start a job with screen -dmS NAME cmd and come back with screen -r NAME, screen does that fine. Run a current release: 5.0.1, in May 2025, was a security release that fixed five CVEs. Debian 13 still ships screen 4.09.01 next to tmux 3.5a, so check screen -v before you count on 5.x features. The full workflow is in the Linux screen command guide.

Why most people pick tmux

Splitting in tmux does what you expect: Ctrl-b % or Ctrl-b " creates a pane with a shell already running. In screen, Ctrl-a | and Ctrl-a S create empty regions; you press Ctrl-a Tab to move into one and Ctrl-a c to start a shell there.

The defaults are better too. tmux keeps 2,000 lines per pane against screen's compiled-in 100, and since 3.8 the mouse scrolls, selects text, resizes panes and switches between them without touching ~/.tmux.conf.

Then there is scripting. Every tmux action is a command you can run from the shell, like tmux send-keys, tmux capture-pane or tmux display -p '#{pane_current_path}'. screen accepts commands with screen -S NAME -X command, but -Q can only query a handful of values, such as windows, title and number.

Switching from screen to tmux

If your fingers are wired for Ctrl-a, keep it. These lines in ~/.tmux.conf make tmux use Ctrl-a, jump to the previous window on Ctrl-a Ctrl-a, send a literal Ctrl-a with Ctrl-a a and split with | and S like screen. They load cleanly on tmux 3.8 and 3.5a:

Text
set -g prefix C-a
unbind C-b
bind a send-prefix
bind C-a last-window
bind | split-window -h
bind S split-window -v

screen -dmS NAME cmd becomes tmux new -d -s NAME 'cmd', and screen -r NAME becomes tmux attach -t NAME. The tmux cheat sheet has every other key.

What neither tool does for a long job

Both tools keep a remote job alive when you disconnect, but neither tells you that it finished or failed until you log back in and look.

FAQ

Is GNU screen still maintained?

Yes. GNU screen 5.0.2 came out in July 2026, after 5.0.1, a May 2025 security release that fixed five CVEs. 5.0.0 in August 2024 rewrote the authentication code and added truecolor, multiinput and a movable status line.

Can I use Ctrl-a as the tmux prefix?

Yes. Put set -g prefix C-a and unbind C-b in ~/.tmux.conf. Add bind a send-prefix so Ctrl-a a sends a literal Ctrl-a, and bind C-a last-window so Ctrl-a Ctrl-a jumps to the previous window like in screen.

Which is better for a serial console?

screen, because it opens serial devices directly with a command like screen /dev/ttyUSB0 115200. tmux has no built-in serial support, so you run a separate tool like picocom or minicom inside a pane.

Can tmux and screen be installed on the same machine?

Yes. The binaries and config files (~/.tmux.conf and ~/.screenrc) do not conflict, and Debian 13 ships tmux 3.5a and screen 4.09.01 side by side.

Do tmux and screen sessions survive a reboot?

No, both lose every session when the machine reboots. Both can also be killed at logout when systemd-logind has KillUserProcesses=yes.

Check on long runs from your phone

Change one import and every tqdm bar prints a link you can open on any device. Get a Discord or Slack message when the run finishes, fails or stalls.

Get a live linkpip install tqdm-live

Sources