Contents of /alx-src/trunk/alx-config/alx-config/config_functions.sh
Parent Directory | Revision Log
Revision 217 -
(show annotations)
(download)
(as text)
Sat Mar 5 17:08:18 2005 UTC (19 years, 6 months ago) by niro
File MIME type: application/x-sh
File size: 21338 byte(s)
Sat Mar 5 17:08:18 2005 UTC (19 years, 6 months ago) by niro
File MIME type: application/x-sh
File size: 21338 byte(s)
test; not ready for public
1 | #!/bin/bash |
2 | # |
3 | # AutoSta_LX Konfigurations Script |
4 | # version: 0.8c |
5 | # |
6 | # Niels Rogalla <niro@magellan-linux.de> |
7 | # <rogalla@augusta-bochum.de> |
8 | # |
9 | # |
10 | # Menu Navigation Functions |
11 | # |
12 | |
13 | ##network |
14 | |
15 | setup_network() { |
16 | if [ -f $SETTINGS_TEMPLATE/menu/network/networking ] |
17 | then |
18 | mkdir -p $SETTINGS_TEMPLATE/system |
19 | rm -rf $SETTINGS_TEMPLATE/system/network |
20 | cp -R $SETTINGS_TEMPLATE/menu/network $SETTINGS_TEMPLATE/system |
21 | |
22 | networking="`cat $SETTINGS_TEMPLATE/system/network/networking`" |
23 | |
24 | |
25 | if [ "$SETUP" == "LFS" ] |
26 | then |
27 | case $networking in |
28 | dhcp) |
29 | hostname="`cat $SETTINGS_TEMPLATE/system/network/hostname`" |
30 | domain="`cat $SETTINGS_TEMPLATE/system/network/domain`" |
31 | modu[network]les="`cat $SETTINGS_TEMPLATE/system/network/modules`" |
32 | |
33 | echo "HOSTNAME=$hostname" > /etc/sysconfig/network |
34 | echo "127.0.0.1 $hostname.$domain $hostname" > /etc/hosts |
35 | |
36 | echo "ONBOOT=yes" > /etc/sysconfig/network-devices/ifconfig.eth0 |
37 | echo "NETWORKING=$networking" >> /etc/sysconfig/network-devices/ifconfig.eth0 |
38 | echo "DHCP_PROG=/sbin/dhcpcd" >> /etc/sysconfig/network-devices/ifconfig.eth0 |
39 | echo "DHCP_STOP=-k" >> /etc/sysconfig/network-devices/ifconfig.eth0 |
40 | |
41 | #echo "$modules" > /etc/modules.autoload |
42 | ;; |
43 | static) |
44 | hostname="`cat $SETTINGS_TEMPLATE/system/network/hostname`" |
45 | domain="`cat $SETTINGS_TEMPLATE/system/network/domain`" |
46 | ip="`cat $SETTINGS_TEMPLATE/system/network/ip`" |
47 | netmask="`cat $SETTINGS_TEMPLATE/system/network/netmask`" |
48 | broadcast="`cat $SETTINGS_TEMPLATE/system/network/broadcast`" |
49 | gateway="`cat $SETTINGS_TEMPLATE/system/network/gateway`" |
50 | dns="`cat $SETTINGS_TEMPLATE/system/network/dns`" |
51 | modules="`cat $SETTINGS_TEMPLATE/system/network/modules`" |
52 | |
53 | echo "HOSTNAME=$hostname" > /etc/sysconfig/network |
54 | echo "GATEWAY=$gateway" >> /etc/sysconfig/network |
55 | echo "GATEWAY_IF=eth0" >> /etc/sysconfig/network |
56 | |
57 | echo "127.0.0.1 localhost.localdomain localhost" > /etc/hosts |
58 | echo "$ip $domain $hostname" >> /etc/hosts |
59 | |
60 | echo "ONBOOT=yes" > /etc/sysconfig/network-devices/ifconfig.eth0 |
61 | echo "NETWORKING=$networking" >> /etc/sysconfig/network-devices/ifconfig.eth0 |
62 | echo "IP=$ip" >> /etc/sysconfig/network-devices/ifconfig.eth0 |
63 | echo "NETMASK=$netmask" >> /etc/sysconfig/network-devices/ifconfig.eth0 |
64 | echo "BROADCAST=$broadcast" >> /etc/sysconfig/network-devices/ifconfig.eth0 |
65 | |
66 | echo "nameserver $dns" > /etc/resolv.conf |
67 | |
68 | #echo "$modules" > /etc/modules.autoload |
69 | ;; |
70 | esac |
71 | fi |
72 | |
73 | if [ "$SETUP" == "Magellan" ] |
74 | then |
75 | hostname="`cat $SETTINGS_TEMPLATE/system/network/hostname`" |
76 | domain="`cat $SETTINGS_TEMPLATE/system/network/domain`" |
77 | |
78 | echo "HOSTNAME=$hostname" > /etc/hostname |
79 | echo "127.0.0.1 $hostname.$domain $hostname" > /etc/hosts |
80 | |
81 | |
82 | case $networking in |
83 | dhcp) |
84 | #hostname="`cat $SETTINGS_TEMPLATE/system/network/hostname`" |
85 | #domain="`cat $SETTINGS_TEMPLATE/system/network/domain`" |
86 | #modules="`cat $SETTINGS_TEMPLATE/system/network/modules`" |
87 | |
88 | #echo "HOSTNAME=$hostname" > /etc/hostname |
89 | #echo "127.0.0.1 $hostname.$domain $hostname" > /etc/hosts |
90 | |
91 | echo "ONBOOT=\"yes\"" > /etc/conf.d/net.eth0 |
92 | echo "NETWORKING=\"$networking\"" >> /etc/conf.d/net.eth0 |
93 | echo "DHCP_PROG=\"/sbin/dhcpcd\"" >> /etc/conf.d/net.eth0 |
94 | echo "DHCP_STOP=\"-k\"" >> /etc/conf.d/net.eth0 |
95 | |
96 | #echo "$modules" > /etc/modules.autoload |
97 | |
98 | ;; |
99 | static) |
100 | #hostname="`cat $SETTINGS_TEMPLATE/system/network/hostname`" |
101 | #domain="`cat $SETTINGS_TEMPLATE/system/network/domain`" |
102 | ip="`cat $SETTINGS_TEMPLATE/system/network/ip`" |
103 | netmask="`cat $SETTINGS_TEMPLATE/system/network/netmask`" |
104 | broadcast="`cat $SETTINGS_TEMPLATE/system/network/broadcast`" |
105 | gateway="`cat $SETTINGS_TEMPLATE/system/network/gateway`" |
106 | dns="`cat $SETTINGS_TEMPLATE/system/network/dns`" |
107 | #modules="`cat $SETTINGS_TEMPLATE/system/network/modules`" |
108 | |
109 | #echo "HOSTNAME=$hostname" > /etc/hostname |
110 | |
111 | #echo "127.0.0.1 localhost.localdomain localhost" > /etc/hosts |
112 | echo "$ip $domain $hostname" >> /etc/hosts |
113 | |
114 | echo "ONBOOT=\"yes\"" > /etc/conf.d/net.eth0 |
115 | echo "NETWORKING=\"$networking\"" >> /etc/conf.d/net.eth0 |
116 | echo "IP=\"$ip\"" >> /etc/conf.d/net.eth0 |
117 | echo "NETMASK=\"$netmask\"" >> /etc/conf.d/net.eth0 |
118 | echo "BROADCAST=\"$broadcast\"" >> /etc/conf.d/net.eth0 |
119 | |
120 | echo "GATEWAY=\"$gateway\"" >> /etc/conf.d/net.eth0 |
121 | echo "GATEWAY_IF=\"eth0\"" >> /etc/conf.d/net.eth0 |
122 | |
123 | echo "nameserver $dns" > /etc/resolv.conf |
124 | |
125 | #echo "$modules" > /etc/modules.autoload |
126 | ;; |
127 | esac |
128 | fi |
129 | fi |
130 | } |
131 | |
132 | setup_modules() { |
133 | if [ -f $SETTINGS_TEMPLATE/menu/modules/modules ] |
134 | then |
135 | mkdir -p $SETTINGS_TEMPLATE/system |
136 | rm -rf $SETTINGS_TEMPLATE/system/modules |
137 | cp -R $SETTINGS_TEMPLATE/menu/modules $SETTINGS_TEMPLATE/system |
138 | |
139 | modules="`cat $SETTINGS_TEMPLATE/system/modules/modules`" |
140 | |
141 | #clean /etc/modules.autoload |
142 | echo "#This file was generated with alx-config-${CFGVER}-${SETUP}" > /etc/modules.autoload |
143 | unset i |
144 | for i in ${modules} |
145 | do |
146 | echo "${i}" >> /etc/modules.autoload |
147 | done |
148 | |
149 | #check for parallel printers |
150 | modprobe lp &> /dev/null |
151 | if [ "$?" == "0" ] |
152 | then |
153 | echo "lp" >> /etc/modules.autoload |
154 | fi |
155 | fi |
156 | } |
157 | |
158 | ## xfree |
159 | get_monitor_vendor(){ |
160 | monitor="" |
161 | temp="" |
162 | while read vendor model size hsync vrefresh |
163 | do |
164 | if [ "$temp" != "$vendor" ] |
165 | then |
166 | monitor="$monitor $vendor" |
167 | temp=$vendor |
168 | fi |
169 | done << EOF |
170 | $(cat $CONFIGS_TEMPLATE/Monitors) |
171 | EOF |
172 | } |
173 | |
174 | get_monitor_model(){ |
175 | monmodel="" |
176 | while read vendor model size hsync vrefresh |
177 | do |
178 | if [ "$myvendor" == "$vendor" ] |
179 | then |
180 | monmodel="$monmodel $model" |
181 | fi |
182 | done << EOF |
183 | $(cat $CONFIGS_TEMPLATE/Monitors) |
184 | EOF |
185 | } |
186 | |
187 | get_monitor_settings(){ |
188 | while read vendor model size hsync vrefresh |
189 | do |
190 | if [ "$myvendor" == "$vendor" ] |
191 | then |
192 | if [ "$mymodel" == "$model" ] |
193 | then |
194 | mysettings="$size $hsync $vrefresh" |
195 | fi |
196 | fi |
197 | done << EOF |
198 | $(cat $CONFIGS_TEMPLATE/Monitors) |
199 | EOF |
200 | } |
201 | |
202 | setup_xfree() { |
203 | if [ -f $SETTINGS_TEMPLATE/menu/vga/vga ] |
204 | then |
205 | mkdir -p $SETTINGS_TEMPLATE/system |
206 | rm -rf $SETTINGS_TEMPLATE/system/vga |
207 | rm -rf $SETTINGS_TEMPLATE/system/mouse |
208 | rm -rf $SETTINGS_TEMPLATE/system/monitor |
209 | cp -R $SETTINGS_TEMPLATE/menu/vga $SETTINGS_TEMPLATE/system |
210 | cp -R $SETTINGS_TEMPLATE/menu/mouse $SETTINGS_TEMPLATE/system |
211 | cp -R $SETTINGS_TEMPLATE/menu/monitor $SETTINGS_TEMPLATE/system |
212 | |
213 | |
214 | MOUSEPROT="`cat $SETTINGS_TEMPLATE/system/mouse/mouse`" |
215 | VGADRIV="`cat $SETTINGS_TEMPLATE/system/vga/vga`" |
216 | vgadepth="`cat $SETTINGS_TEMPLATE/system/vga/vgadepth`" |
217 | resolution="`cat $SETTINGS_TEMPLATE/system/vga/vgares`" |
218 | |
219 | ### monitor settings lesen ### |
220 | source $SETTINGS_TEMPLATE/system/monitor/monitor |
221 | |
222 | if [ "$SETUP" == "LFS" ] |
223 | then |
224 | case $MOUSEPROT in |
225 | "IMPS/2") |
226 | sed -e "s/@VGADRIV@/$VGADRIV/g" \ |
227 | -e "s/@MOUSEDEV@/psaux/g" \ |
228 | -e "s/@MOUSEPROT@/IMPS\/2/g" \ |
229 | -e "s/@DESCRIPTION@/$myvendor $mymodel/g" \ |
230 | -e "s/@HSYNC@/$hsync/g" \ |
231 | -e "s/@VREF@/$vref/g" \ |
232 | < $XF86CONFIG > /etc/X11/XF86Config |
233 | ;; |
234 | "PS/2") |
235 | sed -e "s/@VGADRIV@/$VGADRIV/g" \ |
236 | -e "s/@MOUSEDEV@/psaux/g" \ |
237 | -e "s/@MOUSEPROT@/PS\/2/g" \ |
238 | -e "s/@DESCRIPTION@/$myvendor $mymodel/g" \ |
239 | -e "s/@HSYNC@/$hsync/g" \ |
240 | -e "s/@VREF@/$vref/g" \ |
241 | < $XF86CONFIG > /etc/X11/XF86Config |
242 | ;; |
243 | "Auto") |
244 | sed -e "s/@VGADRIV@/$VGADRIV/g" \ |
245 | -e "s/@MOUSEDEV@/ttys0/g" \ |
246 | -e "s/@MOUSEPROT@/$MOUSEPROT/g" \ |
247 | -e "s/@DESCRIPTION@/$myvendor $mymodel/g" \ |
248 | -e "s/@HSYNC@/$hsync/g" \ |
249 | -e "s/@VREF@/$vref/g" \ |
250 | < $XF86CONFIG > /etc/X11/XF86Config |
251 | ;; |
252 | esac |
253 | #ln -sf /etc/rc.d/init.d/xdm /etc/rc.d/rc0.d/K01xdm |
254 | ln -sf /etc/rc.d/init.d/xdm /etc/rc.d/rc3.d/S98xdm |
255 | ln -sf /etc/rc.d/init.d/xdm /etc/rc.d/rc5.d/S98xdm |
256 | #ln -sf /etc/rc.d/init.d/xdm /etc/rc.d/rc6.d/K01xdm |
257 | fi |
258 | |
259 | if [ "$SETUP" == "Magellan" ] |
260 | then |
261 | case $MOUSEPROT in |
262 | "IMPS/2") |
263 | sed -e "s/@VGADRIV@/$VGADRIV/g" \ |
264 | -e "s/@MOUSEDEV@/psaux/g" \ |
265 | -e "s/@MOUSEPROT@/IMPS\/2/g" \ |
266 | -e "s/@DESCRIPTION@/$myvendor $mymodel/g" \ |
267 | -e "s/@HSYNC@/$hsync/g" \ |
268 | -e "s/@VREF@/$vref/g" \ |
269 | -e "s/@RESOLUTION@/$resolution/g" \ |
270 | -e "s/@VGADEPTH@/$vgadepth/g" \ |
271 | < $XF86CONFIG > /etc/X11/XF86Config |
272 | ;; |
273 | "PS/2") |
274 | sed -e "s/@VGADRIV@/$VGADRIV/g" \ |
275 | -e "s/@MOUSEDEV@/psaux/g" \ |
276 | -e "s/@MOUSEPROT@/PS\/2/g" \ |
277 | -e "s/@DESCRIPTION@/$myvendor $mymodel/g" \ |
278 | -e "s/@HSYNC@/$hsync/g" \ |
279 | -e "s/@VREF@/$vref/g" \ |
280 | -e "s/@RESOLUTION@/$resolution/g" \ |
281 | -e "s/@VGADEPTH@/$vgadepth/g" \ |
282 | < $XF86CONFIG > /etc/X11/XF86Config |
283 | ;; |
284 | "Auto") |
285 | sed -e "s/@VGADRIV@/$VGADRIV/g" \ |
286 | -e "s/@MOUSEDEV@/ttys0/g" \ |
287 | -e "s/@MOUSEPROT@/$MOUSEPROT/g" \ |
288 | -e "s/@DESCRIPTION@/$myvendor $mymodel/g" \ |
289 | -e "s/@HSYNC@/$hsync/g" \ |
290 | -e "s/@VREF@/$vref/g" \ |
291 | -e "s/@RESOLUTION@/$resolution/g" \ |
292 | -e "s/@VGADEPTH@/$vgadepth/g" \ |
293 | < $XF86CONFIG > /etc/X11/XF86Config |
294 | ;; |
295 | esac |
296 | rc-config default 5 > /dev/null |
297 | fi |
298 | |
299 | fi |
300 | } |
301 | |
302 | |
303 | ##printers |
304 | setup_printers() { |
305 | if [ -e $SETTINGS_TEMPLATE/menu/printing ] |
306 | then |
307 | mkdir -p $SETTINGS_TEMPLATE/system |
308 | rm -rf $SETTINGS_TEMPLATE/system/printing |
309 | cp -R $SETTINGS_TEMPLATE/menu/printing $SETTINGS_TEMPLATE/system |
310 | |
311 | #zu loeschende printer |
312 | cp -R $SETTINGS_TEMPLATE/menu/delete $SETTINGS_TEMPLATE/system |
313 | |
314 | #ueberpruefen ob zu loeschende drucker existieren und dann |
315 | #diese loeschen |
316 | if [ -d $SETTINGS_TEMPLATE/system/delete ] |
317 | then |
318 | for x in $SETTINGS_TEMPLATE/system/delete/* |
319 | do |
320 | lpadmin -x $(basename ${x}) |
321 | rm ${x} |
322 | done |
323 | rm -rf $SETTINGS_TEMPLATE/system/delete |
324 | fi |
325 | |
326 | |
327 | |
328 | printers="`ls $SETTINGS_TEMPLATE/system/printing`" |
329 | |
330 | if [ "$printers" != "" ] |
331 | then |
332 | for I in $printers |
333 | do |
334 | source $SETTINGS_TEMPLATE/system/printing/$I |
335 | case $PRINTING in |
336 | lpt1) |
337 | PORT="parallel:/dev/lp0" |
338 | /usr/sbin/lpadmin -p $PRINTERNAME -E -v $PORT || echo das war nix} |
339 | |
340 | #add lp module to /etc/modules.autoload if not exist |
341 | if [ -z "$(cat /etc/modules.autoload | grep lp)" ] |
342 | then |
343 | echo "lp" >> /etc/modules.autoload |
344 | fi |
345 | ;; |
346 | com1) |
347 | #PORT="serial:/dev/ttyS0?baud=115200" |
348 | |
349 | #safer |
350 | PORT="serial:/dev/ttyS0?baud=9600+bits=8+parity=none+flow=none" |
351 | /usr/sbin/lpadmin -p $PRINTERNAME -E -v $PORT || echo das war nix} |
352 | ;; |
353 | com2) |
354 | #PORT="serial:/dev/ttyS1?baud=115200" |
355 | |
356 | #safer |
357 | PORT="serial:/dev/ttyS1?baud=9600+bits=8+parity=none+flow=none" |
358 | /usr/sbin/lpadmin -p $PRINTERNAME -E -v $PORT || echo das war nix} |
359 | ;; |
360 | lpd) |
361 | PORT="lpd://${IP}/${SHARE}" |
362 | /usr/sbin/lpadmin -p $PRINTERNAME -E -v $PORT || echo das war nix} |
363 | ;; |
364 | socket) |
365 | PORT="socket://${IP}:${SHARE}" |
366 | /usr/sbin/lpadmin -p $PRINTERNAME -E -v $PORT || echo das war nix} |
367 | ;; |
368 | esac |
369 | done |
370 | fi |
371 | fi |
372 | } |
373 | |
374 | ## ica sessions |
375 | setup_sessions() { |
376 | if [ -e $SETTINGS_TEMPLATE/menu/sessions/sessions ] |
377 | then |
378 | mkdir -p $SETTINGS_TEMPLATE/system |
379 | rm -rf $SETTINGS_TEMPLATE/system/sessions |
380 | cp -R $SETTINGS_TEMPLATE/menu/sessions $SETTINGS_TEMPLATE/system |
381 | |
382 | |
383 | SESSIONS="`cat $SETTINGS_TEMPLATE/system/sessions/sessions`" |
384 | hostname="`cat $SETTINGS_TEMPLATE/system/network/hostname`" |
385 | |
386 | #create .fluxbox, .fluxbox/init, .fluxbox/apps, .idesktop, && .ideskrc if missing |
387 | # if [ ! -d /home/${LOCAL_USER}/.fluxbox ] |
388 | # then |
389 | # #echo ".fluxbox" |
390 | # install -d -o ${LOCAL_USER} -g ${LOCAL_GROUP} /home/${LOCAL_USER}/.fluxbox |
391 | # fi |
392 | # |
393 | # if [ ! -f /home/${LOCAL_USER}/.fluxbox/init ] |
394 | # then |
395 | # #echo ".fluxbox/init" |
396 | # install -m 0644 -o root -g root ${CONFIGS_TEMPLATE}/fluxbox.init \ |
397 | # /home/${LOCAL_USER}/.fluxbox/init |
398 | # fi |
399 | # |
400 | # if [ ! -f /home/${LOCAL_USER}/.fluxbox/apps ] |
401 | # then |
402 | # #echo ".fluxbox/apps" |
403 | # install -m 0644 -o root -g root ${CONFIGS_TEMPLATE}/fluxbox.apps \ |
404 | # /home/${LOCAL_USER}/.fluxbox/apps |
405 | # fi |
406 | # |
407 | # if [ ! -d /home/${LOCAL_USER}/.idesktop ] |
408 | # then |
409 | # #echo ".idesktop" |
410 | # install -d -o ${LOCAL_USER} -g ${LOCAL_GROUP} /home/${LOCAL_USER}/.idesktop |
411 | # fi |
412 | # |
413 | # if [ ! -f /home/${LOCAL_USER}/.fluxbox/.ideskrc ] |
414 | # then |
415 | # #echo ".ideskrc" |
416 | # install -m 0644 -o root -g root ${CONFIGS_TEMPLATE}/ideskrc \ |
417 | # /home/${LOCAL_USER}/.ideskrc |
418 | # fi |
419 | |
420 | if [ -d /home/${LOCAL_USER}/.fluxbox ] |
421 | then |
422 | #echo ".fluxbox" |
423 | rm -rf /home/${LOCAL_USER}/.fluxbox |
424 | fi |
425 | |
426 | if [ -d /home/${LOCAL_USER}/.idesktop ] |
427 | then |
428 | #echo ".idesktop" |
429 | rm -rf /home/${LOCAL_USER}/.idesktop |
430 | fi |
431 | |
432 | if [ -f /home/${LOCAL_USER}/.fluxbox/.ideskrc ] |
433 | then |
434 | #echo ".ideskrc" |
435 | rm -f /home/${LOCAL_USER}/.ideskrc |
436 | fi |
437 | |
438 | if [ -d /home/${LOCAL_USER}/.icasessions ] |
439 | then |
440 | #echo ".idesktop" |
441 | rm -rf /home/${LOCAL_USER}/.icasessions |
442 | fi |
443 | |
444 | #echo ".fluxbox" |
445 | install -d -o ${LOCAL_USER} -g ${LOCAL_GROUP} /home/${LOCAL_USER}/.fluxbox |
446 | #echo ".fluxbox/init" |
447 | install -m 0644 -o root -g root ${CONFIGS_TEMPLATE}/fluxbox.init \ |
448 | /home/${LOCAL_USER}/.fluxbox/init |
449 | #echo ".fluxbox/apps" |
450 | install -m 0644 -o ${LOCAL_USER} -g ${LOCAL_GROUP} ${CONFIGS_TEMPLATE}/fluxbox.apps \ |
451 | /home/${LOCAL_USER}/.fluxbox/apps |
452 | #echo ".idesktop" |
453 | install -d -o root -g root /home/${LOCAL_USER}/.idesktop |
454 | #echo ".ideskrc" |
455 | install -m 0644 -o root -g root ${CONFIGS_TEMPLATE}/ideskrc \ |
456 | /home/${LOCAL_USER}/.ideskrc |
457 | |
458 | install -d -o ${LOCAL_USER} -g ${LOCAL_GROUP} /home/${LOCAL_USER}/.icasessions |
459 | |
460 | |
461 | |
462 | ### write fluxbox conf |
463 | echo "[begin] ($hostname)" > $FLUXBOX_PATH/menu |
464 | |
465 | for I in $SESSIONS |
466 | do |
467 | SESSION_NAME="`echo $I|cut -d '.' -f1`" |
468 | echo "[exec] ($SESSION_NAME) {$ICACLIENT $SESSIONS_TEMPLATE/$I }" >> $FLUXBOX_PATH/menu |
469 | |
470 | #write iconfile |
471 | echo "table Icon" > /home/${LOCAL_USER}/.idesktop/${SESSION_NAME}.lnk |
472 | echo "Caption: ${SESSION_NAME}" >> /home/${LOCAL_USER}/.idesktop/${SESSION_NAME}.lnk |
473 | echo "Command: ${ICACLIENT} ${SESSIONS_TEMPLATE}/${I}" >> /home/${LOCAL_USER}/.idesktop/${SESSION_NAME}.lnk |
474 | |
475 | #if SESSION_NAME.png not exist use default.png |
476 | if [ -e ${SESSIONS_TEMPLATE}/${SESSION_NAME}.png ] |
477 | then |
478 | echo "Icon: ${SESSIONS_TEMPLATE}/${SESSION_NAME}.png" >> /home/${LOCAL_USER}/.idesktop/${SESSION_NAME}.lnk |
479 | else |
480 | echo "Icon: ${SESSIONS_TEMPLATE}/default.png" >> /home/${LOCAL_USER}/.idesktop/${SESSION_NAME}.lnk |
481 | fi |
482 | echo "end" >> /home/${LOCAL_USER}/.idesktop/${SESSION_NAME}.lnk |
483 | |
484 | #session itself |
485 | install -m 0644 -o ${LOCAL_USER} -g ${LOCAL_GROUP} ${SESSIONS_TEMPLATE}/${I} \ |
486 | /home/${LOCAL_USER}/.icasessions |
487 | |
488 | #the icon |
489 | install -m 0644 -o ${LOCAL_USER} -g ${LOCAL_GROUP} ${SESSIONS_TEMPLATE}/${SESSION_NAME}.png \ |
490 | /home/${LOCAL_USER}/.icasessions |
491 | done |
492 | |
493 | echo "[nop] (__________)" >> $FLUXBOX_PATH/menu |
494 | echo "[exit] (Abmelden)" >> $FLUXBOX_PATH/menu |
495 | echo "[exec] (Neustarten) {sudo /sbin/shutdown -r now}" >> $FLUXBOX_PATH/menu |
496 | echo "[exec] (Herunterfahren) {sudo /sbin/shutdown -h now}" >> $FLUXBOX_PATH/menu |
497 | echo "[end]" >> $FLUXBOX_PATH/menu |
498 | fi |
499 | } |
500 | |
501 | get_sessions() { |
502 | SESSIONS=`ls $SESSIONS_TEMPLATE/*.ica` |
503 | declare -i M=0 |
504 | |
505 | rm -rf $WORK/sessionlist |
506 | rm -rf $WORK/sessiondialog |
507 | |
508 | echo -e "dialog \\" > $WORK/sessiondialog |
509 | echo -e "--backtitle \"$TITLE\" \\" >> $WORK/sessiondialog |
510 | echo -e "--cancel-label \"Abbrechen\" \\" >> $WORK/sessiondialog |
511 | echo -e "--ok-label \"Weiter\" \\" >> $WORK/sessiondialog |
512 | echo -e "--stdout \\" >> $WORK/sessiondialog |
513 | echo -e "--checklist \"Bitte Sessions auswaehlen:\" 14 70 7 \\" >> $WORK/sessiondialog |
514 | |
515 | for I in $SESSIONS |
516 | do |
517 | BASENAME=`basename $I` |
518 | NAME=`echo $BASENAME|cut -d '.' -f1` |
519 | M=$M+1 |
520 | |
521 | echo "\"$M\" \"$NAME\" "off" \\" >> $WORK/sessiondialog |
522 | echo "\"$M\" \"$BASENAME\"" >> $WORK/sessionlist |
523 | done |
524 | echo -e "\n" >> $WORK/sessiondialog |
525 | chmod a+x $WORK/sessiondialog |
526 | } |
527 | |
528 | check_first_boot() { |
529 | if [ -f /etc/fistboot ] |
530 | then |
531 | rm /etc/firstboot |
532 | fi |
533 | } |
534 | |
535 | settings_cleanup() { |
536 | if [ -d $SETTINGS_TEMPLATE/menu/network ] |
537 | then |
538 | rm -rf $SETTINGS_TEMPLATE/menu/network |
539 | fi |
540 | |
541 | if [ -d $SETTINGS_TEMPLATE/menu/vga ] |
542 | then |
543 | rm -rf $SETTINGS_TEMPLATE/menu/vga |
544 | fi |
545 | |
546 | if [ -d $SETTINGS_TEMPLATE/menu/mouse ] |
547 | then |
548 | rm -rf $SETTINGS_TEMPLATE/menu/mouse |
549 | fi |
550 | |
551 | if [ -d $SETTINGS_TEMPLATE/menu/monitor ] |
552 | then |
553 | rm -rf $SETTINGS_TEMPLATE/menu/monitor |
554 | fi |
555 | |
556 | if [ -d $SETTINGS_TEMPLATE/menu/printing ] |
557 | then |
558 | rm -rf $SETTINGS_TEMPLATE/menu/printing |
559 | fi |
560 | |
561 | if [ -d $SETTINGS_TEMPLATE/menu/sessions ] |
562 | then |
563 | rm -rf $SETTINGS_TEMPLATE/menu/sessions |
564 | fi |
565 | } |
566 | |
567 | |
568 | setup_password_root(){ |
569 | clear |
570 | echo "Bitte geben Sie Ihr ROOT Password ein" |
571 | passwd root |
572 | } |
573 | |
574 | setup_password_user(){ |
575 | clear |
576 | echo "Bitte geben Sie Ihr USER Password ein" |
577 | passwd ${LOCAL_USER} |
578 | } |
579 | |
580 | setup_password_samba(){ |
581 | clear |
582 | echo "Bitte geben Sie Ihr SAMBA Password ein" |
583 | smbpasswd -a root |
584 | } |
585 | |
586 | setup_password_vnc(){ |
587 | clear |
588 | echo "Bitte geben Sie Ihr VNC Password ein" |
589 | vncpasswd |
590 | } |
591 | |
592 | |
593 | #$1=servicename $2={start|stop|restart} |
594 | # service_setup samba restart |
595 | service_setup(){ |
596 | local service |
597 | local command |
598 | |
599 | service=$1 |
600 | command=$2 |
601 | |
602 | if [ -z "${service}" ] |
603 | then |
604 | echo |
605 | echo "service_setup: no servicename given ..." |
606 | exit 1 |
607 | fi |
608 | |
609 | if [ -z "${command}" ] |
610 | then |
611 | echo |
612 | echo "service_setup: no command given ..." |
613 | exit 1 |
614 | fi |
615 | |
616 | #network needs more than one service |
617 | if [ ${service} == network ] |
618 | then |
619 | /etc/init.d/modules start |
620 | /etc/init.d/localnet ${command} |
621 | /etc/init.d/${service} ${command} |
622 | else |
623 | /etc/init.d/${service} ${command} |
624 | fi |
625 | } |
626 | |
627 | #$1=service; retvals 0=ok 1=false |
628 | get_service_status(){ |
629 | local service |
630 | local CUR_IP |
631 | |
632 | service=$1 |
633 | |
634 | |
635 | if [ -z "${service}" ] |
636 | then |
637 | echo |
638 | echo "service_status: no servicename given ..." |
639 | exit 1 |
640 | fi |
641 | |
642 | if [ ${service} == network ] |
643 | then |
644 | CUR_IP=$(/sbin/ifconfig eth0 | sed -n '/addr:/s/ [^r]*..//gp') |
645 | echo "${CUR_IP}" |
646 | return 0 |
647 | else |
648 | case ${service} in |
649 | samba) |
650 | [ -n "$(pidof smbd)" ] && return 0 || echo return 1 |
651 | ;; |
652 | xdm) |
653 | source /etc/rc.config |
654 | [ -n "$(pidof ${GLOGIN})" ] && return 0 || return 1 |
655 | ;; |
656 | cups) |
657 | [ -n "$(pidof cupsd)" ] && return 0 || return 1 |
658 | ;; |
659 | inetd) |
660 | [ -n "$(pidof ${service})" ] && return 0 || return 1 |
661 | ;; |
662 | esac |
663 | fi |
664 | } |
665 | |
666 | #functions_mysql_update |
667 | save_settings_to_database(){ |
668 | #get all settings |
669 | |
670 | #network |
671 | if [ -f $SETTINGS_TEMPLATE/system/network/networking ] |
672 | then |
673 | networking="$( < $SETTINGS_TEMPLATE/system/network/networking)" |
674 | else |
675 | networking="" |
676 | fi |
677 | |
678 | if [ -f $SETTINGS_TEMPLATE/system/network/hostname ] |
679 | then |
680 | hostname="$( < $SETTINGS_TEMPLATE/system/network/hostname)" |
681 | else |
682 | hostname="" |
683 | fi |
684 | |
685 | if [ -f $SETTINGS_TEMPLATE/system/network/domain ] |
686 | then |
687 | domain="$( < $SETTINGS_TEMPLATE/system/network/domain)" |
688 | else |
689 | domain="" |
690 | fi |
691 | |
692 | if [ -f $SETTINGS_TEMPLATE/system/network/ip ] |
693 | then |
694 | ip="$( < $SETTINGS_TEMPLATE/system/network/ip)" |
695 | else |
696 | ip="" |
697 | fi |
698 | |
699 | if [ -f $SETTINGS_TEMPLATE/system/network/netmask ] |
700 | then |
701 | netmask="$( < $SETTINGS_TEMPLATE/system/network/netmask)" |
702 | else |
703 | netmask="" |
704 | fi |
705 | |
706 | if [ -f $SETTINGS_TEMPLATE/system/network/broadcast ] |
707 | then |
708 | broadcast="$( < $SETTINGS_TEMPLATE/system/network/broadcast)" |
709 | else |
710 | broadcast="" |
711 | fi |
712 | |
713 | if [ -f $SETTINGS_TEMPLATE/system/network/gateway ] |
714 | then |
715 | gateway="$( < $SETTINGS_TEMPLATE/system/network/gateway)" |
716 | else |
717 | gateway="" |
718 | fi |
719 | |
720 | if [ -f $SETTINGS_TEMPLATE/system/network/dns ] |
721 | then |
722 | dns="$( < $SETTINGS_TEMPLATE/system/network/dns)" |
723 | else |
724 | dns="" |
725 | fi |
726 | |
727 | if [ -f $SETTINGS_TEMPLATE/system/modules/modules ] |
728 | then |
729 | modules="$( < $SETTINGS_TEMPLATE/system/modules/modules)" |
730 | else |
731 | modules="" |
732 | fi |
733 | |
734 | |
735 | #write the stuff to mysql db |
736 | mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ |
737 | "update cfg_network set |
738 | module='${modules}', |
739 | domain='${domain}', |
740 | networking='${networking}', |
741 | netmask='${netmask}', |
742 | dns='${dns}', |
743 | gateway='${gateway}', |
744 | broadcast='${broadcast}', |
745 | ip='${ip}' |
746 | where serial=${ALX_SERIAL};" |
747 | |
748 | #update hostname |
749 | mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ |
750 | "update cfg_serial set |
751 | hostname='${hostname}' |
752 | where id=${ALX_SERIAL};" |
753 | |
754 | #vga |
755 | if [ -f $SETTINGS_TEMPLATE/system/mouse/mouse ] |
756 | then |
757 | mouseprot="$( < $SETTINGS_TEMPLATE/system/mouse/mouse)" |
758 | else |
759 | mouseprot="" |
760 | fi |
761 | |
762 | if [ -f $SETTINGS_TEMPLATE/system/vga/vga ] |
763 | then |
764 | vgadrv="$( < $SETTINGS_TEMPLATE/system/vga/vga)" |
765 | else |
766 | vgadrv="" |
767 | fi |
768 | |
769 | if [ -f $SETTINGS_TEMPLATE/system/vga/vgadepth ] |
770 | then |
771 | vgadepth="$( < $SETTINGS_TEMPLATE/system/vga/vgadepth)" |
772 | else |
773 | vgadepth="" |
774 | fi |
775 | |
776 | if [ -f $SETTINGS_TEMPLATE/system/vga/vgares ] |
777 | then |
778 | resolution="$( < $SETTINGS_TEMPLATE/system/vga/vgares)" |
779 | else |
780 | resolution="" |
781 | fi |
782 | |
783 | mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ |
784 | "update cfg_grafik set |
785 | module='${vgadrv}', |
786 | resolution='${resolution}', |
787 | depth='${vgadepth}', |
788 | mouse='${mouseprot}' |
789 | where serial=${ALX_SERIAL};" |
790 | |
791 | #sessions |
792 | if [ -f $SETTINGS_TEMPLATE/system/sessions/sessions ] |
793 | then |
794 | sessions="$( < $SETTINGS_TEMPLATE/system/sessions/sessions)" |
795 | else |
796 | sessions="" |
797 | fi |
798 | |
799 | if [ -n "${sessions}" ] |
800 | then |
801 | |
802 | #first delete all sessions with serial=${ALX_SERIAL} |
803 | mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ |
804 | "delete from cfg_session where serial='${ALX_SERIAL}';" |
805 | |
806 | #than add them |
807 | for i in ${sessions} |
808 | do |
809 | mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ |
810 | "insert into cfg_session( |
811 | serial, |
812 | session |
813 | ) |
814 | values( |
815 | '${ALX_SERIAL}', |
816 | '${i}' |
817 | );" |
818 | done |
819 | fi |
820 | |
821 | #printers |
822 | |
823 | #monitors |
824 | if [ -f $SETTINGS_TEMPLATE/system/monitor/monitor ] |
825 | then |
826 | source $SETTINGS_TEMPLATE/system/monitor/monitor |
827 | else |
828 | myvendor="" |
829 | mymodel="" |
830 | hsync="" |
831 | vref="" |
832 | fi |
833 | |
834 | mysql_command ${SQL_USER} ${SQL_PASS} ${SQL_HOST} ${SQL_DB} \ |
835 | "update cfg_monitor set |
836 | vendor='${myvendor}', |
837 | model='${mymodel}', |
838 | hsync='${hsync}', |
839 | vrefresh='${vref}' |
840 | where serial=${ALX_SERIAL};" |
841 | } |
Properties
Name | Value |
---|---|
svn:executable | * |