i2cssh 1.7.1 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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