Screen - multiwindow screen manager with detach/re-attach
GNU screen is something every UNIX user should have in his/her toolbox for everyday work.
It is a utility that allow for multiple text consoles on a single terminal (be it xterm, iTerm or a physical console) with:
- cut & paste between all of them
- independant scrollable history
- dynamic creation/destruction of consoles
but there is more (and where the real value of screen is):
- you can detach and re-attach at any time.
That means that you can have long-time running tasks in separate consoles (like ssh on a remmote machine, IRC sessions, …) on a given machine, detach from the session, move from one physical location to another, connect to the machine through ssh and re-attach to the screen session to keep on working. No need to re-login, re-connect or anything.
That’s brilliant. More information GNU screen
After being the king of such programs (BSD has a
window(8) program but it does only them multi-window part, not detaching), the
screen codebase has become rather old and a new contender has appeared a few years ago: Tmux. It has a different architecture, more client-server based and of course the code is more modern.
Here is an article recently posted on twitter about Tmux: Practical Tmux