Return-Path: Content-Type: text/plain; charset="iso-8859-1" From: "Malte J. Wetz" To: pape@innominate.org Subject: raccess4vbox3 Erweiterungen Date: Tue, 1 May 2001 19:20:55 +0200 Hallo Gerrit, ich denke, ich habe soweit wieder alles am Laufen. Die Tests funktionieren bei mir jedenfalls einwandfrei. [...] Ich erkläre mal kurz, was ich wo und wie geändert habe: --------------------------------------- var/spool/vbox/phone/raccess/ remoteaccess dialup sysinfo answeringmachine "sysinfo" habe ich um die Tasten 4, 5, 6 und 7 erweitert (siehe sysinfo), ausserdem habe ich "sysinfo" und "dialup" an meine Änderungen in den Skripten angepasst (siehe /usr/share/isdn/vbox/bin). Bei "answeringmachine" habe ich den dialup-mode freigeschaltet. Der Rest ist unverändert. --------------------------------------- usr/share/isdn/vbox/bin/ get-ifstatus vboxmail get-sensor ip-ippp0 ifstatus-ippp0 get-ip notify uptime ip-eth0 ip-eth1 setifstatus Hier habe ich einiges umgeändert, weil ich meine, es wäre effizienter so: - Die IP-Adresse eines beliebigen Interfaces wird nicht mehr von jeweils einem eigenen Skript ermittelt, sondern nur noch von "get-ip". Um meine Änderungen kompatibel zum alten sysinfo zu halten, werden die Skripte "ip-eth0" und "ip-eth1" durch Symlinks auf "get-ip" ersetzt. "get-ip" wird nicht selber aufgerufen, sondern eben durch einen passenden Symlink der Form "ip-xxx", wobei xxx der Name des Interfaces ist. Das Skript erkennt am Basename, welches Interface gemeint ist und liefert das entsprechende Resultat. Dadurch kann der Benutzer später jederzeit eigene Interface hinzufügen, indem er einfach Symlinks auf "get-ip" erzeugt ('ln -s get-ip ip-ippp0' und fertig!). Ich habe mich bemüht, das Skript sauber zu schreiben und mit vielen Kommentaren zu versehen. Kannst ja mal reinschauen. - Das gleiche gilt für die Statusabfrage von Interfaces. Wieder ist get-ifstatus (früher "getifstatus") das eigentliche Skript, der Rest nur Symlinks der Form ifstatus-xxx darauf. Da es ja bereits funktionierende Skripte für die Abfrage von IP's gibt, ermittelt "get-ifstatus" bei eingewählten Interfaces die IP nicht mehr selber, sondern ruft einfach ip-xxx auf. - Das Skript "setifstatus" liefert jetzt nur noch eine Obsolete-Meldung. Die Funktionalität steckt in "get-ifstatus", welches anhand der Kommandozeile entscheidet, was passieren soll. Kein Parameter bedeutet, dass nur eine Statusabfrage erfolgen soll (wie beim alten getifstatus), mit den Parametern "UP" und "DOWN" wird die Einwahl gesteuert wie beim alten setifstatus. - Das Skript "get-sensor" liefert die Werte für das Hardware Monitoring. Es versteht sich von selbst, dass dafür das Paket lm_sensors fehlerfrei installiert sein muss. Es wird mit dem Namen des gewünschten Sensors als Parameter aufgerufen, z.B. "get-sensor CPU_Temp" Die Namen werden von lm_sensors in der Datei /etc/sensors.conf verwaltet. Leider sind die Standardwerte mit Leerzeichen versehen (z.B. "CPU Temp"). Um Verwirrungen zu vermeiden, kann man "get-sensor" mit einem Underscore als Leerzeichen-Ersatz aufrufen. Das Skript ruft dann das eigentliche "sensors" (Teil von lm_sensors) auf und filtert mit grep die betreffende Zeile heraus. Leider ist die Ausgabe von "sensors" in tabellarischer Form aufbereitet, was das Auslesen der Werte aus der Zeile erschwert. Das sieht man aber auch im Skript. Auch hier habe ich Kommentare reingeschrieben, so dass man sich hoffentlich schnell zurecht findet. - Das Skript "uptime" habe nur (analog zu den anderen Skripten) so verändert, dass man anhand von Variablen steuern kann, ob die Ausgabe nun in deutsch oder englisch ist. Solange man nur die Sprachsamples benutzt, kann man ja beim englischen bleiben und einfach die Samples mit entsprechenden Übersetzungen versehen. Aber wenn man seine Sprache on-the-fly erzeugen möchte, muss man dem mbrola halt gleich den 'richtigen' Text geben und dann braucht man sowas. --------------------------------------- usr/share/isdn/vbox/ulaw-generator/ Makefile text2wave t2s days misc sensors numbers-dot months numbers files.numbers files.numbers-dot files.days files.misc files.months links.numbers files.sensors build-stamp ulaw/ Dieses Verzeichnis entspricht dem ulaw-Verzeichnis im Source-Tarball. - Die "Makefile" habe ich um eine Sektion "sensors" erweitert, die die Sprachsamples erzeugt, welche von lm_sensors benötigt werden. Ausserdem brach das "make" bisher mit Fehler ab, wenn am Ende einer files.xxx Datei noch ungenutzte Leerzeilen standen. Ich habe das durch eine entsprechende Abfrage behoben. - "t2s" benutzt bei mir eben txt2pho+mbrola, hatte ich ja schon in der NG geschrieben. - Die Dateien files.* habe ich mit der entsprechenden deutschen Übersetzung versehen. Neu hinzugekommen ist die Datei "files.sensors" für die Sprachsamples zum Hardware Monitoring. In der Datei "files.misc" sind auch noch ein oder zwei kleine Zusatzzeilen hinzugekommen. - Das ulaw-Verzeichnis enthält die aktuellen und vollständigen Sprachsamples, wie sie für diese raccess-Konfiguration benötigt werden. --------------------------------------- Das war's soweit. Solltest Du noch Fragen haben oder Fehler finden, melde Dich ruhig. Und tschüss, Malte -- Malte J. Wetz Homepage: www.malte-wetz.de (PGP/GPG Keys available on homepage)