Geogebra Classic 6 startet extrem langsam ohne Internetverbindung

foerderd shared this problem 3 years ago
Not a Problem

Ohne Internetzugriff benötigt Geogebra Classic 6 unter Ubuntu 18.04 über 2 Minuten zum Starten. Mit Internetverbindung startet Geogebra auf demselben Rechner in einer Sekunde.

Da wir viele Offlinearbeitsstationen für Schüler haben ist das ein absoluter showstopper. Gibt es Lösungen für dieses Problem?

Best Answer
photo

@foerderd: Maybe you can do some more investigation on which statement is so slow between the messages

File /usr/share/geogebra-classic/resources/app/html/platform.js is to be loaded...

and

GeoGebra: service workers not supported

As root you can edit the file /usr/share/geogebra-classic/resources/app/html/platform.js and put console.log("...");

at certain points to follow the execution flow. The second message is sent by /usr/share/geogebra-classic/resources/app/html/index.html (function initServiceWorker) that can also be investigated by inserting log statements.

Comments (13)

photo
1

Which exact version, and how are you installing it?

photo
1

Hi,

Plattform: Ubuntu 18.04 amd64

Geogebra-Version: 6.0.546.0-201906221301

It's installed via deb package. I've tried also the standalone Version and the i386 Version, but the problem persists. Startup time without internet connection is about 2-3 minutes so geogebra is nearly unusable with students.

photo
1

I tried to reproduce this problem on Ubuntu 18.04.3 and GeoGebra Classic 6.0.559.0 but I couldn't. Please, can you provide us with some more information? Please try to issue geogebra-classic --silent=false on command line and attach the output.

photo
1

So more exacly the studentclients are not really offline. The clients are connected to our intranet (LAN), but behind a Proxy that fobits to connect to the Internet (WAN). So maybe geogebra recognized the network connection but fails to connect to the internet and gets a timeout.

Here ist the startup output:

tes@hp-client#$: geogebra-classic --silent=false
No autoupdate for linux
Registered protocol succesfully
Registered protocol succesfully
File /usr/share/geogebra-classic/resources/app/html/index.html is to be loaded...
File /usr/share/geogebra-classic/resources/app/html/platform.js is to be loaded...

after that it's lasting about 2-3 minutes until the start continues:

GeoGebra: service workers not supported
File /usr/share/geogebra-classic/resources/app/html/web3d/js/properties_keys_de.js is to be loaded...
File /usr/share/geogebra-classic/resources/app/html/web3d/js/webfont.js is to be loaded...
File /usr/share/geogebra-classic/resources/app/html/web3d/web3d.nocache.js is to be loaded...
File /usr/share/geogebra-classic/resources/app/html/web3d/A2465F2B4E02B24678EB0629C3F69CE2.cache.js is to be loaded...
File /usr/share/geogebra-classic/resources/app/html/web3d/js/workercheck.js is to be loaded...
GeoGebra: 11:3:30 DEBUG: ?: INIT: workers are supported
GeoGebra: 11:3:30 INFO: ?: GeoGebra 5.0.546.0 22 June 2019 Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) GeoGebra/6.0.533 Chrome/59.0.3071.115 Electron/1.8.8 Safari/537.36
GeoGebra: 11:3:30 DEBUG: ?: Number of registered views = 1
* class Class$S3795
GeoGebra: 11:3:30 DEBUG: ?: Zoomer forClass$S1691@c
GeoGebra: 11:3:30 DEBUG: ?: Number of registered views = 2
* class Class$S3795
* class Class$S968
GeoGebra: 11:3:30 DEBUG: ?: CAS support: true
GeoGebra: 11:3:30 DEBUG: ?: setting language to:de, browser lang:de
File /usr/share/geogebra-classic/resources/app/html/web3d/js/properties_keys_de.js is to be loaded...
GeoGebra: 11:3:30 DEBUG: ?: no base64content, possibly App loaded?
GeoGebra: 11:3:30 DEBUG: ?: TOOLBAR POSITION 1
GeoGebra: 11:3:30 DEBUG: ?: creating Algebra View
GeoGebra: 11:3:30 DEBUG: ?: no update needed (same input)
GeoGebra: 11:3:30 DEBUG: ?: Number of registered views = 3
* class Class$S3795
* class Class$S968
* class Class$S2198
GeoGebra: 11:3:30 DEBUG: ?: AppW.updateMenubar() - implementation needed - just finishing
File /usr/share/geogebra-classic/resources/app/html/web3d/deferredjs/A2465F2B4E02B24678EB0629C3F69CE2/14.cache.js is to be loaded...
GeoGebra: 11:3:30 DEBUG: ?: resource loaded called
File /usr/share/geogebra-classic/resources/app/html/web3d/clear.cache.gif is to be loaded...
GeoGebra: 11:3:30 DEBUG: ?: keys loaded for language: de
File /usr/share/geogebra-classic/resources/app/html/web3d/deferredjs/A2465F2B4E02B24678EB0629C3F69CE2/1.cache.js is to be loaded...
File /usr/share/geogebra-classic/resources/app/html/web3d/deferredjs/A2465F2B4E02B24678EB0629C3F69CE2/5.cache.js is to be loaded...
GeoGebra: 11:3:31 DEBUG: ?: Loaded: advanced commands
GeoGebra: 11:3:31 DEBUG: ?: resource loaded called
File /usr/share/geogebra-classic/resources/app/html/web3d/deferredjs/A2465F2B4E02B24678EB0629C3F69CE2/9.cache.js is to be loaded...
GeoGebra: 11:3:31 DEBUG: ?: Loaded: prover
GeoGebra: 11:3:31 DEBUG: ?: resource loaded called
File /usr/share/geogebra-classic/resources/app/html/web3d/deferredjs/A2465F2B4E02B24678EB0629C3F69CE2/4.cache.js is to be loaded...
GeoGebra: 11:3:31 DEBUG: ?: Loaded: scripting commands
GeoGebra: 11:3:31 DEBUG: ?: resource loaded called
File /usr/share/geogebra-classic/resources/app/html/web3d/deferredjs/A2465F2B4E02B24678EB0629C3F69CE2/7.cache.js is to be loaded...
GeoGebra: 11:3:31 DEBUG: ?: Loaded: stats commands
GeoGebra: 11:3:31 DEBUG: ?: resource loaded called
File /usr/share/geogebra-classic/resources/app/html/web3d/deferredjs/A2465F2B4E02B24678EB0629C3F69CE2/6.cache.js is to be loaded...
GeoGebra: 11:3:31 DEBUG: ?: Loaded: CAS commands
GeoGebra: 11:3:31 DEBUG: ?: resource loaded called
File /usr/share/geogebra-classic/resources/app/html/web3d/deferredjs/A2465F2B4E02B24678EB0629C3F69CE2/10.cache.js is to be loaded...
GeoGebra: 11:3:31 DEBUG: ?: Loaded: 3D commands
GeoGebra: 11:3:31 DEBUG: ?: resource loaded called
GeoGebra: 11:3:31 DEBUG: ?: no update needed (same input)
GeoGebra: Visibility changed: true
this part is loaded in about 1 second and after that the geogebra window is open and the programm is fully functional.

photo
2

Sorry we can't replicate the problem so I think you will need to change your network to be a bit more normal

photo
2

...sorry but i hope that's not all you can do...we need that program a lot! We are using a totaly common network environment for a school. It is common that student`s are not allowed to use the Internet while conected to the LAN and that clients are behind a proxy. Other Programms that require an internetconnection have a possibility to set the proxy variables...there must be a part of code that checks wether there is a network connection and fails if there is one but without access to the WAN.

photo
photo
1

Warum legt ihr nicht einfach für alle Schüler die Portable-Version in einen für die Schüler zugänglichen Ordner auf euren Server?

photo
2

Da fallen mir einige Gründe ein:

1. Performance wenn zufällig mal in allen 3 Rechnerräumen 90 Schüler gleichzeitig auf die Freigabe zugreifen...das kommt vor

2. Integration in die Desktopumgebung ist unschön..Speicherorte sind unter Linux schwierig zu navigieren...mimetypeintegration ist nicht gegeben...

3. Ich muss Kollegen schulen

4. Ich will nicht basteln müssen, nur weil ein Programm irgendein seltsames Verhalten zeigt.

Es ist ja so, dass wirklich alle Programme in unserem Netzwerksetup funktionieren und nur Geogebra 6 dieses seltsame Startverhalten zeigt.

Es wäre einfach schön, wenn mir hier jemand einmal sagen könnte, was Geogebra beim Starten denn überhaupt versucht Netzwerktechnisch zu tun

photo
1

"1. Performance wenn zufällig mal in allen 3 Rechnerräumen 90 Schüler gleichzeitig auf die Freigabe zugreifen...das kommt vor"

Kann ich nicht beurteilen. Mit dem gleichzeitigen Zugriff von 30 Schülern hatte ich keine Probleme.

"2. Integration in die Desktopumgebung ist unschön..Speicherorte sind unter Linux schwierig zu navigieren...mimetypeintegration ist nicht gegeben..."

Wenn ich an die überheblichen Kommentare eingefleischter Linux-User gegenüber "Ungläubigen" denke, hält sich mein Mitleid gerade in Grenzen.

"3. Ich muss Kollegen schulen"

Das ist ein ernstes Problem. Ich kenne die Schwierigkeit, eine Gebrauchsanweisung "lehrersicher" zu formulieren.

"Es ist ja so, dass wirklich alle Programme in unserem Netzwerksetup funktionieren und nur Geogebra 6 dieses seltsame Startverhalten zeigt."

Ihr hattet bestimmt mal ein funktionierendes Geogebra 5. Erfolgte das update auf 6, weil eine größere Zahl mehr Qualität verspricht? Alte Bauernregel: "Never change a running system".

photo
1

@foerderd: Maybe you can do some more investigation on which statement is so slow between the messages

File /usr/share/geogebra-classic/resources/app/html/platform.js is to be loaded...

and

GeoGebra: service workers not supported

As root you can edit the file /usr/share/geogebra-classic/resources/app/html/platform.js and put console.log("...");

at certain points to follow the execution flow. The second message is sent by /usr/share/geogebra-classic/resources/app/html/index.html (function initServiceWorker) that can also be investigated by inserting log statements.

photo
1

@zoltan:

thanks a lot! I've figured it out. It's the GoogleAnalytics part in /usr/share/geogebra-classic/ressources/app/html/index.html that causes the startup delay. Commenting out line 545:

<script async src='https:// ...>

leads to a normal startup time and a fully functional app. Only one (minor) problem persits. Geogebra totaly ignores the system proxy settings...so login to geogebra from within the app doesn't work.

@abakus

Was sollten eigentlich die kleinen Sticheleien bezüglich des Betriebsystems in der Schule und der Geogebraversion? Das ist weder hilfreich noch zielführend...dann bitte gar nichts posten.

photo
1

@foerderd: Great that you managed to find out the reason of the slow startup! Can you manage this on your own by hacking the file with an administrator script, or do you need that we find a solution to have a better .deb package? According to proxy settings, as far as I know it is not straightforward to have them automatically in an Electron based app like geogebra-classic. You may want to play with some ideas that are described at http://geekswithblogs.net/s.... In fact, all you need to do is to make a local copy of /usr/share/geogebra-classic/ and play with the .html and .js file. Unfortunately, we don't have the possibility to help you further at this point, but in case you find something useful, we can incorporate the idea into GeoGebra Classic 6.

photo
1

@ zoltan: Thank you for your offer with the deb file, but in our environment it's no problem patching the file on client startup...so as long as there ist no change in the google-analytics link we have a generic solution.

photo
© 2023 International GeoGebra Institute