Skip to content

GNU Screen

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

GNU Screen, first released in 1987, is the original terminal multiplexer. It introduced the concept of persistent terminal sessions that survive disconnection — a capability that was revolutionary for remote system administration over unreliable connections.

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 has largely replaced Screen for new users, Screen remains installed by default on many Linux distributions and is still widely used in legacy environments, embedded systems, and situations where tmux isn't available.

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)✗ noScreen does not pass through OSC 10 color queries
Background color query (OSC 11)✗ noScreen does not pass through OSC 11 color queries
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
Current directory (OSC 7)✓ yes
Hyperlinks (OSC 8)✓ yes
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
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