close Warning: Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#766 closed Defekt (bleibt so)

Keine Netzwerkverbindung für Wine-Programme

Reported by: Rüdiger Kupper Owned by: Rüdiger Kupper
Priority: bald erledigen Milestone: Schuljahr 2012/13
Component: Software: Ubuntu Severity: beeinträchtigt den Unterricht einiger Lehrer
Keywords: Cc: bau

Description

Programme, die auf den LTSP-Servern unter Wine laufen, haben keinerlei Netzwerkzugang. Das muss korrigiert werden.

Testfall: Google Sketchup über das Startmenü starten. Sketchup erlaubt, fertige Modelle aus dem Internet herunterzuladen (Menüpunkt File->3D-Showcase oder so ähnlich). Das Programm meldet, dass es keine Internetverbindung hat.

Ich nehme an, die Sketchup-Nutzer werden diese Funktion nutzen wollen.

Eigentlich müsste Wine die zugangsmöglichkeiten der umgebenden Linux-Umgebung erben. Warum scheitert das?

Change History (7)

comment:1 by Rüdiger Kupper, 14 years ago

Zum Debugging habe ich Forefox unter Wine installiert (finder sich unter "Firefox (Wine)" im Startmenü).

Beobachtungen:

  • Ohne weitere Konfiguration hat dieses Firefox keine Internetverbindung.
  • Setzt man in den Einstellungen als Proxy "auto detect" verbindet sich das Programm über unseren Proxy.

Das Problem ist also, dass die anderen Wine-Programme den Proxy nicht nutzen.

Frage: Wie sagt man einem Wine-Programm, dass unseren Proxy nutzen soll?

comment:2 by Rüdiger Kupper, 14 years ago

Resolution: → bleibt so
Status: new → closed

Die Wine-Programme verwenden den Proxy, der in der Umgebungsvariable http_proxy steht. Ist die richtig gesetzt, klappt auch der Netzwerkzugriff (sofern der Zugriff nicht beim Provider geblockt wird).

Das Problem ist also das gleiche wie auch bei den nativen Linuxprogrammen. Eigentlich sollte man den Proxy über die Netzwerk-Einstellungen von Ubuntu setzen können, das scheint aber nicht immer zu funktionieren.

Wer sicher gehen will, muss ein http_proxy von Hand setzen.

comment:3 by bau, 14 years ago

Können wir nicht das wine-Startup-Script so abändern, dass dort die proxy-Variable gesetzt wird?
Oder vielleicht in der .bashrc bei jedem Nutzer?

comment:4 by Rüdiger Kupper, 14 years ago

Die Variable grundsätzlich zu setzen ist gar nicht das Problem, sondern das Problem ist, dass unser Proxy Authentifizierung verlangt. Dazu muss in der Umgebungsvriable as Passwort des Benutzers im Klartext stehen.
Damit scheidet die .bashrc grundsätzlich aus, sonst könnte jeder die Passwörter der anderen nachlesen.

Eine Möglichkeit wäre, bei jedem Login ein Skript laufen zu lassen, dass das Passwort abfragt und die Variable entsprechend setzt. Wie gesagt, das ganze ist kein spezielles Wine-Problem, sondern gilt auch für die nativen Programme.

Mann kann in den Ubuntu-Systemeinstellungen den Proxy eintragen, das müsste jeder Nutzer einmal machen. Allerdings muss man auch da das Passwort im Klartext reinschreiben, und ich hab keine Ahnung, wo das dann abgespeichert wird.

comment:5 by Rüdiger Kupper, 14 years ago

Also, wenn ich in den Ubuntu-Systemeinstellungen Proxy und Passwort eintrage, wird automatisch die Variable http_proxy gesetzt. Jetzt wäre nur die Frage, wo die Daten dann hingespeichert werden. Es muss sichergestellt sein, dass kein anderer Nutzer das Passwort erfahren kann.

In den Systemeinstellungen kann man auch "Auto-Konfiguration" wählen, das müsste bei uns ja auch funktionieren. Allerdings hatte das bisher nicht geklappt, weil dann ein Dialog angezeigt werden müsste, der Name und Passwort abfragt, doch das war offenbar nicht vorgesehen. Muss ich bei Gelegenheit nochmal ausprobieren.

comment:6 by bau, 14 years ago

OK, das ist natürlich ein Killer.
Wie wäre es mit einem Script-Starter, der das Passwort vom user abfragt und die Zeile

  export http_proxy=[user:passwort]@10.32.1.251:3128

in die .bashrc des Users schreibt und diese auf 600 setzt (oder darf man das bei der bashrc nicht?).

Wenn die .bashrc nicht geht (vielleicht ist dieser Gedankenblitz sogar noch besser?):

  • Anpassung des Wine-Starters, so dass dieser prüft, ob im HomeVZ des Users die datei .proxy liegt
  • wenn nicht: User nach seinem Passwort fragen
  • obige Zeile in die Datei ~/.proxy ablegen, Datei auf 700 setzen
  • im Wine-Starter ~/.proxy aufrufen

comment:7 by Rüdiger Kupper, 14 years ago

Müsste im Prinzip schon funktionieren. Wichtig ist halt, dass das Passwort, wenn es denn im Klartext voriegt, unbedingt in einer Datei steht, die ausschließlich der Nutzer lesen kann. Noch lieber wäre es mir, wenn Klartextpassworte generell in keiner Datei ständen.

Und ich würde das Problem gerne nicht nur auf wine beschränken. Das Proxy-Problem besteht für alle Programme, wine hältg sich ganz brav an die Vorgaben und liest die Variable http_proxy aus, so wie jedes native Linux-Programm auch.

Zu prüfen
  1. in den Ubuntu-Systemeinstellungen den Proxy eintragen. Die Einstellung ist nur auf Proxys ohne Authentifizierung ausgelegt. (Hierzu gibt es aber bereits eine Verbesserungsanfrage im Ubuntu-Wiki). Ich habe aber bereits getestet, dass man dort trotzdem Nutzername und Passwort eintragen kann, im gewohnten Format <nutzer>:<passwort>@<proxyhost>.
  2. herausfinden, wo dieser Eintrag gespeichert wird, und ob das sicher ist (muss zwangsläufig irgendwo im Homeverzeichnis des Nutzers sein, vermutlich unterhalb von ~/.gconf oder ~/.dconf oder ~/.config)
  3. viele Anfragen der Programme bleiben vermutlich im Provider-Proxy hängen. Das ist aber nicht festzustellen (keine Fehlermeldung, etc.).

Testbeispiel: Das sehr gute Periodensystemprogramm "kalzium" kann für jedes einzelne Element Indformationen aus Wikipedia abrufen. Das hat in der Schule bei mir niemals funktioniert. Irgendwo wird der Zugriff geblockt, doch ich habe nie herausgefunden, wo. (Bei uns? Beim Provider? Warum sollte überhaupt jemand Wikipedia blocken??) Das finde ich ziemlich ärgerlich.

Note: See TracTickets for help on using tickets.