Magellan Linux

Annotation of /alx-src/trunk/alx-config/alx-config/config_menu.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 217 - (hide 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: 31022 byte(s)
test; not ready for public

1 niro 217 #!/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 *