[gelöst] freetz-devel 3603: WebGUI-Breite laesst sich nicht aendern

ao

Aktives Mitglied
Mitglied seit
15 Aug 2005
Beiträge
2,158
Punkte für Reaktionen
2
Punkte
38
Hallo,

eben wollte ich im freetz-devel 3603 WebGUI die Breite ändern, aber ein anderer Wert (z.B. 910 statt Default-Wert 730) zeigt keine Änderung im Layout.
Hier wurde zu freetz 1.0 schon einmal darüber diskutiert. Besteht das Problem evtl. auch weiterhin bzw. wieder?


EDIT:
Wurde mit
Changeset 3624 gelöst. Danke!
 
Zuletzt bearbeitet:
Ich glaube, da hilft ein Neustart der Box, denn ich habe die Breite auch geändert, und die Werte waren zumindest nach nem Reboot so, wie sie sollen.
 
Sorry, hatte eben meinen Beitrag zwischen Deinen versehentlich gelöscht... :rolleyes:
______

Wenn ich den httpd kille und neu starte, wird die neue Breite korrekt angezeigt. Neustart mit:
Code:
httpd -P /var/run/webcfg.pid -p 81 -c /mod/etc/httpd.conf -h /usr/mww/ -r Freetz
Wenn man die Einstellung der Breite speichert, wird auch kein httpd-Neustart angezeigt:
Saving settings...done.
Saving mod.cfg...done.

Stopping Freetz webinterface...done.
Starting Freetz webinterface...done.

Writing /var/flash/freetz...done.
20480 bytes written.
Ich zitiere mal aus dem anderen Thread:
In meiner Rev. 2277 zeigt die Veränderung des Wertes keine Auswirkung. Oder muss man die Box danach neu starten?
Die Funktion ist schon seit ein paar hundert Revisionen da, und dass man rebooten muss glaube ich nicht. Kann mich aber auch nicht mehr so genau daran erinnern
Mir ist gerade aufgefallen, dass bei mir nach einer Änderung der Breite der httpd nicht neu gestartet wird. Das liegt daran, dass in /var/run/httpd.pid eine falsche PID steht!?
Jup, nach dem Booten ist noch die richtige PID in der .pid, und nach dem 1. speichern der Änderungen ist es eine falsche. Ich bin aber ziehmlich sicher, dass das mal funktioniert hat. Vielleicht fehlt irgendwo ein "
Mehr ist diesbzgl. aber nicht passiert, oder sollten diese Patches das korrigieren? Scheint zumindest bei mir nichts zu bewirken.

EDIT1 zu Deinem 2. Post:
Der Patch hat doch (noch) nicht das gewünschte Resultat bewirkt, oder liegt es an mir?

EDIT2:
Gibt es eine Möglichkeit, die Breite des Menüs rechts zu verändern?
Zumindest unter Ubuntu ist die Darstellung mit Firefox nicht ok, da z.B. "Sichern/Wiederherstellen" rechts aus dem Rahmen fällt - auch wenn die Gesamtbreite des GUIs z.B. auf 1100 steht.
.
 

Anhänge

  • freetz.png
    freetz.png
    34.6 KB · Aufrufe: 12
Zuletzt bearbeitet:
"Starting/Stopping Webinterface" ist schon ein Hinweis darauf, dass der httpd neu gestartet wird. (sollte zumindest ;) )
 
Stimmt, der httpd wird auch neu gestartet, denn die PID ist eine andere, aber die Änderung ist bei mir nur sichtbar, wenn ich den httpd manuell kille und manuell starte wie oben beschrieben. Seltsam... :confused:

1. vor der Änderung:
Code:
root@fritz /var/mod/root $ ps | grep [h]ttpd
[B] 1986[/B] root      1420 S    httpd -P /var/run/webcfg.pid -p 81 -c /mod/etc/httpd.conf -h /usr/mww/ -r Freetz
2. danach:
Code:
root@fritz /var/mod/root $ ps | grep [h]ttpd
[B] 2262[/B] root      1424 S    httpd -P /var/run/webcfg.pid -p 81 -c /mod/etc/httpd.conf -h /usr/mww/ -r Freetz
 
Die Frage also ist, wieso die Konfiguration nicht neu eingelesen wird, bzw. ist die cgi-with in den umgebungsvariablen?
 
Aufgefallen ist mir das damals schon, als ich mein erstes Freetz-Image auf der Box hatte. Da aber nach einem Neustart der Box das WebIF in der geänderten Breite dargestellt wurde, habe ich mich nicht weiter dran gestört, bzw. habe ich gedacht, dass das so sein müsse.

Man lernt nicht aus! :D
 
Die Frage also ist, wieso die Konfiguration nicht neu eingelesen wird, bzw. ist die cgi-with in den umgebungsvariablen?
Was kann ich zur Beantwortung dieser Frage beitragen? Jetzt sind wir doch so nah dran, das "Rätsel" zu lösen...

EDIT:
Ich habe mir erlaubt, dazu Ticket 527 zu erstellen.
Da es mein erstes ist, bitte ich um Nachsicht, falls ich dabei etwas falsch gemacht habe. Danke. ;-)
 
Zuletzt bearbeitet:
Schon komisch:

Code:
/var/mod/root # ps|grep httpd|grep 81
[COLOR="Red"]31887 [/COLOR]root      1452 S    httpd -P /var/run/webcfg.pid -p 81 -c /mod/etc/httpd.conf -h /usr/mww/ -r Freetz
/var/mod/root #  /etc/init.d/rc.webcfg restart
Stopping Freetz webinterface...done.
Starting Freetz webinterface...done.
/var/mod/root # ps|grep httpd|grep 81
[COLOR="Red"]31897 [/COLOR]root      1452 S    httpd -P /var/run/webcfg.pid -p 81 -c /mod/etc/httpd.conf -h /usr/mww/ -r Freetz
/var/mod/root #  /etc/init.d/rc.webcfg restart
Stopping Freetz webinterface...done.
Starting Freetz webinterface...done.
/var/mod/root # ps|grep httpd|grep 81
[COLOR="Red"]31907 [/COLOR]root      1452 S    httpd -P /var/run/webcfg.pid -p 81 -c /mod/etc/httpd.conf -h /usr/mww/ -r Freetz

Auszug beim Aufruf von "rc.webcfg restart":
Code:
Stopping Freetz webinterface...+ modlib_check_running
+ local fn=/var/run/webcfg.pid
+ [ ! -s /var/run/webcfg.pid ]
+ cat /var/run/webcfg.pid
+ [COLOR="Red"]kill -0[/COLOR] 1093
+ local status=0
+ [ 0 != 0 ]
+ return 0
+ cat /var/run/webcfg.pid
+ [COLOR="Red"]kill [/COLOR]1093
+ local status=0
+ rm -f /var/run/webcfg.pid
+ [ 0 -eq 0 ]
+ echo done.
done.

Die beiden "kills" werden leider von modlibrc ausgeführt. Beim 2. "kill" würde ein "-9" wohl Abhilfe schaffen
 
Ein "kill -9" ist nicht die feine Art.
Evtl. ein normales kill, und wenn das nach einiger Zeit nicht geholfen hat, dann ein "kill -9".

Ignoriert denn der httpd das normale TERM-Signal? Dann sollte man eher das korrigieren.
 
Ich denke dass das Problem darin liegt, dass eine Session des httpd offen ist, nämlich die mit der man restarten will.. Ich kann mich dunkel noch an sowas erinnern
 
Das sollte es nicht sein. Einerseits wird die Verbindung von einem anderen Prozeß gehandhabt. Andererseits ist das Beispiel oben mit der Kommandozeile, so daß vermutlich zu der Zeit keine Verbindung offen ist.
 
Ich denke, dass die neuen Variablen - sprich Breite und co - nicht sauber eingelesen werden beim restart
 
@Silent-Tears: Da es die gleiche pid bleibt, wird wohl nicht restartet
@RalfFriedl: Bin nicht sicher, ob ich das Webinterface offen hatte
 
Eine Verbindung ist nur offen, solange eine Seite geladen wird. Wie lange diese Seite nachher im Client angezeigt wird, bekommt der Server nicht mit.
 
Und einen Screenshot kann man noch länger anschauen ;-) Hatte eigentlich mehr an http-keepAlive gedacht. Das wird aber wie du geschrieben hast nicht beim webcfg genutzt. Also muss es einen anderen Grund geben wegen dem der Prozess sich nicht (immer) beenden will.
 
/usr/lib/cgi-bin/libmodcgi.sh
Code:
...
[SIZE=2][LEFT]# custom style for fieldset and div.body
if [ ! "$_cgi_width" ]; then
let _cgi_width=$MOD_CGI_WIDTH
fi
export _cgi_width
let _cgi_total_width="$_cgi_width+40"[/LEFT]
let _usr_style="$_cgi_width-230"
...
Brauchen wir das if [ ! "$_cgi_width" ] ? Warum wird hier let benutzt?

MfG Oliver
[/SIZE]
 
Das "let" ist bestimmt überflüssig, dass das "if" gebraucht wird gehe ich mal davon aus. Ich kann aber nicht mehr sagen weshalb
 
Durch das if wird das Setzen der neuen Breite verhindert.

MfG Oliver
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.