Remotty: remote XTerm connection script Installation: To install remotty, simply move or copy the shell script into a directory in the execution path (e.g. /usr/local/bin) and create a .hostcolorsrc file in your home directory. Configuration File: The configuration file is made up of one or more host blocks. Each host block can contain the following specification lines: foreground color specification: fgc background color specification: bgc cursor color specification: csr window title: title connection program: prg <command> pre-execution command: exe <command> The host block is terminated with an end statement. Here is an example host block: host server1 fgc green bgc black csr red title Server #1 prg telnet end Some of the specification lines require special discussion: The connection program specification can be replaced with the "noprg" specification which disables remote connection for the host block, allowing remotty to be used to launch local XTerm session. I use this to launch local xterm sessions using remotty, so I don't have to think too hard about local vs. remote connections. The title line concatenates all of its arguments into a single string with spaces between each argument (similar to the behavior of the echo command if you don't quote the argument: e.g. echo hello world). Since I am using the bash built-in read command to get lines from the config file, I dont have any way to reasonably handle quoting, so you can't quote the title to insert extra spaces. If you try to put quotes around the title, the quotes will appear in the window title itself. The pre-execution command is used in conjunction with the "noprg" command in case there is anything that needs to be done to prepare the local environment before starting the local XTerm and its child shell. I use the specifically to unset a shell variable that keeps track of shell nesting (so that my shell prompt tells me if I am in a sub-shell or not, so I don't accidentally exit from the login shell), but there are likely other uses for this. Command Line Parameters: Remotty has the following usage: remotty [-d] [-e] [-g geometry] [-n num] [-r] [-t] [-x] hostname or remotty -h or remotty -v the command line flags have the following functions: -d debug output -e echo command (don't execute) -g specify XTerm geometry -h list hostnames from configuration file -n specify number of terminal windows to open -r use rsh instead of ssh -t use telnet instead of ssh -v print version and copyright info. -x trace output (bash 'set -x') Bugs: The behavior of the title configuration line is, I suppose, a bug, but I couldn't find any good work-around for it. While remotty is a very small program I am sure that there are all sorts of other ways that it can misbehave (I only use it in very constrained ways, so I don't exercise the corner cases very well). If you find a bug in remotty you can contact me to inform me of the bug (and I'll get around to fixing it when I can find time) or you can fix it yourself and send me a patch, which I will incorporate into the distribution (I will credit you for the fix as well). Licensing: Normally I license all my software under the GPL or the LGPL, but for a shell script I just don't see the point (shell scripts, by definition, are distributed in source format, so the users have full access to the source, no matter what the license), so I'm just giving remotty away with only the following caveat: THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR OF THIS PROGRAM BE LIABEL FOR DAMAGES RESULTING FROM THE USE OF THIS PROGRAM. You can contact me via email at dutky@bellatlantic.net and you can find the most recent version of remotty at my website: http://members.bellatlantic.net/~dutky