How are "xterm" and "screen" related?

7,448

Solution 1

you don't see actual terminals all that often anymore, but for instance the Linux text consoles on (CTRL +) ALT + F1 through F6 are considered terminals.

xterm is a terminal emulator for systems running the x-window system and a graphical user interface. It provides only a single terminal, typically running a single process (an interactive shell by default). Konsole and similarly Gnome Terminal are slightly more advanced terminal emulators for the GUI.

You run screen from within a terminal or a terminal emulator like xterm or PuTTY. In that single terminal window screen functions like a window manager to run multiple virtual terminals.

Solution 2

From the perspective of what's similar between xterm and screen:

Both are emulations of the real hardware device "terminal", like this VT100:

vt100
VT100 - Wikimedia commons

  • xterm emulates one terminal showing it as a GUI window on screen

  • screen emulates multiple terminals, but does not actually emulate the output part - it behaves like a program that itself needs a terminal to show on - but only one!

They solve different, but related problems - and can be combined to solve more complex use cases:


For example, we can run two programs that each need a terminal,
and make screen pretend to them they each get a terminal,
while screen only needs one.
And then we can - instead of really using a terminal -
use xterm to emulate a terminal, showing the output of screen,
which shows the output of the two programs.

Note that there are some terminal emulators like terminator, that implement the features of xterm and screen at the same time - which would of course be totally confusing when used as base to answer this question. Many more terminal emulators support multiple terrminals as tabs in one window, including the common gnome-terminal and konsole

Solution 3

They are fundamentally different. I think the main difference is: Screen allows you to detach the session and reattach it later from a different place.

For example you might have some important process running in your xterm but unfortunately your monitor breaks and you can no longer use your computer.

If the process runs in screen you could now 'ssh` into your machine, detach the "screen" from the unusable xterm and reatach it to your ssh connection.

Another scenario is a process running on a remote machine. Without screen it is difficult to resume the process if you need to disconnect your ssh connection, with screen it is easy.

Share:
7,448

Related videos on Youtube

Matej Vrzala M4
Author by

Matej Vrzala M4

Updated on September 18, 2022

Comments

  • Matej Vrzala M4
    Matej Vrzala M4 over 1 year

    I am not quite sure if there is any subtle or wide differences between screen and xterm. I have used screen before and had it being described as kind of like a multiplexer and have tried xterm a few times. Can anyone explain the differences between the two as well as the pros and cons to them both?