osc-vnc 1.0.6

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.
Files changed (47) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +22 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +169 -0
  6. data/Rakefile +1 -0
  7. data/config/script.yml +35 -0
  8. data/examples/desktop/xstartup +5 -0
  9. data/examples/paraview/fvwm/fvwmrc +80 -0
  10. data/examples/paraview/fvwm/winxp/images/close-activedown.xpm +237 -0
  11. data/examples/paraview/fvwm/winxp/images/close-activeup.xpm +286 -0
  12. data/examples/paraview/fvwm/winxp/images/close-inactive.xpm +88 -0
  13. data/examples/paraview/fvwm/winxp/images/maximize-activedown.xpm +190 -0
  14. data/examples/paraview/fvwm/winxp/images/maximize-activeup.xpm +257 -0
  15. data/examples/paraview/fvwm/winxp/images/maximize-inactive.xpm +66 -0
  16. data/examples/paraview/fvwm/winxp/images/title-active.xpm +58 -0
  17. data/examples/paraview/fvwm/winxp/images/title-inactive.xpm +58 -0
  18. data/examples/paraview/xstartup +17 -0
  19. data/examples/totalsim-desktop/config/menus/applications.menu +84 -0
  20. data/examples/totalsim-desktop/config/menus/settings.menu +20 -0
  21. data/examples/totalsim-desktop/images/TS_LOGO.jpg +0 -0
  22. data/examples/totalsim-desktop/xlogout +8 -0
  23. data/examples/totalsim-desktop/xstartup +20 -0
  24. data/lib/osc/vnc/connview.rb +95 -0
  25. data/lib/osc/vnc/error.rb +6 -0
  26. data/lib/osc/vnc/listenable.rb +45 -0
  27. data/lib/osc/vnc/scriptview.rb +63 -0
  28. data/lib/osc/vnc/session.rb +116 -0
  29. data/lib/osc/vnc/version.rb +6 -0
  30. data/lib/osc/vnc.rb +23 -0
  31. data/osc-vnc.gemspec +26 -0
  32. data/templates/conn/awesim.mustache +1 -0
  33. data/templates/conn/jnlp.mustache +49 -0
  34. data/templates/conn/novnc.mustache +1 -0
  35. data/templates/conn/osxvnc.mustache +1 -0
  36. data/templates/conn/terminal.mustache +1 -0
  37. data/templates/conn/txt.mustache +4 -0
  38. data/templates/conn/vnc.mustache +1 -0
  39. data/templates/conn/yaml.mustache +6 -0
  40. data/templates/script/_port_helpers.mustache +28 -0
  41. data/templates/script/_setup_env.mustache +7 -0
  42. data/templates/script/_ssh_tunnel.mustache +28 -0
  43. data/templates/script/_start_vncserver.mustache +38 -0
  44. data/templates/script/_tcp_server.mustache +6 -0
  45. data/templates/script/server.mustache +46 -0
  46. data/templates/script/vnc.mustache +86 -0
  47. metadata +153 -0
@@ -0,0 +1,257 @@
1
+ /* XPM */
2
+ static char *maximize-activeup[] = {
3
+ /* columns rows colors chars-per-pixel */
4
+ "23 23 228 2",
5
+ " c black",
6
+ ". c #0F3B9D",
7
+ "X c #173E9B",
8
+ "o c #0139A0",
9
+ "O c #003DAD",
10
+ "+ c #053FB2",
11
+ "@ c #1E498D",
12
+ "# c #1E4797",
13
+ "$ c #1C439B",
14
+ "% c #1E4991",
15
+ "& c #0047A5",
16
+ "* c #0344AB",
17
+ "= c #0049A4",
18
+ "- c #034BAC",
19
+ "; c #0B4AAA",
20
+ ": c #0041B3",
21
+ "> c #014AB2",
22
+ ", c #0C53B7",
23
+ "< c #1C5EB4",
24
+ "1 c #224B8E",
25
+ "2 c #264B94",
26
+ "3 c #2A4C98",
27
+ "4 c #345BB5",
28
+ "5 c #3B61A6",
29
+ "6 c #0048C4",
30
+ "7 c #004ECD",
31
+ "8 c #004CD2",
32
+ "9 c #004EDA",
33
+ "0 c #0A4ED3",
34
+ "q c #0C4FD8",
35
+ "w c #0651C1",
36
+ "e c #0254CA",
37
+ "r c #0758C2",
38
+ "t c #0B5DC4",
39
+ "y c #085ECB",
40
+ "u c #0052D3",
41
+ "i c #005BDC",
42
+ "p c #0E51DE",
43
+ "a c #0E5BDB",
44
+ "s c #124FD0",
45
+ "d c #1C5AC8",
46
+ "f c #105FD2",
47
+ "g c #1952D4",
48
+ "h c #1C5AD7",
49
+ "j c #1858DD",
50
+ "k c #0053E1",
51
+ "l c #015AE5",
52
+ "z c #025FE8",
53
+ "x c #0852E0",
54
+ "c c #0D57ED",
55
+ "v c #0860CE",
56
+ "b c #0864D8",
57
+ "n c #1F64CF",
58
+ "m c #1463D3",
59
+ "M c #1164DD",
60
+ "N c #1568DC",
61
+ "B c #1E63D2",
62
+ "V c #1A61DE",
63
+ "C c #1B68DF",
64
+ "Z c #0060E2",
65
+ "A c #0063E9",
66
+ "S c #096DEC",
67
+ "D c #0165F4",
68
+ "F c #0068F3",
69
+ "G c #0269FD",
70
+ "H c #0A71F3",
71
+ "J c #1462E4",
72
+ "K c #1B66E3",
73
+ "L c #1C65EB",
74
+ "P c #1C6BE4",
75
+ "I c #1E6AEC",
76
+ "U c #1464F3",
77
+ "Y c #1A66F4",
78
+ "T c #1D6BF4",
79
+ "R c #1B68F8",
80
+ "E c #225DCC",
81
+ "W c #2E5FC3",
82
+ "Q c #2C5FD0",
83
+ "! c #375CC0",
84
+ "~ c #2459E4",
85
+ "^ c #2B5DE6",
86
+ "/ c #2C5BED",
87
+ "( c #2261D2",
88
+ ") c #2365DD",
89
+ "_ c #216CD7",
90
+ "` c #216ADC",
91
+ "' c #2C65D5",
92
+ "] c #3463C4",
93
+ "[ c #3464CE",
94
+ "{ c #3263D5",
95
+ "} c #3464DB",
96
+ "| c #306AD5",
97
+ " . c #376BD9",
98
+ ".. c #3B69D4",
99
+ "X. c #3D6BDA",
100
+ "o. c #3C75C9",
101
+ "O. c #3173DB",
102
+ "+. c #3B77DA",
103
+ "@. c #2363E4",
104
+ "#. c #226EE2",
105
+ "$. c #236AEF",
106
+ "%. c #2D61E2",
107
+ "&. c #2860EB",
108
+ "*. c #2665F5",
109
+ "=. c #206AF2",
110
+ "-. c #2E67F2",
111
+ ";. c #2B6AF5",
112
+ ":. c #2C73E3",
113
+ ">. c #2E70EB",
114
+ ",. c #2470F8",
115
+ "<. c #2A74F8",
116
+ "1. c #2F79F5",
117
+ "2. c #3565E0",
118
+ "3. c #3163E9",
119
+ "4. c #3069EC",
120
+ "5. c #3867E7",
121
+ "6. c #3865EA",
122
+ "7. c #3D6AE7",
123
+ "8. c #3C6BEF",
124
+ "9. c #3263F5",
125
+ "0. c #3763FB",
126
+ "q. c #3269F2",
127
+ "w. c #3B69F1",
128
+ "e. c #3D6DFB",
129
+ "r. c #3775E2",
130
+ "t. c #3274ED",
131
+ "y. c #3B74EB",
132
+ "u. c #3F73F1",
133
+ "i. c #3D72FC",
134
+ "p. c #3A7FF9",
135
+ "a. c #4564BE",
136
+ "s. c #466FB5",
137
+ "d. c #446BBE",
138
+ "f. c #4C73B6",
139
+ "g. c #5174B6",
140
+ "h. c #5176BD",
141
+ "j. c #5975BD",
142
+ "k. c #5D7CBE",
143
+ "l. c #4362C0",
144
+ "z. c #476BC5",
145
+ "x. c #466DCB",
146
+ "c. c #4E71C7",
147
+ "v. c #4773DA",
148
+ "b. c #4A73DB",
149
+ "n. c #5F6FCA",
150
+ "m. c #5373CE",
151
+ "M. c #5579C2",
152
+ "N. c #5176DE",
153
+ "B. c #527ADD",
154
+ "V. c #587CD9",
155
+ "C. c #406FE1",
156
+ "Z. c #406BFD",
157
+ "A. c #4573E5",
158
+ "S. c #4570E8",
159
+ "D. c #4678ED",
160
+ "F. c #4974E4",
161
+ "G. c #4C77EA",
162
+ "H. c #4E7EE6",
163
+ "J. c #4D7BEA",
164
+ "K. c #4673F5",
165
+ "L. c #4770FC",
166
+ "P. c #4B74FB",
167
+ "I. c #4C7BF2",
168
+ "U. c #4B7BFC",
169
+ "Y. c #5078E4",
170
+ "T. c #567BE9",
171
+ "R. c #517FF0",
172
+ "E. c #517CF9",
173
+ "W. c #6474CD",
174
+ "Q. c #6D84AE",
175
+ "!. c #6C80BE",
176
+ "~. c #5C82CC",
177
+ "^. c #5480D2",
178
+ "/. c #5682DB",
179
+ "(. c #5982DC",
180
+ "). c #5E8ADB",
181
+ "_. c #5480E5",
182
+ "`. c #5580EA",
183
+ "'. c #5789ED",
184
+ "]. c #5983E6",
185
+ "[. c #5A82EB",
186
+ "{. c #5C88E3",
187
+ "}. c #5682F4",
188
+ "|. c #5883F2",
189
+ " X c #5984FC",
190
+ ".X c #5D89F3",
191
+ "XX c #6A82C5",
192
+ "oX c #688DC4",
193
+ "OX c #6B88C8",
194
+ "+X c #668FDF",
195
+ "@X c #6992DD",
196
+ "#X c #6185E5",
197
+ "$X c #638DE2",
198
+ "%X c #628BEC",
199
+ "&X c #638CF3",
200
+ "*X c #628AFD",
201
+ "=X c #688FF1",
202
+ "-X c #6790E0",
203
+ ";X c #6590ED",
204
+ ":X c #6C94E5",
205
+ ">X c #6B94EB",
206
+ ",X c #6E96F5",
207
+ "<X c #6990FB",
208
+ "1X c #7492EC",
209
+ "2X c #799FED",
210
+ "3X c #7297FD",
211
+ "4X c #779DFB",
212
+ "5X c #7F9BF3",
213
+ "6X c #73A2E3",
214
+ "7X c #74A2E8",
215
+ "8X c #77A5F3",
216
+ "9X c #7EA1F6",
217
+ "0X c #7DA2F9",
218
+ "qX c #7FADF0",
219
+ "wX c #83ADEE",
220
+ "eX c #86A4F4",
221
+ "rX c #81A7FE",
222
+ "tX c #87A9F9",
223
+ "yX c #8FB6F5",
224
+ "uX c #8CBBFA",
225
+ "iX c #96BBFE",
226
+ "pX c #8FDCFF",
227
+ "aX c #94D9FF",
228
+ "sX c #A8CCFE",
229
+ "dX c #B2DEFA",
230
+ "fX c #B2E1FE",
231
+ "gX c #DDFDFE",
232
+ "hX c None",
233
+ /* pixels */
234
+ "hXS y v v y y y y y y y y y y y y v y y b H hX",
235
+ "Z e dXgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXdXi A ",
236
+ "> dXsXeXOXXXW.n.j.g.g.f.f.s.d.z.a.l.! 4 dXdXi ",
237
+ "* gX0XtXyXwX5X1X:X@X+X+X$X).T.T.N.b. .] 5 gX8 ",
238
+ "O gXV.iXuXwX5X1X:X:X>X;X%X&X X}.Y.b. .] 3 gX8 ",
239
+ "+ gX#XrXqX6X2X:X-X).(.B.b.T.G.G.F.C.' ! 3 gX8 ",
240
+ "O gX[.4X8X7XgXgXgXgXgXgXgXgXgXgXgXC.} Q 3 gX7 ",
241
+ "* gXb.3X,X>XgXgXgXgXgXgXgXgXgXgXgX} 2.{ 3 gX8 ",
242
+ "* gXF.*X<X%XgXgXgXgXgXgXgXgXgXgXgX2.6.{ 3 gX8 ",
243
+ ": gXF.*X*X&XgX[.J.D.w.K.6.8.-.&.gX%.4.' 2 gX8 ",
244
+ "+ gXS. X X.XgX{.I.U.i.e.i.q.*.*.gX) @.' 1 gX8 ",
245
+ ": gX7.E.}.|.gX^.`.D.K.u.y.>.$.I gX` j ' @ gX9 ",
246
+ ": gX6.P. XT.gX~./.b.`.J.| :.1.P gX#.P ( % gX9 ",
247
+ ": gX3.L.P.Y.gXoX~.c.m.x.'.r.p.K gXC Y h # gX9 ",
248
+ "6 gX3.e.P.=XgXk.m.|.|.J.I.+.>.#.gXP R j $ gX9 ",
249
+ "7 gX^ 0.P.(.gXQ.k.~.M.h.M.o.O.:.gXN U 0 $ gXk ",
250
+ "7 gX~ 9.w.b.gXgXgXgXgXgXgXgXgXgXgXb U q X gXl ",
251
+ "8 gX~ / w.w.S.F.A.A.A.y.t.<.<.,.I L c p . gXl ",
252
+ "i gXs g ^ 3.3.q.-.-.-.;.=.T R U J a x 0 ; gXz ",
253
+ "A gX_ n d E E ( ( ( B B B m m f t r e 6 < gXA ",
254
+ "F fXaX, ; ; ; ; ; ; ; ; - - > * = & : * aXfXF ",
255
+ "G D dXgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXgXdXD G ",
256
+ "hXG A z z z z z z z z z A z A z z z z z D G hX"
257
+ };
@@ -0,0 +1,66 @@
1
+ /* XPM */
2
+ static char *maximize-inactive[] = {
3
+ /* columns rows colors chars-per-pixel */
4
+ "23 23 37 1",
5
+ " c black",
6
+ ". c #3B5E9C",
7
+ "X c #3C619E",
8
+ "o c #3D63A2",
9
+ "O c #014FE3",
10
+ "+ c #42639D",
11
+ "@ c #4365A1",
12
+ "# c #4167A9",
13
+ "$ c #446AA4",
14
+ "% c #456BAB",
15
+ "& c #4867A5",
16
+ "* c #496AA5",
17
+ "= c #4A6DAC",
18
+ "- c #466CB1",
19
+ "; c #4A6EB1",
20
+ ": c #4E70AB",
21
+ "> c #4E78AE",
22
+ ", c #4C73B3",
23
+ "< c #4B78B3",
24
+ "1 c #5272AC",
25
+ "2 c #5778AF",
26
+ "3 c #5876AE",
27
+ "4 c #5374B4",
28
+ "5 c #5375B8",
29
+ "6 c #5678B6",
30
+ "7 c #5678B9",
31
+ "8 c #5877B0",
32
+ "9 c #597AB5",
33
+ "0 c #5A7BBA",
34
+ "q c #5E80BB",
35
+ "w c #6182BD",
36
+ "e c #6485C0",
37
+ "r c #668DC2",
38
+ "t c #698BC2",
39
+ "y c #6F90C4",
40
+ "u c #7999CA",
41
+ "i c None",
42
+ /* pixels */
43
+ "i>>>2>>>>>>>>>>>1>>>>>i",
44
+ "$$yuuuuuuuuuuuuuuuuut*$",
45
+ "$ytw883311:::=::::**yy$",
46
+ "$uwewww0q9999622441=&u$",
47
+ "+u4twww0q9009007441=+u+",
48
+ "&u7ewqw0969446444:-%+u&",
49
+ "+u0wwquuuuuuuuuuu4;;+u@",
50
+ "+u4qq0uuuuuuuuuuu;;1+u+",
51
+ "+u5000uuuuuuuuuuu,:;+u@",
52
+ "@u5000u666,5,5,;u;,-+u$",
53
+ "@u5000u9775555;;u=;=+u+",
54
+ "&u,707u44454,5;;u-%;Xu*",
55
+ "&u,707u44466-;,;u;;=Xu$",
56
+ "#u;774u2314;7,5-u--%+u#",
57
+ "-u;570u317745,,:u::%+u=",
58
+ "-u;542u31411>::,u--#Xu;",
59
+ ";u-551uuuuuuuuuuu--oou;",
60
+ ";u=;5;55454;,,,,---%.u;",
61
+ ",u%%;;;5,5,,;,;---%-ou<",
62
+ "<u=%%%%&%%=%%%%%ooooou<",
63
+ "<yro.+oo@oXXXXoo..oory<",
64
+ "<,yuuuuuuuuuuuuuuuuuy<<",
65
+ "i<4<<,,,<,,<,<<,,,<<,,i"
66
+ };
@@ -0,0 +1,58 @@
1
+ /* XPM */
2
+ static char *title-active[] = {
3
+ /* width height num_colors chars_per_pixel */
4
+ " 1 27 24 1",
5
+ /* colors */
6
+ ". c #0055e3",
7
+ "# c #0055e6",
8
+ "a c #0056e9",
9
+ "b c #0056eb",
10
+ "c c #0055e5",
11
+ "d c #0058f0",
12
+ "e c #0059f3",
13
+ "f c #005ef6",
14
+ "g c #0061f0",
15
+ "h c #046aff",
16
+ "i c #014ce5",
17
+ "j c #0154e2",
18
+ "k c #0158e6",
19
+ "l c #015eea",
20
+ "m c #0163fa",
21
+ "n c #0254e6",
22
+ "o c #0268fd",
23
+ "p c #005cf5",
24
+ "q c #0469ff",
25
+ "r c #046cff",
26
+ "s c #046efe",
27
+ "t c #055ffd",
28
+ "u c #2c8dff",
29
+ "v c #3b97fc",
30
+ /* pixels */
31
+ "v",
32
+ "u",
33
+ "s",
34
+ "g",
35
+ "l",
36
+ "k",
37
+ "j",
38
+ "j",
39
+ ".",
40
+ "c",
41
+ "#",
42
+ "n",
43
+ "#",
44
+ "a",
45
+ "b",
46
+ "d",
47
+ "e",
48
+ "p",
49
+ "f",
50
+ "m",
51
+ "o",
52
+ "r",
53
+ "r",
54
+ "h",
55
+ "q",
56
+ "t",
57
+ "i",
58
+ };
@@ -0,0 +1,58 @@
1
+ /* XPM */
2
+ static char *title-inactive[] = {
3
+ /* width height num_colors chars_per_pixel */
4
+ " 1 27 24 1",
5
+ /* colors */
6
+ ". c #3b63a4",
7
+ "# c #3c64a6",
8
+ "a c #3c65a7",
9
+ "b c #3c64a8",
10
+ "c c #3b64a5",
11
+ "d c #3e66ab",
12
+ "e c #3e67ad",
13
+ "f c #3f69ae",
14
+ "g c #3e6bab",
15
+ "h c #4372b3",
16
+ "i c #3c5fa5",
17
+ "j c #3c64a4",
18
+ "k c #3c65a6",
19
+ "l c #3d68a8",
20
+ "m c #406db0",
21
+ "n c #3d64a6",
22
+ "o c #4170b2",
23
+ "p c #3f69ae",
24
+ "q c #4372b3",
25
+ "r c #4372b3",
26
+ "s c #4373b2",
27
+ "t c #446cb2",
28
+ "u c #5f86b3",
29
+ "v c #698cb1",
30
+ /* pixels */
31
+ "v",
32
+ "u",
33
+ "s",
34
+ "g",
35
+ "l",
36
+ "k",
37
+ "j",
38
+ "j",
39
+ ".",
40
+ "c",
41
+ "#",
42
+ "n",
43
+ "#",
44
+ "a",
45
+ "b",
46
+ "d",
47
+ "e",
48
+ "p",
49
+ "f",
50
+ "m",
51
+ "o",
52
+ "r",
53
+ "r",
54
+ "h",
55
+ "q",
56
+ "t",
57
+ "i",
58
+ };
@@ -0,0 +1,17 @@
1
+ #!/bin/bash
2
+
3
+ XDIR=${XDIR} /usr/bin/fvwm -f ${XDIR}/fvwm/fvwmrc &
4
+
5
+ if [ "${CLUSTER}" == "glenn" ]; then
6
+ . /etc/profile.d/modules-env.sh
7
+ module load VirtualGL-2.3
8
+ module load paraview-3.8.0
9
+ elif [ "${CLUSTER}" == "oakley" ]; then
10
+ . /etc/profile.d/lmod.sh
11
+ module load virtualgl/2.3
12
+ module load paraview/3.14.1
13
+ fi
14
+
15
+ vglrun paraview
16
+
17
+ vncserver -kill $DISPLAY
@@ -0,0 +1,84 @@
1
+ <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
2
+ "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
3
+
4
+ <Menu>
5
+
6
+ <Name>Applications</Name>
7
+ <Directory>Applications.directory</Directory>
8
+
9
+ <!-- Scan legacy dirs first, as later items take priority -->
10
+ <LegacyDir>/usr/share/gnome/apps</LegacyDir>
11
+ <LegacyDir>/etc/X11/applnk</LegacyDir>
12
+
13
+ <!-- Read standard .directory and .desktop file locations -->
14
+ <KDELegacyDirs/>
15
+ <DefaultAppDirs/>
16
+ <DefaultDirectoryDirs/>
17
+
18
+ <!-- Add stock tarball installs to menus -->
19
+ <AppDir>/usr/local/share/applications</AppDir>
20
+
21
+ <!-- Read in overrides and child menus from applications.d -->
22
+ <DefaultMergeDirs/>
23
+
24
+ <!-- Add a separator after the submenus -->
25
+ <Layout><Merge type="menus"/><Separator/><Merge type="files"/></Layout>
26
+
27
+ <!-- Accessories submenu -->
28
+ <Menu>
29
+ <Name>Accessories</Name>
30
+ <Directory>Accessories.directory</Directory>
31
+ <Include>
32
+ <And>
33
+ <Category>Utility</Category>
34
+ <Not>
35
+ <Category>System</Category>
36
+ </Not>
37
+ </And>
38
+ </Include>
39
+ </Menu> <!-- End Accessories -->
40
+
41
+ <!-- System Tools-->
42
+ <Menu>
43
+ <Name>System Tools</Name>
44
+ <Directory>System.directory</Directory>
45
+ <Include>
46
+ <And>
47
+ <Category>System</Category>
48
+ <Not><Category>Screensaver</Category></Not>
49
+ <Not><Category>X-Red-Hat-ServerConfig</Category></Not>
50
+ <Not><Category>SystemSetup</Category></Not>
51
+ <Not><Category>Monitor</Category></Not>
52
+ </And>
53
+ </Include>
54
+
55
+ <Exclude>
56
+ <Filename>gdmflexiserver.desktop</Filename>
57
+ <Filename>gnome-file-roller.desktop</Filename>
58
+ <Filename>gnome-gfloppy.desktop</Filename>
59
+ <Filename>redhat-authconfig.desktop</Filename>
60
+ <Filename>redhat-usermount.desktop</Filename>
61
+ <Filename>system-config-date.desktop</Filename>
62
+ <Filename>system-config-keyboard.desktop</Filename>
63
+ <Filename>system-config-language.desktop</Filename>
64
+ <Filename>system-config-mouse.desktop</Filename>
65
+ <Filename>system-config-nfs.desktop</Filename>
66
+ <Filename>pirut.desktop</Filename>
67
+ <Filename>system-config-rootpassword.desktop</Filename>
68
+ <Filename>system-config-securitylevel.desktop</Filename>
69
+ <Filename>system-config-services.desktop</Filename>
70
+ <Filename>system-config-soundcard.desktop</Filename>
71
+ <Filename>system-config-users.desktop</Filename>
72
+ <Filename>redhat-neat.desktop</Filename>
73
+ <Filename>redhat-neat-control.desktop</Filename>
74
+ <Filename>redhat-printconf-gui.desktop</Filename>
75
+ <Filename>redhat-rhn-up2date-config.desktop</Filename>
76
+ <Filename>redhat-switchdesk.desktop</Filename>
77
+ <Filename>redhat-switchmail.desktop</Filename>
78
+ <Filename>redhat-switch-printer.desktop</Filename>
79
+ </Exclude>
80
+ </Menu> <!-- End System Tools -->
81
+
82
+ <MergeFile>applications-kmenuedit.menu</MergeFile>
83
+
84
+ </Menu> <!-- End Applications -->
@@ -0,0 +1,20 @@
1
+ <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
2
+ "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
3
+
4
+ <Menu>
5
+
6
+ <Name>Settings</Name>
7
+ <Directory>Desktop.directory</Directory>
8
+
9
+ <!-- Scan legacy dirs first, as later items take priority -->
10
+ <LegacyDir>/etc/X11/applnk</LegacyDir>
11
+ <LegacyDir>/usr/share/gnome/apps</LegacyDir>
12
+
13
+ <!-- Read standard .directory and .desktop file locations -->
14
+ <DefaultAppDirs/>
15
+ <DefaultDirectoryDirs/>
16
+
17
+ <!-- Read in overrides and child menus from applications-merged/ -->
18
+ <DefaultMergeDirs/>
19
+
20
+ </Menu> <!-- End Applications -->
@@ -0,0 +1,8 @@
1
+ #!/bin/bash
2
+
3
+ # Reset desktop background to default
4
+ rm -fr $HOME/.gconf/desktop/gnome/background
5
+
6
+ # Remove menus
7
+ rm -fr $HOME/.config/menus/applications.menu
8
+ rm -fr $HOME/.config/menus/settings.menu
@@ -0,0 +1,20 @@
1
+ #!/bin/bash
2
+
3
+ # Get directory this script is called in
4
+ DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
5
+
6
+ # Change background wallpaper and center it
7
+ gconftool-2 -t str -s /desktop/gnome/background/picture_filename $DIR/images/TS_LOGO.jpg
8
+ gconftool-2 -t str -s /desktop/gnome/background/picture_options centered
9
+
10
+ # Set background color to white
11
+ gconftool-2 -t str -s /desktop/gnome/background/color_shading_type solid
12
+ gconftool-2 -t str -s /desktop/gnome/background/primary_color \#ffffff
13
+
14
+ # Add new menus
15
+ cp $DIR/config/menus/applications.menu $HOME/.config/menus/.
16
+ cp $DIR/config/menus/settings.menu $HOME/.config/menus/.
17
+
18
+ exec /etc/X11/xinit/xinitrc
19
+
20
+ vncserver -kill $DISPLAY
@@ -0,0 +1,95 @@
1
+ require 'mustache'
2
+
3
+ module OSC
4
+ module VNC
5
+ # Provides a view for a variety of connection information templates in
6
+ # templates/conn. Extra options can be passed to this view and accessed
7
+ # directly in the mustache templates.
8
+ class ConnView < Mustache
9
+ self.template_path = CONN_TEMPLATE_PATH
10
+
11
+ # @return [Session] The session object with connection information.
12
+ attr_reader :session
13
+
14
+ # @param session [Session] The session object with the connection information.
15
+ # @param opts [Hash] The options used to construct a connection information view.
16
+ def initialize(session, opts = {})
17
+ @session = session
18
+ refresh
19
+ end
20
+
21
+ # @!method render(format, context = {})
22
+ # Generates a string from a template depending on the format name,
23
+ # current options include (:jnlp, :awesim, :terminal, :txt, :vnc,
24
+ # :yaml) (see templates/conn/*.mustache).
25
+ # @param [Symbol] format the format the connection info will be displayed in
26
+ # @param [Hash] context the context to be applied to mustache template
27
+ # @return [String] the mustache generated view of the template
28
+
29
+ # The user to use for the ssh connection.
30
+ # @return [String] the current user
31
+ def sshuser
32
+ ENV['USER']
33
+ end
34
+
35
+ # The host to use for the ssh connection.
36
+ # @return [String] the hostname for the login node
37
+ def sshhost
38
+ "#{session.script.cluster}.osc.edu"
39
+ end
40
+
41
+ # Get connection info from file generated by PBS batch job (read
42
+ # template/script/vnc.mustache).
43
+ #
44
+ # @return [ConnView] the connection view object
45
+ # @raise [InvalidPath] if connection file does not exist
46
+ # @raise [InvalidConnInfo] if connection file doesn't contain required information (i.e.: host, port, display, password)
47
+ def refresh
48
+ _get_file_contents(session.conn_file)
49
+ self
50
+ end
51
+
52
+ # Check if the method call exists on @conn_context or session.script
53
+ #
54
+ # @param method_name the method name called
55
+ # @param arguments the arguments to the call
56
+ # @param block an optional block for the call
57
+ def method_missing(method_name, *arguments, &block)
58
+ @conn_context.fetch(method_name) do
59
+ if session.script.respond_to? method_name
60
+ session.script.send method_name
61
+ else
62
+ super
63
+ end
64
+ end
65
+ end
66
+
67
+ # Checks if the method responds to an instance method, or is able to
68
+ # proxy it to @conn_context or session.script.
69
+ #
70
+ # @param method_name the method name to check
71
+ # @return [Boolean]
72
+ def respond_to_missing?(method_name, include_private = false)
73
+ @conn_context.include?(method_name) || session.script.respond_to?(method_name) || super
74
+ end
75
+
76
+
77
+ private
78
+
79
+ # Get connection information from a file.
80
+ def _get_file_contents(file)
81
+ raise InvalidPath, "connection file doesn't exist" unless File.file?(file)
82
+ _parse File.read(file)
83
+ end
84
+
85
+ # Parse out connection info from a string.
86
+ def _parse(string)
87
+ context = Hash[string.scan(/^(.*): (.*)$/)]
88
+ @conn_context = {}
89
+ context.each do |key, value|
90
+ @conn_context[key.downcase.to_sym] = value
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,6 @@
1
+ module OSC
2
+ module VNC
3
+ # Error used when a file or directory is invalid.
4
+ class InvalidPath < StandardError; end
5
+ end
6
+ end