May 14, 2008

Terminator runs multiple GNOME terminals in the same window

Author: Bruce Byfield

In a sense, the desktop is the best thing that ever happened to the command line. Because a virtual terminal runs in a graphical environment, it boasts all sorts of enhancements that the unadorned shell lacks -- everything from multiple tabs to easy selection of display fonts and background and foreground colors. Perhaps the resulting power and convenience explains why, even at a time when the emphasis is on giving every application a graphical interface -- no matter how inappropriately -- people still write useful utilities for virtual terminals. A good example is Terminator, a program designed to perform one simple function: displaying multiple instances of the GNOME terminal within the same window.

You do not need to be a hardcore developer to understand the usefulness of this function. Consider the default options for displaying a man file while deciding how to run a program: Either you use a tab or else open another terminal. Neither option is completely satisfactory. With a tab, you have to click back and forth between the two terminals. With a second terminal, you can view both at the same time, but you generally have to pause to rearrange the terminal windows. In both cases, the more terminals you use, the more you compound the problem.

By contrast, by opening new terminals within the same window, you have no trouble viewing them together. Moreover, if you have multiple windows open and you move away from the terminals to do something else, you only have to find one window, not two.

Currently at version 0.8.1-1, Terminator is available in a tar file from the project site, and as a native package from an increasing number of distributions, including Debian, Fedora, and Ubuntu. Its dependencies are limited to python, python-central, python-gnome2, and python-vte, all of which except the last are standard packages you may already have installed.

The basic command to start Terminator is the same as its name, and you can modify the application's behavior with a few basic commands. Adding the -m parameter starts a Terminator terminal maximized, while -f starts it full-screen. To start the application without title bars, scroll bars, or borders, add -b -- an option that is especially useful when starting maximized or full-screen. If you want to start with a profile different from your default, you can specify it with -p profile=profile name. Similarly, if you want to run a shell other than your default, you can use -e=command.

No matter how you start Terminator, taking advantage of its functionality is straightforward. You can create a new command line by splitting the current one vertically or horizontally, either using the right-click menu or keyboard shortcuts. The main criteria for choosing which option to use is mostly which gives you the most space, but, otherwise, you can subdivide the Terminator window indefinitely so far as I can see; I gave up after I had eight nested terminals.

To move between terminals, you can use either the mouse or the key command Ctrl-Tab to cycle through them, or Ctrl-Shift-N to move to the next one and Ctrl-Shift-P to move to the previous one. When you are finished, you can close all the terminals from the menu on the title bar or Ctrl-Shift-q, or close each one separately from its right-click menu or using Ctrl-Shift-w. In most other ways, working with Terminator is exactly the same as working with a standard GNOME Terminal -- but much more convenient.

The only way that Terminator differs from a standard GNOME Terminal is that it does not display the GNOME Terminal menu. That means, of course, that you cannot change profiles on the fly, change the zoom, or open a new tab using the mouse. You will also need to remember that to paste from the rest of the desktop to a terminal, the command is Shift-Ctrl-v, and not the usual Ctrl-v.

Terminator is simultaneously such a simple and such an efficient program that sooner or later it seems likely to become part of the standard GNOME Terminal features. The only mystery seems to be when that will happen -- and why such an obvious benefit wasn't added many releases ago.


  • Tools & Utilities
  • Shell & CLI
Click Here!