Skip to content

GNU Screen

Multiplexer

The original terminal multiplexer. Session persistence and window management since 1987.

GNU Screen, originally written by Oliver Laumann at the Technical University of Berlin in 1987, is the original terminal multiplexer and one of the oldest continuously maintained Unix utilities. It invented the concept of detach and reattach — disconnecting from a terminal session and reconnecting later with all processes still running. This was revolutionary for system administrators working over dial-up and unreliable network connections, and the concept became fundamental to remote server management.

Screen's VT emulation is conservative, supporting basic ANSI/VT100 features but lacking many modern extensions. It does not support truecolor (24-bit RGB), kitty keyboard protocol, or kitty graphics. Its 256-color support requires explicit configuration. As an intermediary, Screen strips or mishandles many modern escape sequences that newer terminals support.

While tmux (written in 2007 as a BSD-licensed alternative) has largely replaced Screen for new users, Screen remains installed by default on many Linux distributions and is still the multiplexer of choice in embedded systems, rescue environments, and minimal server images. Its hardstatus line — a customizable status bar at the bottom of the terminal — was the precursor to tmux's status line and influenced the design of terminal status bars everywhere.

Backend: The original terminal multiplexer. Session persistence and window management since 1987. · v5.0.1
86%
126 passed · 21 failed of 147 features
Tested: March 26, 2026

Character Sets

FeatureSupportNotes
DEC line drawing character set✓ yes
DEC Special Graphics✓ yes
G0/G1 character set switching✓ yes
UTF-8 mode✓ yes

Device Status

FeatureSupportNotes
Mode Report (DECRPM)✗ noScreen does not support DECRPM (mode reporting)
Request Setting (DECRQSS)✗ noScreen does not support DECRQSS (setting reporting)
Primary device attributes (DA1)✓ yes
Secondary Device Attributes (DA2)✓ yes
Device status report (DSR 5)✓ yes
Feature Reporting (TERM_FEATURES)✗ noScreen does not support XTGETTCAP terminal-features query
Tertiary Device Attributes (DA3)✗ noScreen does not forward DA3 to the outer terminal
Query Terminfo (XTGETTCAP)✗ noScreen does not support XTGETTCAP
Terminal Version (XTVERSION)✗ noScreen does not support XTVERSION query

Editing

FeatureSupportNotes
Delete characters (DCH)✓ yes
Delete lines (DL)✓ yes
Insert characters (ICH)✓ yes
Insert lines (IL)✓ yes
Repeat character (REP)✗ noScreen does not support REP (repeat character)

Extensions

FeatureSupportNotes
iTerm2 Inline Images (OSC 1337)✓ yes
Kitty graphics protocol✗ noScreen does not support kitty graphics protocol
Kitty keyboard protocol✗ noScreen does not support kitty keyboard protocol
Desktop Notifications (OSC 9/777)✓ yes
VS Code Shell Integration (OSC 633)✓ yes
Icon and title (OSC 0)✓ yes
Foreground color query (OSC 10)✗ noNo OSC 10 response
Background color query (OSC 11)✗ noNo OSC 11 response
iTerm2 Capability Reporting (OSC 1337)✗ noiTerm2-specific protocol not supported by Screen
iTerm2 Cell Size Reporting (OSC 1337)✗ noiTerm2-specific protocol not supported by Screen
Window title (OSC 2)✓ yes
Clipboard access (OSC 52)✓ yes
OSC 5522 advanced clipboard? unknown
OSC 66 text sizing? unknown
Current directory (OSC 7)✓ yes
Hyperlinks (OSC 8)✓ yes
OSC 9;4 progress bar? unknown
Text reflow on resize✓ yesScreen 4.x does not support text reflow on resize (fixed in 5.0)
Semantic prompts (OSC 133)✓ yes
Sixel graphics✗ noScreen does not support sixel graphics
Sixel support in DA1? unknown
24-bit truecolor✓ yes

Modes

FeatureSupportNotes
Enter alt screen (DECSET 1049)✓ yesBehavioral: entered and responded
Exit alt screen (DECRST 1049)✓ yes
App cursor keys (DECCKM)✓ yesBehavioral: responsive after enable
Application keypad (DECKPAM)✓ yes
Auto-wrap (DECAWM)✓ yesBehavioral: wrap confirmed
Bracketed paste (DECSET 2004)✓ yesBehavioral: terminal responsive after enable
Mode 2031 color scheme reporting? unknown
Focus tracking (DECSET 1004)✓ yesBehavioral: responsive after enable
Insert/replace mode (IRM)✓ yes
Left/Right Margins (DECLRMM, Mode 69)✓ yes
All motion mouse (DECSET 1003)✓ yesBehavioral: responsive after enable
SGR mouse mode (DECSET 1006)✓ yesBehavioral: responsive after enable
Mouse tracking (DECSET 1000)✓ yesBehavioral: responsive after enable
Origin mode (DECOM)✓ yesBehavioral: cursor at row 5 (origin mapped)
Reverse video (DECSCNM)✓ yesBehavioral: responsive after enable
Synchronized output (DECSET 2026)✓ yesBehavioral: responsive after enable

Reset

FeatureSupportNotes
Backend reset() method✓ yescursor at 5;5 after DECSTR
Full reset (RIS)✓ yes
SGR reset clears attributes✓ yes
Soft reset (DECSTR)✓ yes

Scrollback

FeatureSupportNotes
Scrollback accumulates✓ yes
Alt screen separate scrollback✗ noScreen's alternate screen buffer handling differs — scrollback not fully preserved
DECSTBM constrains scrolling✓ yes
DECSTBM reset to full screen✓ yescursor at row 24 (expected near bottom after DECSTBM reset)
Reverse index (RI)✓ yes
Scroll down (SD)✓ yes
Scroll up (SU)✓ yes
Scroll region (DECSTBM)✓ yes
Total line count✓ yesContent written to scrollback

Text

FeatureSupportNotes
Backspace (BS)✓ yes
Basic text rendering✓ yes
Combining characters (0 cols)✓ yes
Carriage return✓ yes
Index (IND)✓ yes
Line feed✓ yes
Next line (NEL)✓ yes
Overwrite at cursor✓ yes
Reverse Index at Scroll Top✓ yes
Tab stops✗ noScreen's tab handling may differ from direct terminal
CJK wide chars (2 cols)✓ yes
Emoji wide chars (2 cols)✗ noScreen 4.x has limited Unicode width awareness — emoji rendered as narrow
Regional indicator flags (2 cols)✓ yes
Variation selector 16 (emoji presentation)✗ noScreen 4.x does not handle VS16 emoji variation selectors
Emoji ZWJ sequences (2 cols)✗ noScreen 4.x does not handle ZWJ emoji sequences
Text wraps at width✓ yes

Unicode

FeatureSupportNotes
East Asian Ambiguous Width✓ yeswidth=1 (ambiguous chars vary by terminal/locale)
Grapheme Cluster Cursor Movement✗ noScreen 4.x does not support grapheme cluster cursor positioning
Tab Stops (HT)✗ noScreen's tab stop handling differs from direct terminal
Wide Char at Line Wrap✓ yes

Powered by Termless
Playwright for Terminals