Magellan Linux

Contents of /alx-src/trunk/alx-config/alx-config/config_functions.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 217 - (show annotations) (download) (as text)
Sat Mar 5 17:08:18 2005 UTC (19 years, 2 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 *