Omnitty SSH Multiplexer - FAQ

Note: if you don't see a navigation menu on the left, click here.

Where do I find documentation?

Well, you are looking at it. Omnitty is not sufficiently complicated to require a full manual. The man page that accompanies the program, this FAQ and the online help screen in the program (which you can call up by using the F1 menu) should suffice.

How do I use Omnitty?

After you install Omnitty, you can run it by issuing the omnitty command. Once the program is running, the first thing you have to do is add machines to the list. You can do that by pressing F5 and typing in each machine's name when prompted.

After you have added a few machines, you can move among them by pressing F2 and F3. When you type non-function keys, they will be directed to the currently selected machine, so that way you can interact with each of the machines you added.

On the bottom of the screen you will notice a "quick reference" for the most used keys. Most of the program's funcionality is triggered by function-keys; all other key presses are sent to the currently selected machine. In particular, the F1 key will bring up a menu with useful actions that you can perform (including "quit").

How is the "tagging" functionality used?

By pressing F4, you can tag machines (and untag them, of course). This feature is useful in conjunction with the multicast feature: when you turn on multicast mode (by pressing F7), the key presses you type will be directed to all tagged machines simultaneously, rather than only to the currently selected machine.

Tagging machines is also useful in conjunction with the "Delete all tagged machines" option in the F1 menu, since it allows you to mark all the machines you want to delete and then delete them all in a single operation, rather than having to delete each one separately.

How do I add several machines at once?

When you press F5 to add a machine, you can also specify a name of the form @foo, which will cause omnitty to read a file named foo in the current directory and add all the machines listed therein (one per line).

Thus, you might want to prepare some files listing sets of machines you will often add as a group, and leave them in the directory from which you usually run omnitty.

The '@' functionality is not limited to reading files. Read on.

How can I alter the '@'-adding feature?

If you want the '@' syntax for adding machines to work differently from the standard behavior (which is reading a file from the current directory), you can set the OMNITTY_AT_COMMAND environment variable to a command which will be executed when the '@' form of adding machines is used within the program. The output of that command will be interpreted as a list of machines to add (one per line).

For example, if you set OMNITTY_AT_COMMAND=/tmp/myscript.sh and then run Omnitty, adding @foo will cause Omnitty to execute /tmp/myscript.sh passing it foo as a parameter. The output from that script will be interpreted as a list of machines to add, one per line. This way, you may customize the behavior of the '@' form of machine inclusion to suit your needs. For example, if you want the '@' to add machines from a NIS netgroup, you might write the following script:

#!/bin/sh
ypmatch $1 netgroup | tr ' ' '\n' | cut -c2- | cut -d, -f1

Then you would set OMNITTY_AT_COMMAND to point to that script. This way, the '@' syntax would directly add machines from the specified NIS netgroup.

If the function keys trigger Omnitty commands, how do I actually send them to the machines?

You can't do that in the current version of Omnitty. Ideally there should be some way to "escape" a function key to be able to send it literally to the other end. But there isn't. Why don't you implement that and send me the patch? ;-)

I'd like to be able to log in directly without having to type a password on each machine. How can I do that?

First of all, if you want to type your password simultaneously on all machines you are logging onto, you might want to use the tagging/multicast functionality (previously described) to be able to type your password only once and have it be sent to all machines.

However, if you would like not to have to do that at all, you might use SSH login via keys. That has nothing to do with Omnitty, but it goes well with it because it will make SSH refrain from prompting for a password. Explaining how to do that is out of the scope of this FAQ, but there's plenty of info about it on the net (and on the SSH man pages).