Appearance
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
| Feature | Support | Notes |
|---|---|---|
| DEC line drawing character set | ✓ yes | |
| DEC Special Graphics | ✓ yes | |
| G0/G1 character set switching | ✓ yes | |
| UTF-8 mode | ✓ yes |
Cursor
| Feature | Support | Notes |
|---|---|---|
| CUD stops at bottom | ✓ yes | cursor at row 24 |
| CUP at screen boundaries | ✓ yes | |
| CUP with DECOM | ✓ yes | |
| CUU stops at top | ✓ yes | |
| Hide cursor (DECTCEM) | ✓ yes | |
| Cursor horizontal absolute (CHA) | ✓ yes | |
| Cursor position (CUP) | ✓ yes | |
| Cursor back (CUB) | ✓ yes | |
| Cursor down (CUD) | ✓ yes | |
| Cursor forward (CUF) | ✓ yes | |
| Cursor home | ✓ yes | |
| Cursor up (CUU) | ✓ yes | |
| Cursor next line (CNL) | ✓ yes | |
| Cursor position report (DSR 6) | ✓ yes | |
| Reverse Wrap (Mode 45) | ✓ yes | |
| Save/restore cursor (DECSC) | ✓ yes | |
| Cursor shape (DECSCUSR) | ✓ yes |
Device Status
| Feature | Support | Notes |
|---|---|---|
| Mode Report (DECRPM) | ✗ no | Screen does not support DECRPM (mode reporting) |
| Request Setting (DECRQSS) | ✗ no | Screen 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) | ✗ no | Screen does not support XTGETTCAP terminal-features query |
| Tertiary Device Attributes (DA3) | ✗ no | Screen does not forward DA3 to the outer terminal |
| Query Terminfo (XTGETTCAP) | ✗ no | Screen does not support XTGETTCAP |
| Terminal Version (XTVERSION) | ✗ no | Screen does not support XTVERSION query |
Editing
| Feature | Support | Notes |
|---|---|---|
| Delete characters (DCH) | ✓ yes | |
| Delete lines (DL) | ✓ yes | |
| Insert characters (ICH) | ✓ yes | |
| Insert lines (IL) | ✓ yes | |
| Repeat character (REP) | ✗ no | Screen does not support REP (repeat character) |
Erase
| Feature | Support | Notes |
|---|---|---|
| Erase character (ECH) | ✓ yes | |
| ED at scroll region boundary | ✓ yes | |
| EL erases with bg color | ✓ yes | |
| Erase line (EL 2) | ✓ yes | |
| Erase to BOL (EL 1) | ✓ yes | |
| Erase to EOL (EL 0) | ✓ yes | |
| Erase above (ED 1) | ✓ yes | |
| Erase screen (ED 2) | ✓ yes | |
| Erase below (ED 0) | ✓ yes | |
| Erase scrollback (ED 3) | ✓ yes | |
| Selective Erase (DECSED) | ✓ yes |
Extensions
Input Protocols
| Feature | Support | Notes |
|---|---|---|
| Button-Event Mouse (1002) | ✓ yes | |
| CSI u Key Encoding | ✓ yes | |
| modifyOtherKeys | ✓ yes | |
| modifyOtherKeys mode 3 | ? unknown | |
| Pixel Mouse Reporting (1016) | ✓ yes | |
| urxvt Mouse Reporting (1015) | ✓ yes | |
| X10 Mouse Tracking (9) | ✓ yes |
Modes
| Feature | Support | Notes |
|---|---|---|
| Enter alt screen (DECSET 1049) | ✓ yes | Behavioral: entered and responded |
| Exit alt screen (DECRST 1049) | ✓ yes | |
| App cursor keys (DECCKM) | ✓ yes | Behavioral: responsive after enable |
| Application keypad (DECKPAM) | ✓ yes | |
| Auto-wrap (DECAWM) | ✓ yes | Behavioral: wrap confirmed |
| Bracketed paste (DECSET 2004) | ✓ yes | Behavioral: terminal responsive after enable |
| Mode 2031 color scheme reporting | ? unknown | |
| Focus tracking (DECSET 1004) | ✓ yes | Behavioral: responsive after enable |
| Insert/replace mode (IRM) | ✓ yes | |
| Left/Right Margins (DECLRMM, Mode 69) | ✓ yes | |
| All motion mouse (DECSET 1003) | ✓ yes | Behavioral: responsive after enable |
| SGR mouse mode (DECSET 1006) | ✓ yes | Behavioral: responsive after enable |
| Mouse tracking (DECSET 1000) | ✓ yes | Behavioral: responsive after enable |
| Origin mode (DECOM) | ✓ yes | Behavioral: cursor at row 5 (origin mapped) |
| Reverse video (DECSCNM) | ✓ yes | Behavioral: responsive after enable |
| Synchronized output (DECSET 2026) | ✓ yes | Behavioral: responsive after enable |
Reset
| Feature | Support | Notes |
|---|---|---|
| Backend reset() method | ✓ yes | cursor at 5;5 after DECSTR |
| Full reset (RIS) | ✓ yes | |
| SGR reset clears attributes | ✓ yes | |
| Soft reset (DECSTR) | ✓ yes |
Scrollback
| Feature | Support | Notes |
|---|---|---|
| Scrollback accumulates | ✓ yes | |
| Alt screen separate scrollback | ✗ no | Screen's alternate screen buffer handling differs — scrollback not fully preserved |
| DECSTBM constrains scrolling | ✓ yes | |
| DECSTBM reset to full screen | ✓ yes | cursor 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 | ✓ yes | Content written to scrollback |
SGR (Text Styling)
| Feature | Support | Notes |
|---|---|---|
| 256-color bg (SGR 48;5) | ✓ yes | |
| Bright bg colors (SGR 100-107) | ✓ yes | |
| Default bg color (SGR 49) | ✓ yes | |
| Standard bg colors (SGR 40-47) | ✓ yes | |
| 24-bit bg (SGR 48;2) | ✓ yes | |
| Blink (SGR 5) | ✓ yes | |
| Bold (SGR 1) | ✓ yes | |
| Faint/dim (SGR 2) | ✓ yes | |
| 256-color fg (SGR 38;5) | ✓ yes | |
| Bright fg colors (SGR 90-97) | ✓ yes | |
| Default fg color (SGR 39) | ✓ yes | |
| Standard fg colors (SGR 30-37) | ✓ yes | |
| 24-bit fg (SGR 38;2) | ✓ yes | |
| Hidden/invisible (SGR 8) | ✓ yes | |
| Inverse video (SGR 7) | ✓ yes | |
| Italic (SGR 3) | ✓ yes | |
| Overline (SGR 53) | ✓ yes | |
| Reset all (SGR 0) | ✓ yes | |
| Reset bold/dim (SGR 22) | ✓ yes | |
| Reset inverse (SGR 27) | ✓ yes | |
| Reset italic (SGR 23) | ✓ yes | |
| Reset underline (SGR 24) | ✓ yes | |
| Strikethrough (SGR 9) | ✓ yes | |
| Underline color (SGR 58) | ✓ yes | |
| Curly underline (SGR 4:3) | ✓ yes | |
| Dashed underline (SGR 4:5) | ✓ yes | |
| Dotted underline (SGR 4:4) | ✓ yes | |
| Double underline (SGR 21) | ✓ yes | |
| Underline (SGR 4) | ✓ yes |
Text
| Feature | Support | Notes |
|---|---|---|
| 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 | ✗ no | Screen's tab handling may differ from direct terminal |
| CJK wide chars (2 cols) | ✓ yes | |
| Emoji wide chars (2 cols) | ✗ no | Screen 4.x has limited Unicode width awareness — emoji rendered as narrow |
| Regional indicator flags (2 cols) | ✓ yes | |
| Variation selector 16 (emoji presentation) | ✗ no | Screen 4.x does not handle VS16 emoji variation selectors |
| Emoji ZWJ sequences (2 cols) | ✗ no | Screen 4.x does not handle ZWJ emoji sequences |
| Text wraps at width | ✓ yes |
Unicode
| Feature | Support | Notes |
|---|---|---|
| East Asian Ambiguous Width | ✓ yes | width=1 (ambiguous chars vary by terminal/locale) |
| Grapheme Cluster Cursor Movement | ✗ no | Screen 4.x does not support grapheme cluster cursor positioning |
| Tab Stops (HT) | ✗ no | Screen's tab stop handling differs from direct terminal |
| Wide Char at Line Wrap | ✓ yes |