osc-vnc 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
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