on
Examples of screen command usage
GNU Screen is a program which allows you run virtual consoles. The advantage is that screen’s console sessions are not broken when network connection (to machine where the console runs) breaks. But it has many other features, which make it really useful.
Basics
Let’s start with screen command. It opens a new shell session within screen.
screen
Detach screen (close but keep running on background), command
screen -d
Or shortcut (e.g. when some program runs inside screen)
Crtl+a followed by d
Print screens running on background
screen -ls
Reattachning screen (open screen running on background), is mandatory if there is more that one detached screen
screen -r <PID>
Special case - attaching screen, which is already attachted to another session
screen -d -r <PID>
Custom screen name
screen -S <name>
Screen have many features, which makes it ‘s usage very comfortable. …if were setup correctly:)
Use ~/.screenrc file
Following code extends console scrollback limit and adds an information bar to the bottom of the screen.
defscrollback 10000
hardstatus on
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a "
Multiple windows inside one screen
That’s really cool. Having multiple screen sessions and switch between them with PID number can be annoying. It is better to have only one screen session and multiple windows inside.
Ctrl+a followed by c # Create a new window/tab
Ctrl+a followed by n # Next window/tab
Ctrl+a followed by p # Previous window/tab
Scrolling inside screen
Scrolling inside screen behaves differently, than is ussual. Use following.
Ctrl+a folowed by Esc (will enter copy-mode, can scroll, Esc to return back)
Interesting resources: