Terminator is a must-have tool for Linux administrators. It’s a terminal emulator that supports multiple terminals via tabs, but also by dividing up its window with horizontal and vertical splits.
The user documentation is a bit sparse, in fact what you see in the man page is what you get. In this post I’ll take you through the features that I think make Terminator the best terminal emulator around.
This is terminator’s killer feature. Having multiple terminals in one window allows you to have a lot of information on screen and quickly switch between different sessions. E.g. you could be tailing a log in one window while performing actions in another. Or open the man page for a command you’re constructing. Or monitor 10 servers at once. The possibilities are endless.
The simplest way to split the pane is to right-click and select split horizontally or vertically, but it is much more efficient to use the keyboard shortcut keys:
- Ctrl+Shift+E – vErtical split
- Ctrl+Shift+O – hOrizontal split
- Alt+ArrowKeys – Navigate terminals
Grouping terminals allows you to perform the same keystrokes on multiple servers at the same time. If terminator has a no.2 feature, this is it. Obviously this can be dangerous and is no substitute for scripting and configuration management, but there are cases where it can be very useful indeed.
The simplest way to group is to click the menu on the top left of a terminal, create a new group and then add other terminals to it like so:
- Super+G – Group All
- Super+Shift+G – Ungroup All
- Super+T – Group Tab
- Super+Shift+T – Ungroup Tab
Be careful when grouping all as it groups all terminals owned by the process, including other windows that may not be visible (except those belonging to another instance). For this reason, I make a habit of only ever using Super+T or grouping manually, which groups only the current tab. That way I can be sure that I can always see what is happening.
Split panes are great but it is a pain having to manually create the desired layout by splitting the terminal window every time you start the program. Fortunately terminator can store layouts.
After setting up your terminals how you want them, right click anywhere, select preferences, then go to the layouts tab. From here click “Add”, and a layout will be created with your current settings:
You can also enter a command that will be executed when the terminal launches – I use this to open ssh sessions to servers (this is most effective if you have authorized your private key).
Once you’ve saved a layout it’s not immediately obvious how to open it, but basically you have to launch a new instance of terminator with the “-l mylayout” option. It can be useful to create a shortcut which you can then add to a toolbar or launcher:
The other options I’ve used are:
-b– borderless – works well with Gnome2 but is a bit redundant with Unity as a maximised window is borderless anyway
-T– sets the title
Profiles are also a very useful feature but I’m sure you can figure this one out yourself. An example of how you might use profiles is creating a profile for live servers and changing the background to red so you know you’re working on a live box. Under the layouts tab assign this profile to the terminal that ssh’s into your server and you’ll never type in the wrong terminal again. As long as you don’t use grouping that is…
I also changed the default profile to not display scrollbars – I prefer to use Shift+PageUp/PageDown so they were basically useless clutter.
Once you get used to terminator you’ll wonder how you ever lived without it.