Magellan Linux

Contents of /alx-src/trunk/alx-config/alx-config/config_menu.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, 1 month ago) by niro
File MIME type: application/x-sh
File size: 31022 byte(s)
test; not ready for public

1 #!/bin/sh
2 #
3 # AutoSta_LX Konfigurations Script
4 # version: 0.8b
5 #
6 # Niels Rogalla <niro@magellan-linux.de>
7 # <rogalla@augusta-bochum.de>
8 #
9 #
10 # Menu Navigation Gui
11 #
12
13 source /etc/alx-config/config.rc
14 source /opt/alx-config/functions/mysqlfunctions
15 source /etc/alx-config/serial
16
17 #test only -del me
18 #source ./config_functions.sh
19
20 input_box() {
21 TITLE=$1
22 TEXT=$2
23 DEFAULT=$3
24 dialog \
25 --backtitle "$TITLE" \
26 --cancel-label "Abbrechen" \
27 --ok-label "Weiter" \
28 --inputbox "$TEXT" 8 70 "$DEFAULT" 2>$LOGFILE
29 if [ "$?" == "1" ]; then
30 if [ -f $LOGFILE ];
31 then
32 rm -f $LOGFILE
33 fi
34 return 0
35 fi
36 if [ "$?" == "0" ]; then
37 RETVAL=`cat $LOGFILE`
38 fi
39 }
40
41 dialog_save_data() {
42 dialog \
43 --backtitle "$TITLE" \
44 --infobox "Speichere Einstellungen ..." 3 70
45 }
46
47 dialog_save_data_db() {
48 dialog \
49 --backtitle "$TITLE" \
50 --infobox "Speichere Einstellungen in Datenbank ..." 3 70
51 }
52
53 dialog_save_data2() {
54 dialog \
55 --clear \
56 --backtitle "$TITLE" \
57 --msgbox "Einstellungen gespeichert." 5 30
58 }
59
60 dialog_reboot() {
61 dialog \
62 --backtitle "$TITLE" \
63 --infobox "Starte den PC neu ..." 3 70
64 }
65
66
67 dialog_shutdown(){
68 dialog \
69 --backtitle "$TITLE" \
70 --infobox "Fahre den PC herunter ..." 3 70
71 }
72
73
74 dialog_network_menu(){
75 I=`dialog \
76 --backtitle "$TITLE" \
77 --cancel-label "Abbrechen" \
78 --ok-label "Weiter" \
79 --stdout \
80 --menu "Konfiguration" 9 70 2 \
81 "1" "Netzwerk DHCP" \
82 "2" "Netzwerk Statisch" `
83 RES=$?
84 if [ "$RES" == "1" ];then
85 return 0
86 fi
87 if [ "$RES" == "0" ];then
88 case "$I" in
89 "1") dialog_network_dhcp;;
90 "2") dialog_network_static;;
91 esac
92 fi
93 }
94
95
96 dialog_network_dhcp(){
97 if [ -f $SETTINGS_TEMPLATE/menu/network/hostname ]
98 then
99 hostname="`cat $SETTINGS_TEMPLATE/menu/network/hostname`"
100 else
101 hostname="AutoSta_LX"
102 fi
103
104 if [ -f $SETTINGS_TEMPLATE/menu/network/domain ]
105 then
106 domain="`cat $SETTINGS_TEMPLATE/menu/network/domain`"
107 else
108 domain="DOM_AKA_NT"
109 fi
110
111
112 highlite="Hostname:"
113
114 if [ -n "$ETHMOD" ];then
115 dialog \
116 --colors \
117 --backtitle "$TITLE" \
118 --ok-label "Ok" \
119 --msgbox "Gefundene Netzwerkkarte:\n$ETH [ \Z2OK\Zn ]\n\n\nDie Karte wird dem System hinzugefügt." 10 75
120 mkdir -p $SETTINGS_TEMPLATE/menu/modules
121 echo "$ETHMOD" > $SETTINGS_TEMPLATE/menu/modules/modules
122 else
123 dialog \
124 --colors \
125 --backtitle "$TITLE" \
126 --ok-label "Ok" \
127 --msgbox "Gefundene Netzwerkkarte:\n$ETH [ \Z1FALSE\Zn ]\n\n\nDie Karte muss dem System manuell hinzugefügt werden." 10 75
128 fi
129
130 I=0
131 while test $I != 1 && test $I != 250
132 do
133 value="`dialog \
134 --backtitle "$TITLE" \
135 --stdout \
136 --cancel-label "Abbrechen" \
137 --ok-label "Weiter" \
138 --extra-label "Ändern" \
139 --default-item "$highlite" \
140 --inputmenu "Netzwerk Konfiguration (DHCP)" 16 70 9 \
141 "Hostname:" "$hostname" \
142 "Domain:" "$domain"`"
143 I=$?
144 #reads current position
145 highlite="`echo "$value" |sed -e 's/:.*//' -e 's/^RENAMED //'`:"
146 case $I in
147 1)
148 return 0
149 ;;
150 0)
151 dialog \
152 --backtitle "$TITLE" \
153 --clear \
154 --yesno "Sind folgende Einstellungen korrekt ? \n\n\
155 Network: DHCP \n\
156 Hostname: $hostname \n\
157 Domain: $domain" 15 45
158 case $? in
159 0)
160 mkdir -p $SETTINGS_TEMPLATE/menu/network
161 echo dhcp > $SETTINGS_TEMPLATE/menu/network/networking
162 echo $hostname > $SETTINGS_TEMPLATE/menu/network/hostname
163 echo $domain > $SETTINGS_TEMPLATE/menu/network/domain
164 return 0
165 ;;
166 1)
167 return 1
168 ;;
169 esac
170 ;;
171 3)
172 tag=`echo "$value" |sed -e 's/^RENAMED //' -e 's/:.*//'`
173 item=`echo "$value" |sed -e 's/^.*:[ ]*//' -e 's/[ ]*$//'`
174
175 case "$tag" in
176 Hostname)
177 hostname="$item"
178 ;;
179 Domain)
180 domain="$item"
181 ;;
182 esac
183 esac
184 done
185
186
187 return 0
188 }
189
190
191 dialog_network_static(){
192 #Liest Settings aus
193 if [ -f $SETTINGS_TEMPLATE/menu/network/ip ]
194 then
195 ip="`cat $SETTINGS_TEMPLATE/menu/network/ip`"
196 else
197 ip="128.20.40.30"
198 fi
199
200 if [ -f $SETTINGS_TEMPLATE/menu/network/netmask ]
201 then
202 netmask="`cat $SETTINGS_TEMPLATE/menu/network/netmask`"
203 else
204 netmask="255.255.0.0"
205 fi
206
207 if [ -f $SETTINGS_TEMPLATE/menu/network/broadcast ]
208 then
209 broadcast="`cat $SETTINGS_TEMPLATE/menu/network/broadcast`"
210 else
211 broadcast="128.20.0.0"
212 fi
213
214 if [ -f $SETTINGS_TEMPLATE/menu/network/dns ]
215 then
216 dns=`cat $SETTINGS_TEMPLATE/menu/network/dns`
217 else
218 dns="128.20.50.21"
219 fi
220
221 if [ -f $SETTINGS_TEMPLATE/menu/network/gateway ]
222 then
223 gateway="`cat $SETTINGS_TEMPLATE/menu/network/gateway`"
224 else
225 gateway="128.20.50.13"
226 fi
227
228 if [ -f $SETTINGS_TEMPLATE/menu/network/hostname ]
229 then
230 hostname="`cat $SETTINGS_TEMPLATE/menu/network/hostname`"
231 else
232 hostname="AutoSta_LX"
233 fi
234
235 if [ -f $SETTINGS_TEMPLATE/menu/network/domain ]
236 then
237 domain="`cat $SETTINGS_TEMPLATE/menu/network/domain`"
238 else
239 domain="DOM_AKA_NT"
240 fi
241
242 highlite="IP:"
243
244 if [ "$ETHMOD" != "kein Treiber gefunden" ];then
245 dialog \
246 --colors \
247 --backtitle "$TITLE" \
248 --ok-label "Ok" \
249 --msgbox "Gefundene Netzwerkkarte:\n$ETH [ \Z2OK\Zn ]\n\n\nDie Karte wird dem System hinzugefügt." 10 75
250 mkdir -p $SETTINGS_TEMPLATE/menu/modules
251 echo "$ETHMOD" > $SETTINGS_TEMPLATE/menu/modules/modules
252 else
253 dialog \
254 --colors \
255 --backtitle "$TITLE" \
256 --ok-label "Ok" \
257 --msgbox "Gefundene Netzwerkkarte:\n$ETH [ \Z1FALSE\Zn ]\n\n\nDie Karte muss dem System manuell hinzugefügt werden." 10 75
258 fi
259
260
261 I=0
262 while test $I != 1 && test $I != 250
263 do
264 value="`dialog \
265 --backtitle "$TITLE" \
266 --stdout \
267 --cancel-label "Abbrechen" \
268 --ok-label "Weiter" \
269 --extra-label "Ändern" \
270 --default-item "$highlite" \
271 --inputmenu "Netzwerk Konfiguration (Statisch)" 16 70 9 \
272 "IP:" "$ip" \
273 "Netmask:" "$netmask" \
274 "Broadcast:" "$broadcast" \
275 "DNS:" "$dns" \
276 "Gateway:" "$gateway" \
277 "Hostname:" "$hostname" \
278 "Domain:" "$domain"`"
279 I=$?
280 #reads current position
281 highlite="`echo "$value" |sed -e 's/:.*//'`:"
282 case $I in
283 1)
284 return 0
285 ;;
286 0)
287 dialog \
288 --backtitle "$TITLE" \
289 --clear \
290 --yesno "Sind folgende Einstellungen korrekt ? \n\n\
291 IP: $ip \n\
292 Netmask: $netmask \n\
293 Broadcast: $broadcast \n\
294 DNS: $dns \n\
295 Gateway: $gateway \n\
296 Hostname: $hostname \n\
297 Domain: $domain" 15 45
298 case $? in
299 0)
300 mkdir -p $SETTINGS_TEMPLATE/menu/network
301 echo static > $SETTINGS_TEMPLATE/menu/network/networking
302 echo $ip > $SETTINGS_TEMPLATE/menu/network/ip
303 echo $netmask > $SETTINGS_TEMPLATE/menu/network/netmask
304 echo $broadcast > $SETTINGS_TEMPLATE/menu/network/broadcast
305 echo $dns > $SETTINGS_TEMPLATE/menu/network/dns
306 echo $gateway > $SETTINGS_TEMPLATE/menu/network/gateway
307 echo $hostname > $SETTINGS_TEMPLATE/menu/network/hostname
308 echo $domain > $SETTINGS_TEMPLATE/menu/network/domain
309 return 0
310 ;;
311 1)
312 return 0
313 ;;
314 esac
315 ;;
316 3)
317 tag=`echo "$value" |sed -e 's/^RENAMED //' -e 's/:.*//'`
318 item=`echo "$value" |sed -e 's/^.*:[ ]*//' -e 's/[ ]*$//'`
319
320 case "$tag" in
321 IP)
322 ip="$item"
323 ;;
324 Netmask)
325 netmask="$item"
326 ;;
327 Broadcast)
328 broadcast="$item"
329 ;;
330 DNS)
331 dns="$item"
332 ;;
333 Gateway)
334 gateway="$item"
335 ;;
336 Hostname)
337 hostname="$item"
338 ;;
339 Domain)
340 domain="$item"
341 ;;
342 esac
343 esac
344 done
345 return 0
346 }
347
348
349 dialog_grafic_menu(){
350 I=`dialog \
351 --backtitle "$TITLE" \
352 --cancel-label "Abbrechen" \
353 --ok-label "Weiter" \
354 --stdout \
355 --menu "Konfiguration" 10 70 3 \
356 "1" "Grafikkarte konfigurieren" \
357 "2" "Monitor konfigurieren" \
358 "3" "Maus konfigurieren"`
359 RES=$?
360 if [ "$RES" == "1" ];then
361 return 0
362 fi
363 if [ "$RES" == "0" ];then
364 case "$I" in
365 "1")
366 dialog_config_vga
367 ;;
368 "2")
369 dialog_monitor_show_welcome
370 ;;
371 "3")
372 dialog_config_mouse
373 ;;
374 esac
375 fi
376
377 }
378
379 dialog_config_vga(){
380 vgamodule="`dialog \
381 --backtitle "$TITLE" \
382 --extra-button \
383 --extra-label "Treiberliste" \
384 --cancel-label "Abbrechen" \
385 --ok-label "Weiter" \
386 --stdout \
387 --inputbox "Gefundene Grafikkarte: \n$VGA" 8 70 "$VGADRIV"`"
388 returncode=$?
389 # Abbruch gedrueckt
390 if [ "$returncode" == "1" ]
391 then
392 return 0
393 fi
394 # View Database gedrueckt
395 if [ "$returncode" == "3" ]
396 then
397 dialog_vga_database
398 fi
399 # Weiter gedrueckt
400 if [ "$returncode" == "0" ]
401 then
402 mkdir -p $SETTINGS_TEMPLATE/menu/vga
403 echo "$vgamodule" > $SETTINGS_TEMPLATE/menu/vga/vga
404
405 dialog_config_resolution
406 fi
407 }
408
409
410 dialog_config_resolution(){
411 resolution=`dialog \
412 --backtitle "$TITLE" \
413 --cancel-label "Abbrechen" \
414 --ok-label "Weiter" \
415 --stdout \
416 --radiolist "Bitte wählen Sie eine Auflösung aus:" 18 70 10 \
417 "1280x1024x24" "S3 don't support this" "off" \
418 "1024x768x24" "S3 don't support this" "on" \
419 "800x600x24" "S3 don't support this" "off" \
420 "640x480x24" "S3 don't support this" "off" \
421 "1280x1024x16" "" "off" \
422 "1024x768x16" "" "off" \
423 "800x600x16" "" "off" \
424 "640x480x16" "" "off" \
425 "1280x1024x8" "" "off" \
426 "1024x768x8" "" "off" \
427 "800x600x8" "" "off" \
428 "640x480x8" "" "off"`
429 returncode=$?
430 # Abbruch gedrueckt
431 if [ "$returncode" == "1" ]
432 then
433 return 0
434 fi
435 # Weiter gedrueckt
436 if [ "$returncode" == "0" ]
437 then
438 #resturn of resolution -> "${xresolution}x${yresolution}x${vgadepth}"
439 xresolution="$(echo ${resolution}|cut -d 'x' -f1)"
440 yresolution="$(echo ${resolution}|cut -d 'x' -f2)"
441 vgadepth="$(echo ${resolution}|cut -d 'x' -f3)"
442
443 mkdir -p $SETTINGS_TEMPLATE/menu/vga
444 echo "$vgadepth" > $SETTINGS_TEMPLATE/menu/vga/vgadepth
445 echo "${xresolution}x${yresolution}" > $SETTINGS_TEMPLATE/menu/vga/vgares
446 fi
447 }
448
449 dialog_vga_database(){
450 dialog \
451 --backtitle "$TITLE" \
452 --colors \
453 --ok-label "Zurück" \
454 --msgbox "Vorhandene Treiber Module:\n \
455 Allgemein:\n \
456 Name Treibermodule\n \
457 Ati ati\n \
458 S3 s3\n \
459 Nvidia nv\n \
460 Intel i810/i710\n \
461 SiS sis\n \
462 Matrox mga\n \
463 Cirrus Logic cirrus\n \
464 Trident trident\n \
465 Tseng Labs tseng\n \
466 \nSonderfälle:\n \
467 S3 Trio64 s3\n \
468 S3 Virge[DX/GX] s3virge\n \
469 Ati Radeon radeon\n \
470 Riva128 r128\n \
471 VMWare vesa\n \
472 Unbekannt vesa\n \
473 " 25 70
474 dialog_config_vga
475 }
476
477 dialog_monitor_show_welcome(){
478 dialog \
479 --backtitle "$TITLE" \
480 --ok-label "Weiter" \
481 --cancel-label "Abbrechen" \
482 --stdout \
483 --yesno "Warnung: Bei falscher Handhabung könnte der Monitor beschädigt werden.\n\n \
484 Möchten Sie wirklich fortfahren ?" 8 80
485 RES=$?
486 if [ "$RES" == "1" ]
487 then
488 return 0
489 fi
490 if [ "$RES" == "0" ]
491 then
492 get_monitor_vendor
493 dialog_monitor_show_vendor
494 fi
495 }
496
497 dialog_monitor_show_vendor(){
498 echo "dialog \\" > /tmp/montemp.sh
499 echo "--backtitle \"$TITLE\" \\" >> /tmp/montemp.sh
500 echo "--ok-label \"Weiter\" \\" >> /tmp/montemp.sh
501 echo "--cancel-label \"Abbrechen\" \\" >> /tmp/montemp.sh
502 echo "--stdout \\" >> /tmp/montemp.sh
503 echo "--menu \\" >> /tmp/montemp.sh
504 echo "\"Bitte wählen Sie einen Hersteller aus:\n\n\" 25 70 15 \\" >> /tmp/montemp.sh
505
506 for I in $monitor
507 do
508 echo -e "\"$I\" \"\" \\" >> /tmp/montemp.sh
509 done
510 echo -e "\n" >> /tmp/montemp.sh
511
512 chmod a+x /tmp/montemp.sh
513
514 myvendor="`/tmp/montemp.sh`"
515 RES=$?
516
517 if [ "$RES" == "1" ]
518 then
519 return 0
520 fi
521 if [ "$RES" == "0" ]
522 then
523 get_monitor_model
524 dialog_monitor_show_model
525 fi
526 }
527
528 dialog_monitor_show_model(){
529 echo "dialog \\" > /tmp/montemp.sh
530 echo "--backtitle \"$TITLE\" \\" >> /tmp/montemp.sh
531 echo "--ok-label \"Weiter\" \\" >> /tmp/montemp.sh
532 echo "--cancel-label \"Abbrechen\" \\" >> /tmp/montemp.sh
533 echo "--stdout \\" >> /tmp/montemp.sh
534 echo "--colors \\" >> /tmp/montemp.sh
535 echo "--menu \\" >> /tmp/montemp.sh
536 echo "\"Bitte wählen Sie das Modell aus:\n\nHersteller: \Z1$myvendor\" 25 70 15 \\" >> /tmp/montemp.sh
537
538 for I in $monmodel
539 do
540 echo -e "\"$I\" \"\" \\" >> /tmp/montemp.sh
541 done
542 echo -e "\n" >> /tmp/montemp.sh
543
544 chmod a+x /tmp/montemp.sh
545
546 mymodel="`/tmp/montemp.sh`"
547 RES=$?
548
549 if [ "$RES" == "1" ]
550 then
551 ### ein menupunk zurueck ###
552 get_monitor_vendor
553 dialog_monitor_show_vendor
554 fi
555 if [ "$RES" == "0" ]
556 then
557 get_monitor_settings
558 dialog_monitor_show_settings
559 fi
560 }
561
562 dialog_monitor_show_settings(){
563 dialog \
564 --backtitle "$TITLE" \
565 --ok-label "Weiter" \
566 --cancel-label "Abbrechen" \
567 --stdout \
568 --colors \
569 --yesno \
570 "Sollen diese Einstellungen übernommen werden ?\n\n \
571 Monitortyp: \Z3$myvendor $mymodel\Zn \n\n \
572 Sync-line: \Z3$mysettings" 10 70
573 RES=$?
574
575 if [ "$RES" == "1" ]
576 then
577 return 0
578 fi
579 if [ "$RES" == "0" ]
580 then
581 mkdir -p $SETTINGS_TEMPLATE/menu/monitor
582 ### normale settings ###
583 #local hsync="`echo $mysettings|cut -d ' ' -f2`"
584 #local vref="`echo $mysettings|cut -d ' ' -f3`"
585
586 ### bugfix wegen dem / in der Monitors file ###
587 ###############################################
588 local hsync="`echo $mysettings|cut -d ' ' -f2|sed -e 's/\//-/'`"
589 local vref="`echo $mysettings|cut -d ' ' -f3|sed -e 's/\//-/'`"
590 myvendor="`echo $myvendor|sed -e 's/\//-/'`"
591 mymodel="`echo $mymodel|sed -e 's/\//-/'`"
592 ###############################################
593
594 ### Settings schreiben ###
595 echo "hsync=\"$hsync\"" > $SETTINGS_TEMPLATE/menu/monitor/monitor
596 echo "vref=\"$vref\"" >> $SETTINGS_TEMPLATE/menu/monitor/monitor
597 echo "myvendor=\"$myvendor\"" >> $SETTINGS_TEMPLATE/menu/monitor/monitor
598 echo "mymodel=\"$mymodel\"" >> $SETTINGS_TEMPLATE/menu/monitor/monitor
599 fi
600 }
601
602 dialog_config_mouse(){
603 I=`dialog \
604 --backtitle "$TITLE" \
605 --ok-label "Weiter" \
606 --cancel-label "Abbrechen" \
607 --stdout \
608 --radiolist "Bitte wählen Sie den Maus-Typ aus:" 14 70 3 \
609 "IMPS/2" "PS/2 Maus mit Scrollrad" "on" \
610 "PS/2" "PS/2 Maus ohne Scrollrad" "off" \
611 "Auto" "Auto Erkennung oder Serielle Maus" "off"`
612 RES=$?
613 if [ "$RES" == "1" ]
614 then
615 return 0
616 fi
617 if [ "$RES" == "0" ]
618 then
619 case $I in
620 IMPS/2)
621 mkdir -p $SETTINGS_TEMPLATE/menu/mouse
622 echo "IMPS/2" > $SETTINGS_TEMPLATE/menu/mouse/mouse
623 ;;
624 PS/2)
625 mkdir -p $SETTINGS_TEMPLATE/menu/mouse
626 echo "PS/2" > $SETTINGS_TEMPLATE/menu/mouse/mouse
627 ;;
628 Auto)
629 mkdir -p $SETTINGS_TEMPLATE/menu/mouse
630 echo "Auto" > $SETTINGS_TEMPLATE/menu/mouse/mouse
631 ;;
632 esac
633 fi
634 }
635
636 dialog_printing_menu(){
637
638 if [ -z `ls $SETTINGS_TEMPLATE/menu/printing` ]
639 then
640 printers="none"
641 else
642 printers="`ls $SETTINGS_TEMPLATE/menu/printing`"
643 fi
644
645 I="`dialog \
646 --backtitle "$TITLE" \
647 --cancel-label "Abbrechen" \
648 --ok-label "Weiter" \
649 --colors \
650 --stdout \
651 --menu "Drucker Einstellungen \n\n\
652 vorhandene Drucker:\n\
653 $printers" 13 70 3 \
654 "1" "Drucker einrichten" \
655 "2" "Drucker entfernen" \
656 "3" "Drucker Status" `"
657 RES=$?
658 if [ "$RES" == "1" ];then
659 return 0
660 fi
661 if [ "$RES" == "0" ];then
662 case $I in
663 "1")
664 dialog_printing_addprinter
665 ;;
666 "2")
667 dialog_printing_delprinter
668 ;;
669 "3")
670 dialog_printing_status
671 ;;
672 esac
673 fi
674 }
675
676 dialog_printing_addprinter() {
677 PORT="`dialog \
678 --backtitle "$TITLE" \
679 --cancel-label "Abbrechen" \
680 --ok-label "Weiter" \
681 --stdout \
682 --radiolist "Bitte den Anschluss auswählen:" 14 70 5 \
683 "1" "LPT1" "on" \
684 "2" "COM1" "off" \
685 "3" "COM2" "off" \
686 "4" "LPR/LPD" "off" \
687 "5" "Socket" "off" `"
688 RES=$?
689 if [ "$RES" == "1" ];then
690 return 0
691 fi
692
693 PRINTERNAME="`dialog \
694 --backtitle "$TITLE" \
695 --cancel-label "Abbrechen" \
696 --ok-label "Weiter" \
697 --stdout \
698 --inputbox "Bitte den Druckernamen angeben" 8 70 `"
699 RES=$?
700 if [ "$RES" == "1" ];then
701 return 0
702 fi
703
704 if [ "$PORT" == "1" ];then
705 dialog \
706 --backtitle "$TITLE" \
707 --clear \
708 --yesno "Sind folgende Einstellungen korrekt ? \n\n\
709 Printing: LPT1 \n\
710 Druckername: $PRINTERNAME" 15 45
711
712 case $? in
713 0)
714 mkdir -p $SETTINGS_TEMPLATE/menu/printing
715 echo "PRINTERNAME=$PRINTERNAME" > $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
716 echo "PRINTING=lpt1" >> $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
717 echo "IP=none" >> $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
718 echo "SHARE=none" >> $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
719 return 0
720 ;;
721 1)
722 return 1
723 ;;
724 esac
725 fi
726
727 if [ "$PORT" == "2" ];then
728 dialog \
729 --clear \
730 --backtitle "$TITLE" \
731 --yesno "Sind folgende Einstellungen korrekt ? \n\n\
732 Printing: COM1 \n\
733 Druckername: $PRINTERNAME" 15 45
734
735 case $? in
736 0)
737 mkdir -p $SETTINGS_TEMPLATE/menu/printing
738 echo "PRINTERNAME=$PRINTERNAME" > $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
739 echo "PRINTING=com1" >> $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
740 echo "IP=none" >> $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
741 echo "SHARE=none" >> $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
742 return 0
743 ;;
744 1)
745 return 1
746 ;;
747 esac
748 fi
749
750 if [ "$PORT" == "3" ];then
751 dialog \
752 --backtitle "$TITLE" \
753 --clear \
754 --yesno "Sind folgende Einstellungen korrekt ? \n\n\
755 Printing: COM2 \n\
756 Druckername: $PRINTERNAME" 15 45
757
758 case $? in
759 0)
760 mkdir -p $SETTINGS_TEMPLATE/menu/printing
761 echo "PRINTERNAME=$PRINTERNAME" > $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
762 echo "PRINTING=com2" >> $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
763 echo "IP=none" >> $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
764 echo "SHARE=none" >> $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
765 return 0
766 ;;
767 1)
768 return 1
769 ;;
770 esac
771 fi
772
773
774 if [ "$PORT" == "4" ];then
775 highlite="Hostname:"
776 printerip="128.20.55.1"
777 printershare="L_DUMMY_1"
778
779 I=0
780 while test $I != 1 && test $I != 250
781 do
782 value="`dialog \
783 --backtitle "$TITLE" \
784 --stdout \
785 --cancel-label "Abbrechen" \
786 --ok-label "Weiter" \
787 --extra-label "Aendern" \
788 --default-item "$highlite" \
789 --inputmenu "Printer Einstellungen [LPR/LPD]" 16 70 9 \
790 "IP:" "$printerip" \
791 "Share:" "$printershare" `"
792 I=$?
793 #reads current position
794 highlite="`echo "$value" |sed -e 's/:.*//'`:"
795 case $I in
796 1)
797 return 0
798 ;;
799 0)
800 dialog \
801 --backtitle "$TITLE" \
802 --clear \
803 --yesno "Sind folgende Einstellungen korrekt ? \n\n\
804 Printing: LPD/LPR \n\
805 Druckername: $PRINTERNAME \n\
806 IP: $printerip \n\
807 Share: $printershare" 15 45
808 case $? in
809 0)
810 mkdir -p $SETTINGS_TEMPLATE/menu/printing
811 echo "PRINTERNAME=$PRINTERNAME" > $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
812 echo "PRINTING=lpd" >> $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
813 echo "IP=$printerip" >> $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
814 echo "SHARE=$printershare" >> $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
815 return 0
816 ;;
817 1)
818 return 1
819 ;;
820 esac
821 ;;
822 3)
823 tag=`echo "$value" |sed -e 's/^RENAMED //' -e 's/:.*//'`
824 item=`echo "$value" |sed -e 's/^.*:[ ]*//' -e 's/[ ]*$//'`
825
826 case "$tag" in
827 IP)
828 printerip="$item"
829 ;;
830 Share)
831 printershare="$item"
832 ;;
833 esac
834 esac
835 done
836 fi
837
838
839 if [ "$PORT" == "5" ];then
840 highlite="Hostname:"
841 printerip="128.20.55.1"
842 printershare="9100"
843
844 I=0
845 while test $I != 1 && test $I != 250
846 do
847 value="`dialog \
848 --backtitle "$TITLE" \
849 --stdout \
850 --cancel-label "Abbrechen" \
851 --ok-label "Weiter" \
852 --extra-label "Ändern" \
853 --default-item "$highlite" \
854 --inputmenu "Printer Einstellungen [Seriell]" 16 70 9 \
855 "IP:" "$printerip" \
856 "Port:" "$printershare"`"
857 I=$?
858 #reads current position
859 highlite="`echo "$value" |sed -e 's/:.*//'`:"
860 case $I in
861 1)
862 return 0
863 ;;
864 0)
865 dialog \
866 --backtitle "$TITLE" \
867 --clear \
868 --yesno "Sind folgende Einstellungen korrekt ? \n\n\
869 Printing: Seriell \n\
870 Druckername: $PRINTERNAME \n\
871 IP: $printerip \n\
872 Share: $printershare" 15 45
873 case $? in
874 0)
875 mkdir -p $SETTINGS_TEMPLATE/menu/printing
876 echo "PRINTERNAME=$PRINTERNAME" > $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
877 echo "PRINTING=socket" >> $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
878 echo "IP=$printerip" >> $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
879 echo "SHARE=$printershare" >> $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
880
881 return 0
882 ;;
883 1)
884 return 1
885 ;;
886 esac
887 ;;
888 3)
889 tag=`echo "$value" |sed -e 's/^RENAMED //' -e 's/:.*//'`
890 item=`echo "$value" |sed -e 's/^.*:[ ]*//' -e 's/[ ]*$//'`
891
892 case "$tag" in
893 IP)
894 printerip="$item"
895 ;;
896 Share)
897 printershare="$item"
898 ;;
899 esac
900 esac
901 done
902 fi
903
904 }
905
906 dialog_printing_delprinter() {
907 if [ -z `ls $SETTINGS_TEMPLATE/menu/printing` ]
908 then
909 printers="none"
910 else
911 printers="`ls $SETTINGS_TEMPLATE/menu/printing`"
912 fi
913
914 if [ "$printers" != "none" ]
915 then
916
917 PRINTERNAME="`dialog \
918 --backtitle "$TITLE" \
919 --cancel-label "Abbrechen" \
920 --ok-label "Weiter" \
921 --stdout \
922 --inputbox "Bitte den Druckernamen eingeben:\n$printers" 8 70`"
923 RES=$?
924 if [ "$RES" == "1" ];then
925 return 0
926 fi
927 if [ "$RES" == "0" ];then
928 source $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME
929
930 dialog \
931 --backtitle "$TITLE" \
932 --clear \
933 --yesno "Soll folgender Drucker wirklich gelöscht werden ? \n\n\
934 Druckername: $PRINTERNAME \n\
935 Printing: $PRINTING \n\
936 IP: $IP \n\
937 Share: $SHARE" 15 45
938 case $? in
939 0)
940 mkdir -p $SETTINGS_TEMPLATE/menu/delete
941 mv $SETTINGS_TEMPLATE/menu/printing/$PRINTERNAME $SETTINGS_TEMPLATE/menu/delete
942 return 0
943 ;;
944 1)
945 return 1
946 ;;
947 esac
948 fi
949 else
950 dialog \
951 --backtitle "$TITLE" \
952 --clear \
953 --ok-label "Weiter" \
954 --msgbox "Keine Drucker zum löschen vorhanden." 5 40
955
956 fi
957 }
958
959 dialog_printing_status() {
960 sleep 1
961 }
962
963 dialog_sessions(){
964 get_sessions
965 AUSWAHL=`$WORK/sessiondialog`
966 RES=$?
967 if [ "$RES" == "1" ];then
968 return 0
969 fi
970 if [ "$RES" == "0" ];then
971 mkdir -p $SETTINGS_TEMPLATE/menu/sessions
972 ## Inhalt von sessions loeschen
973 echo -n "" > $SETTINGS_TEMPLATE/menu/sessions/sessions
974
975 for I in $AUSWAHL
976 do
977 SESSIONS=`cat $WORK/sessionlist|grep $I|cut -d ' ' -f2`
978 SESSIONS=`echo $SESSIONS|cut -d '"' -f2`
979 echo "$SESSIONS" >> $SETTINGS_TEMPLATE/menu/sessions/sessions
980
981 done
982 fi
983 }
984
985 dialog_check_hardware(){
986 if [ $VGADRIV != "kein Treiber gefunden" ]
987 then
988 VGACHECK="[ \Z2OK\Zn ]"
989 else
990 VGACHECK="[ \Z1FALSE\Zn ]"
991 fi
992
993 if [ -n "${ETHMOD}" ]
994 then
995 ETHCHECK="[ \Z2OK\Zn ]"
996 else
997 ETHCHECK="[ \Z1FALSE\Zn ]"
998 fi
999
1000 dialog \
1001 --backtitle "$TITLE" \
1002 --colors \
1003 --ok-label "Weiter" \
1004 --msgbox "Automatisch gefundene Hardware: \n\n\
1005 \Z3Grafik:\Zn\n\
1006 \Z7$VGA $VGACHECK\Zn\n\n\
1007 \Z3Netzwerk:\Zn\n\
1008 \Z7$ETH $ETHCHECK\Zn\
1009 " 11 81
1010
1011 }
1012
1013
1014 dialog_view_config(){
1015 failuremsg="\Z1Nicht konfiguriert\Zn"
1016
1017 if [ -f $SETTINGS_TEMPLATE/menu/network/hostname ]
1018 then
1019 local hostname="`cat $SETTINGS_TEMPLATE/menu/network/hostname`"
1020 else
1021 local hostame="$failuremsg"
1022 fi
1023
1024 if [ -f $SETTINGS_TEMPLATE/menu/network/domain ]
1025 then
1026 local domain="`cat $SETTINGS_TEMPLATE/menu/network/domain`"
1027 else
1028 local domain="$failuremsg"
1029 fi
1030
1031 if [ -f $SETTINGS_TEMPLATE/menu/network/networking ]
1032 then
1033 local networking="`cat $SETTINGS_TEMPLATE/menu/network/networking`"
1034
1035 if [ "$networking" == "dhcp" ]
1036 then
1037 local networking="DHCP"
1038 local ip="DHCP"
1039 local netmask="DHCP"
1040 local broadcast="DHCP"
1041 local dns="DHCP"
1042 local gateway="DHCP"
1043 else
1044 local ip="`cat $SETTINGS_TEMPLATE/menu/network/ip`"
1045 local netmask="`cat $SETTINGS_TEMPLATE/menu/network/netmask`"
1046 local broadcast="`cat $SETTINGS_TEMPLATE/menu/network/broadcast`"
1047 local dns="`cat $SETTINGS_TEMPLATE/menu/network/dns`"
1048 local gateway="`cat $SETTINGS_TEMPLATE/menu/network/gateway`"
1049 fi
1050 else
1051 local networking="$failuremsg"
1052 local ip="$failuremsg"
1053 local netmask="$failuremsg"
1054 local broadcast="$failuremsg"
1055 local dns="$failuremsg"
1056 local gateway="$failuremsg"
1057 fi
1058
1059 if [ -f $SETTINGS_TEMPLATE/menu/vga/vga ]
1060 then
1061 local vga="`cat $SETTINGS_TEMPLATE/menu/vga/vga`"
1062 else
1063 local vga="$failuremsg"
1064 fi
1065
1066 if [ -f $SETTINGS_TEMPLATE/menu/monitor/monitor ]
1067 then
1068 source $SETTINGS_TEMPLATE/menu/monitor/monitor
1069 local monitor="$myvendor $mymodel"
1070 else
1071 local monitor="$failuremsg"
1072 fi
1073
1074 if [ -f $SETTINGS_TEMPLATE/menu/mouse/mouse ]
1075 then
1076 local mouse="`cat $SETTINGS_TEMPLATE/menu/mouse/mouse`"
1077 else
1078 local mouse="$failuremsg"
1079 fi
1080
1081 if [ -z `ls $SETTINGS_TEMPLATE/menu/printing` ]
1082 then
1083 local printers="$failuremsg"
1084 else
1085 local printers="`ls $SETTINGS_TEMPLATE/menu/printing`"
1086 fi
1087
1088 if [ -f $SETTINGS_TEMPLATE/menu/sessions/sessions ]
1089 then
1090 local sessions="`cat $SETTINGS_TEMPLATE/menu/sessions/sessions|sed -e 's/.ica//'`"
1091 else
1092 local sessions="$failuremsg"
1093 fi
1094
1095 version="$ALXVER"
1096
1097 dialog \
1098 --backtitle "$TITLE" \
1099 --colors \
1100 --ok-label "Weiter" \
1101 --msgbox "Aktuelle Systemkonfiguration:\n \
1102 \Z7Netzwerk-Einstellungen:\Zn\n \
1103 \Z7Computername:\Zn \Z3$hostname\Zn\n \
1104 \Z7Domain:\Zn \Z3$domain\Zn\n \
1105 \Z7Networking:\Zn \Z3$networking\Zn\n \
1106 \Z7IP:\Zn \Z3$ip\Zn\n \
1107 \Z7Netmask:\Zn \Z3$netmask\Zn\n \
1108 \Z7Broadcast:\Zn \Z3$broadcast\Zn\n \
1109 \Z7DNS:\Zn \Z3$dns\Zn\n \
1110 \Z7Gateway:\Zn \Z3$gateway\Zn\n \
1111 \Z7XServer-Einstellungen:\Zn \n \
1112 \Z7Vga Treiber:\Zn \Z3$vga\Zn\n \
1113 \Z7Monitor: \Z3$monitor\Zn\n \
1114 \Z7Maus:\Zn \Z3$mouse\Zn\n \
1115 \Z7Drucker-Einstellungen:\Zn \n \
1116 \Z7Drucker:\Zn \Z3$printers\Zn\n \
1117 \Z7Session-Einstellungen:\Zn \n \
1118 \Z7Sessions:\Zn \Z3$sessions\Zn\n \
1119 \Z7System-Information:\Zn \n \
1120 \Z7Version:\Zn \Z3$version\Zn\n \
1121 " 24 70
1122 }
1123
1124 dialog_common(){
1125 local i
1126 local RES
1127
1128 i=`dialog \
1129 --backtitle "$TITLE" \
1130 --cancel-label "Abbrechen" \
1131 --ok-label "Weiter" \
1132 --colors \
1133 --stdout \
1134 --menu "Passwörter" 11 70 4 \
1135 "1" "Root Passwort" \
1136 "2" "User Passwort" \
1137 "3" "Samba Passwort" \
1138 "4" "VNC Passwort"`
1139 RES=$?
1140 if [ "$RES" == "1" ];then
1141 return 1
1142 fi
1143 if [ "$RES" == "0" ];then
1144 case "$i" in
1145 "1")
1146 dialog_password
1147 setup_password_root
1148 ;;
1149 "2")
1150 dialog_password
1151 setup_password_user
1152 ;;
1153 "3")
1154 dialog_password
1155 setup_password_samba
1156
1157 ;;
1158 "4")
1159 dialog_password
1160 setup_password_vnc
1161 ;;
1162 esac
1163 fi
1164 }
1165
1166 dialog_password(){
1167 dialog \
1168 --backtitle "$TITLE" \
1169 --ok-label "Weiter" \
1170 --colors \
1171 --msgbox "Achtung:\n\nDie Änderungen für Passwörter wirken sofort." 12 70
1172 setup_vnc_password
1173 }
1174
1175 dialog_serives(){
1176 local i
1177 local RES
1178 local status_samba
1179 local status_cups
1180 local status_inetd
1181 local status_xdm
1182 local status_network
1183
1184 ret_ok="\\Z2ok\\Zn"
1185 ret_false="\\Z1false\\Zn"
1186
1187 status_samba=$(get_service_status samba && echo $ret_ok || echo $ret_false)
1188 status_cups=$(get_service_status cups && echo $ret_ok || echo $ret_false)
1189 status_inetd=$(get_service_status inetd && echo $ret_ok || echo $ret_false)
1190 status_xdm=$(get_service_status xdm && echo $ret_ok || echo $ret_false)
1191 status_network=$(get_service_status network)
1192
1193 i=`dialog \
1194 --backtitle "$TITLE" \
1195 --cancel-label "Abbrechen" \
1196 --ok-label "Weiter" \
1197 --colors \
1198 --stdout \
1199 --menu "Dienste \n\n \
1200 Status:\n\
1201 Samba [ ${status_samba} ]\n\
1202 Cups [ ${status_cups} ]\n\
1203 Inetd [ ${status_inetd} ]\n\
1204 Xdm [ ${status_xdm} ]\n\
1205 Network [ IP: ${status_network} ]\n\
1206 " 21 70 6 \
1207 "1" "Windows Freigabe Dienst (Samba)" \
1208 "2" "Printserver (cups)" \
1209 "3" "LPR-Printserver (inetd)" \
1210 "4" "Grafische Oberfläche (xdm)" \
1211 "5" "Netzwerk" \
1212 "6" "Alle Dienste neustarten"`
1213 RES=$?
1214 if [ "$RES" == "1" ];then
1215 return 1
1216 fi
1217 if [ "$RES" == "0" ];then
1218 case "${i}" in
1219 "1")
1220 dialog_service_options samba
1221 ;;
1222 "2")
1223 dialog_service_options cups
1224 ;;
1225 "3")
1226 dialog_service_options inetd
1227 ;;
1228 "4")
1229 dialog_service_options xdm
1230 ;;
1231 "5")
1232 dialog_service_options network
1233 ;;
1234 "6")
1235 for i in network cups inetd samba xdm
1236 do
1237 dialog_service_message "Starte '${i}' neu ..."
1238 service_setup ${i} restart &> /dev/null
1239 done
1240 ;;
1241 esac
1242 fi
1243 }
1244
1245 #$1=service
1246 dialog_service_options(){
1247 local i
1248 local RES
1249 local service
1250
1251 service=$1
1252
1253 i=`dialog \
1254 --backtitle "$TITLE" \
1255 --cancel-label "Abbrechen" \
1256 --ok-label "Weiter" \
1257 --colors \
1258 --stdout \
1259 --menu "Dienst: ${service}" 10 70 3 \
1260 "1" "${service} neustarten" \
1261 "2" "${service} starten" \
1262 "3" "${service} anhalten"`
1263 RES=$?
1264 if [ "$RES" == "1" ];then
1265 return 1
1266 fi
1267 if [ "$RES" == "0" ];then
1268 case "${i}" in
1269 "1")
1270 dialog_service_message "Starte '${service}' neu ..."
1271 service_setup ${service} restart &> /dev/null
1272 ;;
1273 "2")
1274 dialog_service_message "Starte '${service}' ..."
1275 service_setup ${service} start &> /dev/null
1276 ;;
1277 "3")
1278 dialog_service_message "Stoppe '${service}' ..."
1279 service_setup ${service} stop &> /dev/null
1280 ;;
1281 esac
1282 fi
1283 }
1284
1285 #service=$1 command=$2
1286 dialog_service_message(){
1287 local message
1288
1289 message=$1
1290
1291 dialog \
1292 --backtitle "$TITLE" \
1293 --infobox "${message}" 3 70
1294 }
1295
1296 dialog_main(){
1297 METHOD=-1
1298
1299 while [ $METHOD -le 8 ]
1300 do
1301 METHOD=`dialog \
1302 --backtitle "$TITLE" \
1303 --extra-button \
1304 --extra-label "Speichern" \
1305 --cancel-label "Beenden" \
1306 --ok-label "Weiter" \
1307 --stdout \
1308 --menu "Konfiguration" 18 70 11 \
1309 "1" "Netzwerk Einstellungen" \
1310 "2" "Grafik & Maus Einstellungen" \
1311 "3" "Drucker Einstellungen" \
1312 "4" "Auswahl der ICA-Sessions" \
1313 "5" "Passwörter" \
1314 "6" "Dienste" \
1315 "7" "Übersicht der Hardware" \
1316 "8" "Momentane Einstellungen" \
1317 "9" "Neustarten" \
1318 "10" "Herunterfahren" \
1319 "11" "Speichern und Neustarten"`
1320 RES=$?
1321 if [ "$RES" == "1" ];then
1322 clear
1323 settings_cleanup
1324 return 0
1325 fi
1326 if [ "$RES" == "0" ];then
1327 case "$METHOD" in
1328 "1")
1329 dialog_network_menu
1330 ;;
1331 "2")
1332 dialog_grafic_menu
1333 ;;
1334 "3")
1335 dialog_printing_menu
1336 ;;
1337 "4")
1338 dialog_sessions
1339 ;;
1340 "5")
1341 dialog_common
1342 ;;
1343 "6")
1344 dialog_serives
1345 ;;
1346 "7")
1347 dialog_check_hardware
1348 ;;
1349 "8")
1350 dialog_view_config
1351 ;;
1352 "9") dialog_reboot
1353 settings_cleanup
1354 reboot
1355 ;;
1356 "10") dialog_shutdown
1357 settings_cleanup
1358 shutdown
1359 ;;
1360 "11")
1361 setup_xfree
1362 setup_modules
1363 setup_network
1364 setup_printers
1365 setup_sessions
1366 save_settings_to_database
1367 dialog_save_data2
1368 check_first_boot
1369 settings_cleanup
1370 clear
1371 reboot
1372 ;;
1373 esac
1374 fi
1375 if [ "$RES" == "3" ];then
1376 setup_xfree
1377 setup_modules
1378 setup_network
1379 setup_printers
1380 setup_sessions
1381 save_settings_to_database
1382 dialog_save_data2
1383 check_first_boot
1384
1385 ### um ins menu zurueck zu gelangen
1386 METHOD=8
1387 fi
1388
1389 done
1390 return 0
1391 }
1392
1393 ### System configs kopieren wenn vorhanden
1394 if [ -d $SETTINGS_TEMPLATE/system ]
1395 then
1396 mkdir -p $SETTINGS_TEMPLATE/menu
1397 rm -rf $SETTINGS_TEMPLATE/menu/*
1398 cp -R $SETTINGS_TEMPLATE/system/* $SETTINGS_TEMPLATE/menu
1399 fi
1400
1401 if [ -z "$1" -o "$1" != "install" ]
1402 then
1403 dialog_main
1404 exit 0
1405 fi

Properties

Name Value
svn:executable *