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 session ...
, a
software application Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
that can be used to
multiplex Multiplex may refer to: * Multiplex (automobile), a former American car make * Multiplex (comics), a DC comic book supervillain * Multiplex (company), a global contracting and development company * Multiplex (assay), a biological assay which measu ...
several
virtual console A virtual console (VC) – also known as a virtual terminal (VT) – is a conceptual combination of the keyboard and display for a computer user interface. It is a feature of some Unix-like operating systems such as Linux, BSD, illumos, Uni ...
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 i ...
s inside a single
terminal Terminal may refer to: Computing Hardware * Terminal (electronics), a device for joining electrical circuits together * Terminal (telecommunication), a device communicating over a line * Computer terminal, a set of primary input and output dev ...
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 A Unix shell is a command-line interpreter or shell that provides a command line user interface for Unix-like operating systems. The shell is both an interactive command language and a scripting language, and is used by the operating syste ...
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 se ...
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 License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general ...
, GNU Screen is
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
.


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 windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment. They work in conjunctio ...
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 h ...
) 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 the Technical University of Berlin 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 University of Erlangen–Nuremberg (german: Friedrich-Alexander-Universität Erlangen-Nürnberg, FAU) is a public research university in the cities of Erlangen and Nuremberg in Bavaria, Germany. The name Friedrich–Alexander comes from the univ ...
, 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 computing devices by collaborat ...
and added features such as scrollback, split-screen,
copy-and-paste In human–computer interaction and user interface design, cut, copy, and paste are related commands that offer an interprocess communication technique for transferring data through a computer's user interface. The ''cut'' command removes the ...
, and
screen sharing In computing, the term remote desktop refers to a software- or operating system feature that allows a personal computer's desktop environment to be run remotely off of one system (usually a PC, but the concept applies equally to a server or a ...
.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 xpra, abbreviated from X Persistent Remote Applications, is a set of software utilities that run X clients, typically on a remote host, and direct their display to the local machine without the X clients closing or losing any state in case the ne ...
, 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 provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wi ...
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


References

* Martin Streicher (10 Feb 2009)
Speaking UNIX: Stayin' alive with Screen
',
IBM DeveloperWorks IBM Developer is a global community of coders, developer advocates, and digital resources that help developers learn, build, and connect. The IBM Developer website (previously known as IBM developerWorks) hosts a wide range of resources, tools, a ...
* Philip J. Hollenback (22 Aug 2006)
Using screen for remote interaction
', Linux.com * Adam Lazur (January 2003)
Power Sessions with Screen
', Linux Journal, 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 Screen or Screens may refer to: Arts * Screen printing (also called ''silkscreening''), a method of printing * Big screen, a nickname associated with the motion picture industry * Split screen (filmmaking), a film composition paradigm in which mul ...
Termcap Terminal multiplexers Unix software