Ever since it first became available, I’ve been a huge fan of the Terminator terminal emulator, developed by Chris Jones. My favorite feature is that it allows you to split your terminal screen into multiple screens, so that multiple processes can be running at the same time under one window. Terminator also supports opacity for those who like to see their background image through their terminal session.
Example of Terminator in action:
However, with Terminator, if you wish to ssh into a server and you want to have multiple screens up within the same window using applications/processes that are all tied to your ssh session, you really can’t do it with Terminator, or any other terminal emulator that I’m aware of. You’d have to create multiple unique ssh sessions using different screens/windows within Terminator. This is not exactly ideal. A better method is to use Screen with DVTM (Dynamic Virtual Terminal Manager).
Taken from Wikipedia:
GNU Screen is a free virtual terminal multiplexer that allows a user to access multiple separate terminal sessions inside a single terminal window or remote terminal session. It is useful for dealing with multiple programs from the command line, and for separating programs from the shell that started the program.
However, one elegant function of Screen is that it allows you to disconnect from an SSH session but keep applications running in the background, and then log back in and access everything right where you left off. Screen also allows you to have multiple windows open, in a way similar to how your desktop manager supports multiple desktop windows — each screen is only visible when you choose to view that screen. It is DVTM that actually allows you to tile multiple screens within a single window or a single “page” view. Without DVTM (or some other similar tool), Screen by itself is sort of like paging through a book, where each screen is only visible when you have paged to that screen.
Login to your server or remote machine using SSH. To launch a new Screen session, simply type “screen”.
If there are any Screen sessions that are running in the background, you can list them with the -ls flag.
$ screen -ls
To access and activate an existing Screen session:
$ screen -r screenSessionName
Screen – Useful Commands:
CTRL+a c (create new screen window) CTRL+a n (navigate to next window) CTRL+a p (navigate to previous window) CTRL+a 0-9 (navigate to window #0 - #9) CTRL+a d (detach from a screen session and leave apps running in background) CTRL+a k (or 'exit' or CTRL+d) (kill or exit from the screen window that you have open)
Tile Your Screens Using DVTM
DVTM is a tool that will allow you to tile your shell so that you can have multiple shell instances within one workspace; it works well to run dvtm within Screen when using SSH. From within your Screen session, launch DVTM:
DVTM – Useful Commands:
CTRL+g c (create new window) CTRL+g i (select window in counter-clockwise fashion) CTRL+g u (select window in clockwise fashion) CTRL+g b (Bottom Stack Tiling) CTRL+g t (Vertical (top) Stack Tiling) CTRL+g g (Grid Stack Tiling) CTRL+g m (Full Screen Mode; use b, t, or g to bring view back to tiled mode)
These two tools are incredibly useful if you administer any systems remotely.
Resources – Read what others have to say about using Screen & DVTM:
- (Screen) – http://www.rackaid.com/resources/linux-screen-tutorial-and-how-to/
- (Screen) – http://duntuk.com/using-ssh-screen-session-management
- (DVTM) – http://www.brain-dump.org/projects/dvtm/
- (DVTM) – http://kmandla.wordpress.com/2009/03/01/dvtm-rocks-my-fscks/
- (SCP over SSH – will explore this more later) –