Gavin’s Odd Bits of Code

2011-09-12 (Mon)

csshX 0.74

Filed under: MacOS X,Software — Gavin Brock @ 8:02 pm

Can’t believe it has been nearly a year without a release. This one is mostly bug fixes

–> Download:csshX 0.74 <–

Bug fixes:

  • The “extra_cluster_file” config option now works (great for sharing clusters on DropBox)
  • The –spaces option now ignored on 10.7 since mission control doesn’t have space id’s. You can still use bounds mode to drag to another space.
  • Slaves will move to the same space as the master on retile.
  • Workaround for 10.6 Scripting-Bridge boolean bug is no longer used in 10.7
  • Spaces hacks working reliably on 64bit
  • More spelling fixes

New Features:

  • Connect to one host “n” times with the “hostname+n” hostnames
  • Not really a user feature, but the source code is now under git.

Updates to wiki and macports will come soon..


  1. Gavin, csshX is great. I now smile when managing my little 10-node cluster.
    Thanks for that!

    Comment by JS Theriault — 2011-09-13 (Tue) @ 12:44 am | Reply

  2. Great stuff…I have a bunch of switches clustered into pairs with nearly-identical configurations on both. This makes it a breeze to keep things in sync and compare output from the whole cluster at once. Thanks!

    Comment by Jason B. — 2011-09-16 (Fri) @ 6:55 am | Reply

  3. Hi Gavin, I am hoping you can help. When launching csshX, it does open up a new terminal window but nothing much else happens. I get the following:

    history -d $(($HISTCMD-1)) && clear && exec ‘/usr/local/bin/csshX’ ‘–master’ ‘–sock’ ‘/var/tmp/tmp.0.tc39XV’ ‘–launchpid’ ‘23412’ ‘–screen’ ‘0’ ‘–debug’ ‘0’ ‘–tile_y’ ‘0’ ‘–tile_x’ ‘0’ ‘–login’ ‘root’
    fc: event not found: -d

    and in the parent window, the following shows up:

    No master at /usr/local/bin/csshX line 1179.

    Any quick tip / help would be greatly appreciated. Thanks again for such an amazing tool. I’ve seen it work elsewhere.

    Comment by Jean Paul — 2011-09-28 (Wed) @ 11:25 pm | Reply

    • Looks like it might be a shell related issue since it doesn’t seem to understand “history -d”. Could you open a ticket at with a few more details, such as the csshX version, the shell you are using and anything else that might be relavent.

      Comment by Gavin Brock — 2011-09-29 (Thu) @ 7:48 am | Reply

      • hmm… i also got bit by the ‘no master’ line, but when looking again, i realised i was ‘sudo -s’ , so prolly no connection to my ‘DISPLAY:0′ although in osx this might be Aqua:0 :)
        Solution was to have a plain user shell and everything worked fine. I do avoid to read Jean Pauls’ cmd-line trickery though.

        Comment by Vincent — 2012-03-17 (Sat) @ 12:40 am

      • As you discovered, running under sudo is not going to work. It’s actually because the applescript triggers the new windows to open as the logged in user, but the communications socket is owned by root.

        I’ll add a check for this case, so people don’t have to go through the same pain.

        Thanks for the info!

        Comment by Gavin Brock — 2012-03-17 (Sat) @ 5:28 pm

  4. Hi. I’ve just started using csshX and I want to thank you for such a simple and wonderful script. I’ve just got one question.

    In order to log in to several clusters I maintain, I must first ssh into a box where I can then ssh into each node within the cluster. How would I set this up within csshX? Is it possible?

    Thanks again. Looking forward to showing people this application!

    — Matt

    Comment by Matt — 2011-11-28 (Mon) @ 6:21 am | Reply

    • Glad it’s working out for you Matt.

      Tunneling through an ssh gateway is actually more of an ssh trick than a csshX one. The way I do it is with the following lines in my .ssh/config:

      Host far-away-server-??
      ProxyCommand ssh gwuser@gateway-host exec nc %h %p

      (Note the ProxyCommand should really be indented – wordpress ate my whitespace :-( )

      This is assuming your gateway machine is “gateway-host” and the remote servers are called something like “far-away-server-01”, etc. The “Host” line is actually very flexible, it can handle multiple host names or patterns.

      This all assumes you have the “nc” command available – which most OS-X’s have.

      I’ll add this to the csshX FAQ some time.

      Comment by Gavin Brock — 2011-11-28 (Mon) @ 8:17 am | Reply

  5. Hi Gavin,

    Thanks for an awesome piece of software. I don’t know what I would do without it.

    Comment by themorus — 2012-02-23 (Thu) @ 1:10 am | Reply

  6. problem of “No master” at csshX line 1179.: I faced same problem. I am using mac 10.6.8 and csshx .74 version.
    Solution is: problem is my profile settings. I use bash not the default ‘sh’. so in my home directory I have a .profile file which calls ‘bash’. once I removed it, my default shell is ‘/bin/sh’ and csshx started working fine. hope this helps.

    Comment by Krishna — 2012-05-05 (Sat) @ 3:27 am | Reply

    • Hi Krishna,

      csshX should work fine with bash, but loading it through the profile is a bit risky. If you want to use bash, or any other shell, the best way to select it on OS-X is by using “chpass -s bash” to set the default shell for your user.

      If you run into more issues, please let me know through

      … Gavin

      Comment by Gavin Brock — 2012-05-05 (Sat) @ 12:40 pm | Reply

  7. Manage Multiple SSH Sessions on Mac OS X – csshX…

    That was exactly what I was looking for, an easy to use command line tool for managing multiple ssh sessions at once. No, not Jellyfissh only managing your credentials. Something more complex, managing multiple connections at once like PAC, but w/o the…

    Trackback by mblog — 2012-07-09 (Mon) @ 10:33 am | Reply

  8. Can you show an example of how to use screen_bounds in /etc/clusters and .csshrc, please. I’m stumped. An example config file would be a plus!

    Comment by dp — 2014-02-20 (Thu) @ 4:54 pm | Reply

  9. Hi there, first of thanks for this it’s exactly what I’ve needed. I wanted to ask if there was a way to specify which folder you go to. Something like csshX cd ./MYFOLDER cd ./OTHERFOLDER . Is this possible?

    Comment by Keir Williams — 2014-02-28 (Fri) @ 7:11 pm | Reply

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create a free website or blog at

%d bloggers like this: