To me, windowing systems are fine things whose sole purpose is to facilitate the opening of multiple text terminal windows. I spend a lot of my $DAYJOB time typing arcana into terminal windows, connected to various systems in our environment.
I’ve previously documented my fondness for Cluster SSH; indeed, I wonder how I survived without it for so long. cssh makes it easy to perform the same action on multiple systems simultaneously. It is an indispensable tool for me now.
There are times when I want to open multiple windows on a single system; perhaps to start a process from one window while doing a tail -f of some logfile in another. Previously, I opened multiple gnome-terminal tabs, and made an ssh connection from each window. Tabbing between the two windows got to be a PITA, so I tried opening multiple terminal windows, only to have to drag them around and resize them. Not fun. cssh will happily let you say cssh somehost somehost, and you get two nicely aligned windows on the destination system, along with the cssh input box, which gets the focus by default. You then click each xterm window, type your command, and watch. Workable, but I’m not a huge fan of xterm for extended sessions, and invariably I type into the cssh input box, which sends the same command to the same system twice. The results of this can be anything but pretty.
Enter the terminator. It’s available from Fedora repositories via a yum install. Install it, type terminator from a shell prompt, and you are presented with a gnome terminal window. You then right click in the window, and are given the option to split it horizontally or vertically. Bam! Two windows, perfectly aligned. But here’s where the fun really begins. A right click or keyboard command renders the option to split these windows, again horizontally or vertically. Split. Rinse. Repeat. You will soon be in a maze of little windows, all alike, if you get carried away. Voice of experience here. Your individual windows remain in perfect alignment within the larger containing window, and life is good.
terminator has a wealth of other options, to wit:
[knelson@gypsy ~]$ terminator –help
Usage: terminator [options]Options:
-h, –help show this help message and exit
-v, –version Display program version
-d, –debug Enable debugging information (twice for debug server)
-m, –maximise Open the Terminator window maximised
-f, –fullscreen Set the window into fullscreen mode
-b, –borderless Turn off the window’s borders
-n, –no-gconf ignore gnome-terminal gconf settings
-p, –profile Specify a GNOME Terminal profile to emulate
–geometry=GEOMETRY Set the preferred size and position of the window (see
X man page)
-e COMMAND, –command=COMMAND
Execute the argument to this option inside the
terminal
-x, –execute Execute the remainder of the command line inside the
terminal
Pretty neat, eh? terminator also supports tabbed windows; it enables creation of root tabs, each of which may then be subdivided as detailed above. By enabling a configuration option extreme_tabs, you can create tabs within tabs. According to the manpage:
extreme_tabs (boolean)
If set to True, tabs can be created within other tabs. Be warned
that this can be very confusing and hard to use. Default value:
False
Very confusing is an understatement, but cool to experiment with. The Voice of Experience speaking again.
I wish that saying terminator -x ssh someuser@somehost would establish subsequent connections to somehost upon splitting the window. Alas, in the current stable version, splits open additional windows on the workstation, not the target system. If I read the development roadmap properly, this feature is being planned, along with some type of cssh functionality, enabling “type once, execute multiple”.
The terminator; a tool now firmly established in my admin bag of tricks. You can’t be an admin’s admin without good tools.
-k-

![Validate my Atom 1.0 feed [Valid Atom 1.0]](http://www.quietvoice.org/wp-images/valid-atom.png)
Thanks for the positive writeup
The “type once, execute multiple” feature you mention is now available in our development code (install bzr and run “bzr branch lp:terminator” to get a copy to play with).
You can have multiple active groupings too, so you could be working on multiple sets of servers at a time. Feedback (positive and negative) on this feature would be welcome before it appears in the next release.
The splits-opening-on-remote-host feature you mention is something that has come up recently with the appearance of ssherminator, an experimental fork of Terminator which aims to be more useful to ssh users. I’m not at all opposed to the ideas in principle, but I worry that it’s going to make our UI far too complex. Again, feedback is great.
Please feel free to drop by #terminator on freenode for a chat, or sign up for Launchpad and ask any questions, report any bugs, or help translate Terminator at http://launchpad.net/terminator/
Chris
Thanks, Chris! I checked out the latest trunk version, built the Fedora RPM, and installed it.
I’m sufficiently pleased with what I saw that it warrants a new blog post
-k-
Pingback: The Command of the Day Just got Better | ten billion butterfly sneezes