NAME

csshX - Cluster SSH tool using MacOS-X Terminal.app


SYNOPSIS

csshX [--login username] [--config filename] [host1 [host2]..]

csshX [-h | -m | -v ]


DESCRIPTION

csshX is a tool to allow simultaneous control of multiple SSH sessions. host1, host2, etc. are either remote hostnames or remote cluster names. csshX will attempt to create an SSH session to each remote host in seperate Terminal.app windows. A master window will also be created. All keyboard input in the master will be sent to all the slave windows.


OPTIONS

-l username, --login username

Remote user to authenticate as.

-c configfile, --config configfile

Alternative config file to use

-h, --help

Quick summary of program usage

-m, --man

Full program man page

-v, --version

Displays the version of csshX

--sock sockfile

Sets the unix domain socket filename to be used for interprocess communication. This may be set by the user in the launcher session, possibly for security reasons.


WINDOW CONTROL

The master window allows additional windows to be opened, control of input to be selected and retiling. These are all accessed using the Ctrl-a key sombination.

Use Esc to return to input mode.

Ctrl-a c

Open a new terminal and connect to another host. Prompts for hostname. Esc cancels hostname input.

Ctrl-a Ctrl-a or Ctrl-a a

Sends a Control a (\001) character to all enabled terminals.

Ctrl-a r

Retiles all windows. Also unminimises and brings windows to front.

Ctrl-a m

Minimise all windows.

Ctrl-a x

Close all windows and exit.

Ctrl-a t

Toggle the enabled status of all windows.

Ctrl-a n

Renable all windows for input.

Ctrl-a e

Enter window selection mode. In window slection mode the following keys are available:

Arrow keys h,j,k,l

Change window selection.

e

Enable input for selected window.

d

Disnable input for selected window.

t

Toggle enable mode for selected window.

o

Disable all windows except for selected.

Esc

Return to input mode.


CONFIGURATION FILES

csshX accepts Cluster-SSH clusters and csshrc style configurations. Only a subset of attributes are currently supported, and a few attribute have been added.

CLUSTERS

The default clusters file is /etc/clusters. Additional files can be specified using the extra_cluster_file setting in any csshrc file.

The format is:

    cluster1 host1 host2
    cluster2 host3 host4

Hash '#' can be use for comments.

CSSHRC

Thee default csshrc files are /etc/csshrc, ~/.csshrc. Additional files can be specified with the --config option on the command line.

Hash '#' can be use for comments.

clusters

A list of clusters of hosts.

    clusters = cluster1 cluster2
    cluster1 = hostname1 hostname2
    cluster2 = hostname3 hostname4

Foreach cluster defined in clusters, an entry must exist with the host definitions for that cluster.

extra_cluster_file

An additional clusters configuration file to include.

    extra_cluster_file = /tmp/extra_clusters
color_master_background

(csshX only) The applescript color identifier for the background of the master window. Default: {38036,0,0} (dark red)

color_master_foreground

(csshX only) The applescript color identifier for the foreground font of the master window. Default: {65535,65535,65535} (white)

master_height

(csshX only) The height of the master window. Default: 87 pixels

color_disabled

(csshX only) The foreground font color for a disabled window. Default: {37779,37779,37779} (Mid-grey)

color_selected

(csshX only) The background for a selected window in window selection mode. Default: {17990,35209,53456} (Mid-blue)

screen_bounds

(csshX only) The bounding area of the screen to use for arranging the terminal windows. Default is the actual screen size. Format is:

    { origin_x, origin_y, width, height }
menubar_height

(csshX only) The height of the menu bar in pixels. Default: 22


BUGS

There is a race condition if you change Terminal windows while they are being opened. This is due to the inability to get a handle to a window until it is opened. Best thing to to do is to let csshX open it's windows without clicking on any of them.


CREDITS

This software is inspired by the X11 based Cluster-SSH project by Duncan Ferguson http://sourceforge.net/projects/clusterssh/. Cluster SSH is much more fully featured than csshX will ever be.

The use of TIOCSTI to feed characters into the slave terminal's input buffer was copied from the ``Perl Cookbook, 2nd Edition'' page 482, by Tom Christiansen and Nathan Torkington.


AUTHOR

Gavin Brock <gbrock@cpan.org> http://brock-family.org/gavin


COPYRIGHT AND LICENSE

Copyright 2009 by Gavin Brock <gbrock@cpan.org>.

This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.


SEE ALSO

http://clusterssh.sourceforge.net/, ssh, MacPerl perl