= Using Screen = == Why? == {{{screen}}} is a handy tool. It lets you get more out of a terminal session, whether in a window, via ssh, or by some more esoteric means. It's original reason for existence was allowing you to switch between subsessions on a [http://en.wikipedia.org/wiki/Video_terminal video-display terminal], but grew to allow sessions that could be detached and reattached (if you went home for the day, or say you were connecting via a glitchy network) and eventually to allow the same session to be simultaneously accessed from multiple places. == Getting Started == 1. Pick a machine to run your screen session on. If you don't know of any options, linux.mit.edu (Linerva) is a good choice. 2. ssh to that machine. 3. run {{{screen}}} 4. Do stuff. To detach, type "C-a d". To reattach, type {{{screen -dr}}} If you close your ssh connection without detaching, or lose your network connection. 1. run {{{screen -dr}}} 2. Do stuff. The {{{-dr}}} means "find my screen session, detach it from wherever it's attached if it's attached, and reattach it here." Once you're comfortable with this, hit "C-a C-c". This creates what screen calls a new "window"; it should give you a new shell prompt, and you can do stuff at it. If you want to switch back to the old "window", hit "C-a C-a". You can create as many "windows" as you want; you can switch to the first 10 of them with "C-a 0" through "C-a 9" and see a list of what's open with "C-a w". A useful shorthand: {{{screen -dR}}} is like {{{screen -dr}}} except it adds a "if I don't already have a session, create one" step. You can uses {{{screen -x}}} to attach a screen session