GNU Screen is a terminal multiplexer: a software application that can be used to multiplex several virtual consoles, allowing a user to access multiple separate login sessions inside a single terminal window, or detach and reattach sessions from a terminal. It is useful for dealing with multiple programs from a command line interface, and for separating programs from the session of the Unix shell that started the program, particularly so a remote process continues running even when the user is disconnected.

Quick Facts Original author(s), Developer(s) ...
GNU Screen
Original author(s)Oliver Laumann, Carsten Bormann
Developer(s)Amadeusz Sławiński, Alexander Naumov and the GNU Project
Initial release1987; 37 years ago (1987)
Stable release
5.0.0[1] Edit this on Wikidata / 28 August 2024
Preview releaseNone [±]
Repository
Written inC
Operating systemUnix-like
TypeTerminal multiplexer
LicenseGPL-3.0-or-later
Websitewww.gnu.org/software/screen/
Close

Released under the terms of version 3 or later of the GNU General Public License, GNU Screen is free software.

Features

GNU Screen can be thought of as a text version of graphical window managers, or as a way of putting virtual terminals into any login session. It is a wrapper that allows multiple text programs to run at the same time, and provides features that allow the user to use the programs within a single interface productively. This enables the following features: persistence, multiple windows, and session sharing.

Screen is often used when a network connection to the terminal is unreliable, as a dropped network connection typically terminates all programs the user was running (child processes of the login session), due to the session ending and sending a "hangup" signal (SIGHUP) to all the child processes. Running the applications under screen means that the session does not terminate – only the now-defunct terminal gets detached – so applications don't even know the terminal has detached, and allows the user to reattach the session later and continue working from where they left off.

Example of working with the GNU Screen

History

Screen was originally designed by Oliver Laumann and Carsten Bormann at Technische Universität Berlin and published in 1987.[2][3]

Design criteria included VT100 emulation (including ANSI X3.64 (ISO 6429) and ISO 2022) and reasonable performance for heavy daily use when character-based terminals were still common. Later, the at-the-time novel feature of disconnection/reattachment was added.

Around 1990, Laumann handed over maintenance of the code to Jürgen Weigert and Michael Schroeder at the University of Erlangen–Nuremberg, who later moved the project to the GNU Project and added features such as scrollback, split-screen, copy-and-paste, and screen sharing.[4]

By 2014, development had slowed to a crawl. Wanting to change this, Amadeusz Sławiński volunteered to help. In response, Laumann granted him maintainership. Sławiński proceeded to put out the first new Screen release in half a decade. Because there were some unofficial "Screen 4.1" releases floating around the Internet, he called this new release "Screen 4.2.0".

In May 2015, on openSUSE Conference, Jürgen Weigert invited Alexander Naumov to help to develop and maintain GNU screen. Two months later with Alex's help GNU screen 4.3.0 was released.

See also

  • xpra, a tool to run X Window System applications on one machine, disconnect them from that machine's display, then reconnect them to another machine's display.
  • Byobu, a frontend for GNU Screen or tmux
  • tmux, an ISC-licensed terminal multiplexer with a feature set similar to GNU Screen

Further reading

References

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.