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 15 years ago

Closed 12 years ago

Last modified 9 years ago

#304 closed Aufgabe (erledigt)

Wine-Installationen auf LTSP organisieren

Reported by: Rüdiger Kupper Owned by: bau
Priority: bei Gelegenheit Milestone:
Component: Software: Ubuntu Severity: beeinträchtigt keinen Unterricht
Keywords: Cc: bau, Rüdiger Kupper

Description

Auf den LtspServern sollten Windows-Programme unter Wine laufen.

Aufgabe: Herausfinden, wie das laufen soll, ohne dass jeder einzelne Nutzer die komplette Installation in seinem Homeverzeichnis haben muss.

Change History (26)

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

Component: Computerterminals (LTSP) → Software (Ubuntu)
Milestone: → unbestimmt
Owner: changed from Rüdiger Kupper to bau
Severity: → unkritisch
Status: new → assigned

@bau: Kannst Du mal im Wiki dokumentieren, wie Du das beim Basic-Stamp-Editor gelöst hast?

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

Siehe LtspWine.

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

Resolution: → erledigt
Status: assigned → closed

So, es hat eine Weile gedauert, aber ich habe jetzt Dein wine-Starter-Skript für die LTSPs angepasst. Beschreibung und Anleitung siehe LtspWine.

Zwei Testprogramme sind installiert, inklusive Menüeinträgen: "Brain Tutor" und "Sketchup". Bitte ausprobieren!

comment:4 by bau, 14 years ago

Geil die Zweite!
Gute Arbeit! Das ist richtig Klasse!

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

Das Starterskript auf den Notebook liegt nun auch in der Version vor, die auf den LTSP-Servern installiert ist, siehe LtspWine.
Die verschiedenen Wine-Umgebungen liegen also unter '/usr/share/wineprefixes/', und die *.desktop-Files kommen nach '/usr/share/applications', Vorlage siehe hier: LtspWine.

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

Als weiteren Testfall habe ich das Windows-Programm "Feldlab" vom Klett-Verlag installiert (kennst Du aus der Stunde, bei der Du zu Besuch warst), sowohl auf den LTSP-Servern wie auch auf den Notebooks.

Damit können die Schüler nun also im Computerraum arbeiten, Frau Müller möchte das Programm auf den Notebooks in ihrem Lehrprobenzeitraum verwenden.

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

P.S.: Ob die Lizenz eine solche Netzwerkinstallation hergibt, konnte ich nicht herausfinden.

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

Cc: mle pal added
Resolution: erledigt
Status: closed → reopened

Das Programm "Feldlab" ist jetzt auf allen Ubuntu-Clients verfügbar (Klassenräume und oberer Computerraum), und seit eben auch im Image für die Ubuntu-Notebooks.

Das Image muss nun auf den Physik-Notebooks synchronisiert werden. Das möchte ich ungern alleine machen, weil ich dann alle sechs Notebooks einmal anschließen, synchronisieren und wieder wegpacken muss. Schneller geht's wenn (a) man das die Schüler machen lässt oder (b) ihr mir helft.

Das geht so:

  1. Notebook mit Netzwerkkabel ans Schülernetz (Klassenraum) anschließen
  2. Im Startmenü den Punkt "LINBO" wählen
  3. auf den Knopf "Sync+Start" klicken
  4. warten, bis das Betriebssystem startet

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

Cc: bau Rüdiger Kupper added
Owner: changed from bau to mle
Status: reopened → assigned

comment:10 by bau, 14 years ago

Cc: mle pal removed

Ich habe grade in meinem Account unter .wine die TINSpire Teacher-Software installiert - läuft schonmal (leider nur als 90-Tage-Testlizenz). Ich muss jetzt mal das Programm auf die LTSP kopieren und schauen, wie der Starter funktioniert.

comment:11 by bau, 14 years ago

Owner: changed from mle to bau

in reply to:  10 comment:12 by Rüdiger Kupper, 14 years ago

Replying to bau:

Ich habe grade in meinem Account unter .wine die TINSpire Teacher-Software installiert - läuft schonmal (leider nur als 90-Tage-Testlizenz). Ich muss jetzt mal das Programm auf die LTSP kopieren und schauen, wie der Starter funktioniert.

Die Wine-Umgebung kopieren nach /usr/share/wineprefixes/<name>, also z.B. /usr/share/wineprefixes/inspire.
Aufruf siehe dann Beispiele unter LtspWine#Aufruf.

comment:13 by bau, 14 years ago

Erfolg :-)
Ich habe nun auf ltsp1 eine 88-Tage Testlizenz eingespielt unter

/usr/share/wineprefixes/TINSpire

Der Desktop-Starter liegt derzeit bei mir im Verzeichnis ~bau/Desktop
das Desktop-Icon auf dem ltsp1 unter

/usr/share/pixmaps/TINSpire.png

Gibt es da ein schnelles Script, mit dem man die Installation auf die anderen ltsp kopieren kann (das kommt ja alle drei Monate mal vor)?
Gut wäre natürlich, das Programm in den Startern zur Verfügung zu stellen und den Mathekollegen am Besten gleich auf den Desktop zu legen.

in reply to:  13 comment:14 by Rüdiger Kupper, 14 years ago

Replying to bau:

Gibt es da ein schnelles Script, mit dem man die Installation auf die anderen ltsp kopieren kann (das kommt ja alle drei Monate mal vor)?

Als linadmin auf dem betreffenden LtspServer einloggen und dann

rsync-to-all-ltsp-servers /usr/share/wineprefixes/TINSpire

Gut wäre natürlich, das Programm in den Startern zur Verfügung zu stellen

Dazu kopierst Du einfach Deine Starter-Datei nach /usr/share/applications/<blabla.desktop>
und verteilst sie dann auf alle Server:

rsync-to-all-ltsp-servers /usr/share/applications/<blabla.desktop>

Mit dem Icon verfährst Du genauso.

Ab da lässt sich das Programm wie gewohnt über den Unity-Dash starten.

und den Mathekollegen am Besten gleich auf den Desktop zu legen.

Das geht wohl von Hand am schnellsten, sind ja nicht viele Kollegen. Einfach die *.desktop-Datei auf deren Desktop kopieren.
Oder Du schreibst eine Mail und erklärst, wie sie das Programm über den Unity-Dash starten. Ich hab die Vermutung, dass die meisten Kollegen gar nicht wissen, was es da alles gibt...

comment:15 by bau, 14 years ago

Prima Script, aber es fragt mich leider mehrmals nach dem Freischalten des Keys, wäre das über die Abfrage am Anfang und anschließender Speicherung in einer Variable machbar? Oder gab es da nicht die Möglichkeit das Passwort im keyring zu speichern und diesen einmal für die Session zu öffnen?

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

Geht bestimmt irgendwie. Ich hab's damals einige Zeit versucht und dann beschlossen, dass ich nicht mehr Zeit in's lösen dieses Problems stecken sollte, als es dauert, alle paar Tage mal das Passwort zu tippen ;-).

comment:17 by bau, 14 years ago

Die Musterlösung macht das mit einem key ohne Passwort (zum Login auf den IPCop).
Will heißen: Wer auf einen ltsp als linadmin draufkommt, der kommt auch auf die anderen.
Wäre kein großes Sicherheitsproblem denke ich.

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

Hm, würde ich nicht machen. Eine wesentliche Sicherheitsidee eines public-private-keypairs ist, dass man zur Verwendung zweierlei braucht: "someting you have" (Datei) und "something you know" (Passphrase). Wenn man die Passphrase leer lässt, hebelt man mutwillig eins der Sicherheitsfeatures aus...

-> ​wikipedia:Two-factor_authentication

Für sowas gibt's ja gerade den Gnome-Keyring, oder den ssh-agent. Mit dem ssh-agent müsste man es auf alle Fälle hinbekommen, nur ein einziges mal gefragt zu werden. Wie gesagt, es hat mich einfach noch nicht genügend gestört, ich brauche das Skript nur alle paar Wochen mal.

Ich schau mal, vielleicht bekomme ich es ja schnell hin.

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

So, das Skript verwendet jetzt den ssh-Agent, um die ssh-Passphrase zwischenzuspeichern.
Zudem verhindert es, dass man Quatsch anstellt, indem es sicherstellt

  • dass das Skript als root ausgeführt wird (sonst werden die Dateieigenschaften nicht korrekt kopiert)
  • dass alle Pfade in absolute Pfade umgewandelt werden (sonst könnte eine Datei, die auf dem Quellserver im aktuellen Arbeitsverzeichnis liegt, auf dem Zielserver im Rootverzeichnis landen)
  • dass an die Pfade "/" angehängt wird, wenn Verzeichnisse kopiert werden sollen (weil die rsync-Sytax da einen Unterschied macht, und das Verhalten ohne "/" ist fast sicher nicht da, was man von diesem Skript will)

-> changeset:462/keplertools

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

TODO: Was jetzt noch hübsch wäre, wäre ein Skript, das das zur-Verfügung-Stellen einer neuen wine-Umgebung (inklusive Starter) automatisiert. (Aber nicht mehr heute, ein bißchen Unterricht muss ich auch noch vorbereiten.)

comment:21 by bau, 14 years ago

Prima :-)
Es macht immer wieder Spaß, wenn sowas dann tut!

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

Hm, der TI-Starter tut bei mir nicht, kann aber nur ein kleines Problem sein:

kup@ltsp145:~$ winestarter.sh TINSpire "C:/Program Files (x86)/TI Education/TI-Nspire CAS Teacher Software/TI-Nspire CAS Teacher Software.exe"
NOW RUNNING AS USER root.
System wine prefix: /usr/share/wineprefixes/TINSpire
User wine prefix: /tmp/wineprefixes/kup/TINSpire
creating temporary user prefix directory...
 running rsync...
 creating link for device h:...
ln: Symbolische Verknüpfung »/tmp/wineprefixes/kup/TINSpire/dosdevices/h:“ konnte nicht angelegt werden: Datei oder Verzeichnis nicht gefunden
 running chown...
 ... done.
NOW RUNNING AS USER kup.
WINEPREFIX=/tmp/wineprefixes/kup/TINSpire
wine: cannot find 'C:/Program Files (x86)/TI Education/TI-Nspire CAS Teacher Software/TI-Nspire CAS Teacher Software.exe'

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

Alles klar, Dich hat das rsync-Skript reingelegt: Du hattest vermutlich beim Verzeichnis kopieren keinen "/" angehängt -- das macht das Skript in Zukunft selbst.

Daher liegt im Verzeichnis "/usr/share/wineprefixes/TINSpire" nochmal ein Verzeichnis "TINSpire". Korriere ich, dann geht's.

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

Das Problem mit dem doppelten Verzeichnis existierte nur auf dem ltsp1, dann war das derjenige, von dem Du auf die anderen kopiert hast. Ist klar.

Wie gesagt: Das passiert mit dem Skript in Zukunft nicht mehr.

(Du kennst die eigenartige Syntax von rsync mit/ohne Schrägstrich? Ohne Schrägstrich meint es das Verzeichnis selbst, mit Schrägstrich den Inhalt des Verzeichnisses...)

comment:25 by Rüdiger Kupper, 12 years ago

Resolution: → erledigt
Status: assigned → closed

comment:26 by Rüdiger Kupper, 9 years ago

Milestone: unbestimmter Termin

Milestone unbestimmter Termin deleted

Note: See TracTickets for help on using tickets.