The other week J.K. at SFVlug was asking if I could provide some notes on the GNU 'screen' program. Here, extracted from some earlier notes, and beefed up with a few references I use, without further commentary, are the basic commands, hotkeys, and other data I need for most of my 'screen' use.
some screen notes: Note: keep in mind screen can be run inside of xterm and other environments to kill a range of screens: for i in {3..13} ; do screen -p $i -X kill ; done screen -h / --help (of course) there are or can be /etc/screenrc ~/.screenrc files screen -ls list screen sessions screen -r ####.tty##.attach to detached screen screen -r -DD violently try to grab or start a screen session if none available doing whatever it takes ESC == ^A normally (I usually redefine to ^O) Some people like ^@ (which results in ^ as ESC) ESC-? help ESC-d detach (throw into background) current screen session ESC-c open another virtual console ESC-k kill the current virtual console (or you can just exit it) ESC-t show system info (including time/date by default) ESC-: open screen command prompt at bottom of console (can enter commands normally mapped to keys etc.) ~ ':' ex-mode in vi or lynx, or w3m ESC-p/n previous / next virtual console, cycling through them ESC-# (#==0-9) select console # ESC-A give virtual console a name (or view the current console name) ESC-' pull up prompt to give a virtual console # or name & then switch ESC-" pull up virtual console selection menu ESC-[ put in copy / scroll mode in copy/scroll mode: ('.' for a register, is interpretted as the paste buffer ) (~vi cursor movement) c / C set left / right margins or set a mark (first or second) W grab word under cursor Y mark whole line y mark from start of line x eXchange current cursor position and mark a kick into append (to buffer) (instead of overwrite buffer ) mode A " *AND* set a mark J cycle through join/join with spaces/join with commas/multiple lines | move to absolute column g go to top of scroll buffer ESC-] dump paste buffer to stdout shared sessions with screen: http://www.lowlevelmanager.com/search/label/pair%20programming (courtesey local Perl Mongers chief) http://www.caikesouza.com/blog/category/linux/ (see article for permissions set up) (for user foo:) screen -S pairprog ^A :multiuser on ^A :acladd bar To make other read-only: ^A :aclchg bar -w "#" (user bar:) Then to join: screen -x foo/pairprog http://www.lafn.org/~aw585/gh.html - has some examples of setting up a text console 'desktop', and stuffing commands on startup into a program on startup with screen http://isthereanotherquestion.blogspot.com/2008/06/full-screen-ahead.html some packages/programs to interact with screen (I don't use any of these): iselect screenie byobu Some similar programs: tmux (~a ground up rewrite) dvtm (simpler, more tiling oriented) splitvt (very simple lite horizontal split) fbterm (requires frame buffer)
-- Dallas E. Legan 2015 March 04