| start a new screen session with session name | screen -S <name> |
| list running sessions/screens | screen -ls |
| attach to a running session | screen -r |
| … to session with name | screen -r <name> |
| 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.) |
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.
| detach | C-a d |
| detach and logout (quick exit) | C-a D D |
| exit screen | “C-a : quit” or exit all of the programs in screen. |
| force-exit screen | C-a C-\ (not recommended) |
| See help | C-a ? (lists keybindings) |
The man page is the complete reference, but it's very long.
| 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 <number> (only for windows 0 to 9) |
| change to window by number or name | C-a ' <number or title> |
| change to next window in list | C-a n or C-a <space> |
| change to previous window in list | C-a p or C-a <backspace> |
| 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 |
| send a command to a named session | screen -S <name> -X <command> |
| create a new window and run ping example.com | screen -S <name> -X screen ping example.com |
stuff characters into the input buffer
using bash to expand a newline character
(from here) | screen -S <name> [-p <page>] -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'
|
| redraw window | C-a C-l |
| enter copy mode | C-a [ or C-a <esc> (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 : |