Document mirrored from http://aperiodic.net/screen/quick_reference under following licence: [[http://www.gnu.org/licenses/gpl-2.0.html|GNU General Public License 2.0 or later]] ====== screen Quick Reference ====== ===== Getting in ===== | start a new screen session with session name | ''screen -S ////'' | | list running sessions/screens | ''screen -ls'' | | attach to a running session | ''screen -x'' | | ... to session with name | ''screen -r ////'' | | the "ultimate attach" | ''screen -dRR'' (Attaches to a screen session. If the session is attached elsewhere, detaches that other display. If no session exists, creates one. If multiple sessions exist, uses the first one.) | | detach a running session | ''screen -d ////'' | ===== Escape key ===== All screen commands are prefixed by an escape key, by default ''C-a'' (that's Control-a, sometimes written ''^a''). To send a literal ''C-a'' to the programs in screen, use ''C-a a''. This is useful when working with screen within screen. For example ''C-a a n'' will move screen to a new window on the screen within screen. ===== Getting out ===== | detach | ''C-a d'' | | detach and logout (quick exit) | ''C-a D D'' | | exit screen | ''C-a \'' Exit all of the programs in screen. (//not// recommended) | | force-exit screen | ''C-a C-\'' (//not// recommended) | ===== Help ==== | See help | ''C-a ?'' (lists keybindings) | The man page is the complete reference, but it's very long. ===== Window Management ===== | create new window | ''C-a c'' | | change to last-visited active window | ''C-a C-a'' (commonly used to flip-flop between two windows) | | change to window by number | ''C-a '' (only for windows 0 to 9) | | change to window by number or name | ''C-a ' '' | | change to next window in list | ''C-a n'' or ''C-a '' | | change to previous window in list | ''C-a p'' or ''C-a '' | | see window list | ''C-a "'' (allows you to select a window to change to) | | show window bar | ''C-a w'' (if you don't have window bar) | | close current window | Close all applications in the current window (including shell) | | kill current window | ''C-a k'' (not recommended) | | kill all windows | ''C-a \'' (not recommended) | | rename current window | ''C-a A'' | ===== Split screen ===== | split display horizontally | ''C-a S'' | | split display vertically | ''C-a |'' or ''C-a V'' (for the vanilla vertical screen patch) | | jump to next display region | ''C-a tab'' | | remove current region | ''C-a X'' | | remove all regions but the current one | ''C-a Q'' | ===== Scripting ===== | send a command to a named session | ''screen -S //// -X ////'' | | create a new window and run //ping example.com// | ''screen -S //// -X screen //ping example.com//'' | | stuff characters into the input buffer\\ using bash to expand a newline character\\ ([[http://lists.gnu.org/archive/html/screen-users/2007-06/msg00012.html|from here]]) | screen -S [-p ] -X stuff $'quit\r' | | a full example | # run bash within screen screen -AmdS bash_shell bash # run top within that bash session screen -S bash_shell -p 0 -X stuff $'top\r' # ... some time later # stuff 'q' to tell top to quit screen -S bash_shell -X stuff 'q' # stuff 'exit\n' to exit bash session screen -S bash_shell -X stuff $'exit\r' | ===== Misc ===== | redraw window | ''C-a C-l'' | | enter copy mode | ''C-a ['' or ''C-a '' (also used for viewing scrollback buffer) | | paste | ''C-a ] '' | | monitor window for activity | ''C-a M'' | | monitor window for silence | ''C-a _'' | | enter digraph (for producing non-ASCII characters) | ''C-a C-v'' | | lock (password protect) display | ''C-a x'' | | enter screen command | ''C-a :'' | | enable logging in the screen session | ''C-a H'' |