![]() | |
![]() GNU Screen with split-screen | |
Original author(s) | Oliver Laumann, Carsten Bormann |
---|---|
Developer(s) | Amadeusz Sławiński, Alexander Naumov and theGNU Project |
Initial release | 1987; 38 years ago (1987) |
Stable release | 5.0.0[1] ![]() |
Preview release | None [±] |
Repository | |
Written in | C |
Operating system | Unix-like |
Type | Terminal multiplexer |
License | GPL-3.0-or-later |
Website | www |
GNU Screen is aterminal multiplexer: asoftware application that can be used tomultiplex severalvirtual consoles, allowing a user to access multiple separatelogin sessions inside a singleterminal window, or detach and reattach sessions from a terminal. It is useful for dealing with multiple programs from acommand line interface, and for separating programs from the session of theUnix shell that started the program, particularly so a remoteprocess continues running even when the user is disconnected.
Released under the terms of version 3 or later of theGNU General Public License, GNU Screen isfree software.
GNU Screen can be thought of as atext version of graphicalwindow 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 thefollowing 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.
Screen was originally designed by Oliver Laumann and Carsten Bormann atTechnische Universität Berlin and published in 1987.[2][3]
Design criteria includedVT100 emulation (including ANSI X3.64 (ISO 6429) and ISO 2022) and reasonable performance for heavy daily use whencharacter-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 theUniversity of Erlangen–Nuremberg, who later moved the project to theGNU Project and added features such as scrollback, split-screen,copy-and-paste, andscreen 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 helpGNU screen 4.3.0 was released.