i2cssh 1.7.1 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -1,6 +1,6 @@
1
1
  # i2cssh
2
2
 
3
- i2cssh is a http://code.google.com/p/csshx/ like tool for connecting over ssh to multiple machines. But instead of creating separate windows and having
3
+ i2cssh is a csshX (http://code.google.com/p/csshx/) like tool for connecting over ssh to multiple machines. But instead of creating separate windows and having
4
4
  a master window for input, i2cssh uses iterm2 split panes and "Send input to all sessions" (cmd-shift-i) to send commands
5
5
  to all sessions.
6
6
 
@@ -20,6 +20,7 @@ to all sessions.
20
20
  -nb, --nobroadcast Disable broadcast
21
21
  -p, --profile PROFILE Name of the iTerm2 profile (default: Default)
22
22
  -2, --iterm2 Use iTerm2 instead of iTerm
23
+ -i, --itermname NAME Name of the application to use (default: iTerm)
23
24
  -f, --file FILE Cluster file (one hostname per line)
24
25
  -c, --cluster CLUSTERNAME Name of the cluster specified in ~/.i2csshrc
25
26
  -r, --rank Send LC_RANK with the host number as environment variable
@@ -38,7 +39,7 @@ The following commands are exactly the same, however, they might serve different
38
39
 
39
40
  Using the `-l` option will override all usernames:
40
41
 
41
- $ i2css -l foo user1@host1 user2@host2
42
+ $ i2cssh -l foo user1@host1 user2@host2
42
43
 
43
44
  This will connect to both `host1` and `host2` as the user `foo`
44
45
 
@@ -66,6 +67,7 @@ Optional parameters can be used globablly or per cluster and include:
66
67
  rows: <rows> # Amount of rows
67
68
  sleep: <secs> # Seconds to sleep between creating SSH sessions
68
69
  direction: (column/row) # Direction that new sessions are created (default: column)
70
+ itermname: # iTerm app name (default: iTerm)
69
71
 
70
72
  environment: # Send the following enviroment variables
71
73
  - LC_FOO: foo
@@ -123,6 +125,10 @@ Use a specific iTerm profile
123
125
 
124
126
  Use iTerm2.app instead of iTerm.app
125
127
 
128
+ ### -i, --itermname NAME
129
+
130
+ Name of the application to use (default: iTerm). It happens sometimes iTerm isn't called iTerm. Use this parameter to override what app i2cssh interacts with.
131
+
126
132
  ### -f, --file
127
133
 
128
134
  Will read nodes from a file. These will be added to any hosts specified on the command line or in the config
@@ -139,13 +145,37 @@ Send a LC_RANK environment variable different for each host (from 0 to n)
139
145
 
140
146
  Connect to the machines a, b and c
141
147
 
148
+ ### -s, --sleep SLEEP
149
+
150
+ Wait SLEEP seconds between starting each ssh session. This will take decimals as well (0.5 for half a second)
151
+
152
+ ### -X, --extra EXTRA
153
+
154
+ Set extra ssh parameters in the form -Xk=v. For example:
155
+
156
+ i2cssh -Xi=myidentity.pem
157
+
158
+ will result in
159
+
160
+ ssh -i myidentity.pem
161
+
162
+ Or,
163
+
164
+ i2cssh -Xp=2222 -XL=8080:localhost:8080
165
+
166
+ will result in
167
+
168
+ ssh -p 2222 -L 8080:localhost:8080
169
+
142
170
  ## Known issues
143
171
 
144
172
  - i2cssh uses rb-appscript and that only seems to work on ruby 1.8.7 and breaks on 1.9.x
173
+ - appscript is no longer supported (http://appscript.sourceforge.net/status.html). This means that i2cssh might have to move to something else in the future. I haven't really looked at anything, but let me know if you find a good alternative!
145
174
 
146
175
  ## TODO
147
176
 
148
177
  - Functional parity with csshX (as far as possible)
178
+ - -X support in config file
149
179
 
150
180
  ## Contributing to i2cssh
151
181
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.7.1
1
+ 1.8.0
data/bin/i2cssh CHANGED
@@ -36,7 +36,7 @@ def set_options(config_hash, login_override=nil)
36
36
  exit 1
37
37
  end
38
38
 
39
- [:broadcast, :profile, :rank, :iterm2, :login, :columns, :rows, :sleep, :direction].each do |p|
39
+ [:broadcast, :profile, :rank, :iterm2, :login, :columns, :rows, :sleep, :direction, :itermname].each do |p|
40
40
  @i2_options[p] = config_hash[p.to_s].nil? ? @i2_options[p] : config_hash[p.to_s]
41
41
  end
42
42
 
@@ -143,6 +143,10 @@ optparse = OptionParser.new do |opts|
143
143
  'Use iTerm2 instead of iTerm' do
144
144
  opts_from_cmdline[:iterm2] = true
145
145
  end
146
+ opts.on "-i", '--itermname NAME', String,
147
+ 'Name of the application to use (default: iTerm)' do |i|
148
+ opts_from_cmdline[:itermname] = i
149
+ end
146
150
  opts.on '-s', '--sleep SLEEP', Float,
147
151
  'Number of seconds to sleep between creating SSH sessions' do |s|
148
152
  opts_from_cmdline[:sleep] = s
data/i2cssh.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "i2cssh"
8
- s.version = "1.7.1"
8
+ s.version = "1.8.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Wouter de Bie"]
12
- s.date = "2012-11-12"
12
+ s.date = "2012-11-13"
13
13
  s.description = "csshX like cluster ssh using iTerm2 panes"
14
14
  s.email = "wouter@evenflow.se"
15
15
  s.executables = ["i2cssh"]
data/lib/i2cssh.rb CHANGED
@@ -8,7 +8,7 @@ class I2Cssh
8
8
  @servers = servers
9
9
  @ssh_environment = ssh_environment
10
10
 
11
- app_name = (i2_options[:iterm2]) ? 'iTerm2' : 'iTerm'
11
+ app_name = (i2_options[:iterm2]) ? 'iTerm2' : ((i2_options[:itermname]) ? i2_options[:itermname] : 'iTerm')
12
12
 
13
13
  raise Exception.new 'No servers given' if servers.empty?
14
14
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: i2cssh
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
4
+ hash: 55
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
- - 7
9
- - 1
10
- version: 1.7.1
8
+ - 8
9
+ - 0
10
+ version: 1.8.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Wouter de Bie
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-11-12 00:00:00 Z
18
+ date: 2012-11-13 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  prerelease: false