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.
| Feature | tmux 3.8 | GNU screen 5.0.2 |
|---|---|---|
| Latest release | 3.8 (2026) | 5.0.2 (July 2026) |
| License | ISC | GPL version 3 |
| Prefix key | Ctrl-b | Ctrl-a |
| Detach | Ctrl-b d | Ctrl-a d |
| List and reattach | tmux ls, tmux attach -t NAME | screen -ls, screen -r NAME |
| Start detached with a command | tmux new -d -s NAME 'cmd' | screen -dmS NAME cmd |
| Default scrollback | 2,000 lines (history-limit) | 100 lines compiled in (defscrollback), 1,024 in Debian's /etc/screenrc |
| Split | Ctrl-b % and Ctrl-b ", starts a shell | Ctrl-a | and Ctrl-a S, starts empty |
| Mouse | On by default since 3.8: scroll, select, resize, switch panes | mousetrack on: click to select a region |
| Config file | ~/.tmux.conf or ~/.config/tmux/tmux.conf | ~/.screenrc |
| Serial ports | Not built in, run picocom or minicom in a pane | Built in: screen /dev/ttyUSB0 115200 |
| Other users | server-access since 3.3, tmux attach -r | multiuser on with acladd |
| Scripting | Any 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:
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 -vscreen -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.
pip install tqdm-liveSources
- tmux 3.8 release on GitHub github.com
- tmux manual page man.openbsd.org
- GNU screen home page gnu.org
- GNU screen manual gnu.org
- GNU screen 5.0.2 release announcement lists.gnu.org
- GNU screen 5.0.1 security release announcement lists.gnu.org
- Debian 13 screen package packages.debian.org