GNU Screen
   HOME

TheInfoList



OR:

GNU Screen is a
terminal multiplexer A terminal multiplexer is a software application that can be used to multiplex several separate pseudoterminal-based login sessions inside a single terminal display, terminal emulator window, PC/workstation system console, or remote login sessio ...
: a
software application Application software is any computer program that is intended for end-user use not computer operator, operating, system administration, administering or computer programming, programming the computer. An application (app, application program, sof ...
that can be used to
multiplex Multiplex may refer to: Science and technology * Multiplex communication, combining many signals into one transmission circuit or channel ** Multiplex (television), a group of digital television or radio channels that are combined for broadcast * ...
several
virtual console The Virtual Console was a line of downloadable retro video games for Nintendo's Wii and Wii U home video game consoles and the Nintendo 3DS family of handheld systems. The Virtual Console lineup consisted of titles originally released on pa ...
s, allowing a user to access multiple separate
login session In computing, a login session is the period of activity between a user logging in and logging out of a (multi-user) system. On Unix and Unix-like operating systems, a login session takes one of two main forms: * When a textual user interface is ...
s 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 A command-line interface (CLI) is a means of interacting with software via commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user-friendly alternati ...
, and for separating programs from the session of the
Unix shell A Unix shell is a Command-line_interface#Command-line_interpreter, command-line interpreter or shell (computing), shell that provides a command line user interface for Unix-like operating systems. The shell is both an interactive command languag ...
that started the program, particularly so a remote
process A process is a series or set of activities that interact to produce a result; it may occur once-only or be recurrent or periodic. Things called a process include: Business and management * Business process, activities that produce a specific s ...
continues running even when the user is disconnected. Released under the terms of version 3 or later of the
GNU General Public License The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
, GNU Screen is
free software Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
.


Features

GNU Screen can be thought of as a text version of graphical
window manager A window manager is system software that controls the placement and appearance of window (computing), windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment. They ...
s, 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 On POSIX-compliant platforms, SIGHUP ("signal hang up") is a signal sent to a process when its controlling terminal is closed. It was originally designed to notify the process of a serial line drop. SIGHUP is a symbolic constant defined in the he ...
) 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.


History

Screen was originally designed by Oliver Laumann and Carsten Bormann at
Technische Universität Berlin (TU Berlin; also known as Berlin Institute of Technology and Technical University of Berlin, although officially the name should not be translated) is a public university, public research university located in Berlin, Germany. It was the first ...
and published in 1987. Design criteria included
VT100 The VT100 is a video terminal, introduced in August 1978 by Digital Equipment Corporation (DEC). It was one of the first terminals to support ANSI escape codes for cursor control and other tasks, and added a number of extended codes for special ...
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 The Friedrich-Alexander University of Erlangen-Nuremberg (, FAU) is a Public University, public research university in the cities of Erlangen and Nuremberg in Bavaria, Germany. The name Friedrich-Alexander is derived from the university's first ...
, who later moved the project to the
GNU Project The GNU Project ( ) is a free software, mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and Computer hardware, computing dev ...
and added features such as scrollback, split-screen,
copy-and-paste Cut, copy, and paste are essential commands of modern human–computer interaction and user interface design. They offer an interprocess communication technique for transferring data through a computer's user interface. The ''cut'' command re ...
, and screen sharing.screen ftp
/ref> 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 The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems. X originated as part of Project Athena at Massachusetts Institute of Technology (MIT) in 1984. The X protocol has been at ...
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 tmux is an open-source terminal multiplexer for Unix-like operating systems. It allows multiple terminal sessions to be accessed simultaneously in a single window. It is useful for running more than one command-line program at the same time ...
, an ISC-licensed terminal multiplexer with a feature set similar to GNU Screen


Further reading

* Jeff Covey (12 Oct 2002)
The Antidesktop
',
Freshmeat Freecode, formerly Freshmeat, was a website owned by BIZX, Inc., hosting mainly open-source software for programmers and developers. Among other things, the site also hosted user reviews and discussions. While a majority of the software covered ...


References

* Martin Streicher (10 Feb 2009)
Speaking UNIX: Stayin' alive with Screen
', IBM DeveloperWorks * Philip J. Hollenback (22 Aug 2006)
Using screen for remote interaction
', Linux.com * Adam Lazur (January 2003)
Power Sessions with Screen
',
Linux Journal ''Linux Journal'' (''LJ'') is an American monthly technology magazine originally published by Specialized System Consultants, Inc. (SSC) in Seattle, Washington since 1994. In December 2006 the publisher changed to Belltown Media, Inc. in Hous ...
, issue 105 * William Von Hagen, Brian K. Jones, ''Linux server hacks, Volume 2'', O'Reilly Media, 2005, , pp. 155–157 (Hack #34) * Carl Albing, J. P. Vossen, Cameron Newham, ''Bash cookbook'', O'Reilly Media, 2007, , pp. 415–418 * Dru Lavigne, ''BSD hacks'', O'Reilly Media, 2004, , pp. 44–48 (Hack #12) * Noah Gift, Jeremy Jones, ''Python for Unix and Linux system administration'', O'Reilly Germany, 2008, , pp. 300–301 * Paul Mutton, ''IRC hacks'', O'Reilly Media, 2004, , pp. 345–349 (Hack #92)


Notes


External links

*
Quick reference

Source code repository
{{DEFAULTSORT:Gnu Screen 1987 software Screen Termcap Terminal multiplexers Unix software