Opened 11 years ago
Closed 11 years ago
#1882 closed Aufgabe (erledigt)
Virtuelles Windows auf Linuxmusterclients
| Reported by: | Rüdiger Kupper | Owned by: | Rüdiger Kupper |
|---|---|---|---|
| Priority: | schnell erledigen | Milestone: | Schuljahr 2014/15 |
| Component: | Software: Ubuntu | Severity: | beeinträchtigt den Unterricht einiger Lehrer |
| Keywords: | Cc: | bau |
Description
Auf den Linuxmusterclients soll ein Windows XP unter Virtualbox laufen.
Die Idee ist, einen zweiten X-Server ("Seat"?) auf Konsole 8 zu starten und dort Virtualbox bereits beim Hochfahren zu starten.
Change History (22)
comment:1 by , 11 years ago
comment:2 by , 11 years ago
Habe das XP.vdi von ltspl2 auf meinen Client kopiert. Lässt sich problemlos starten, mit der Konfiguration, wie wir sie auch auf den LTSPs verwendet haben.
- Startet automatisch als Nutzer "Nutzer"
- "Eigene Dateien" wird auf das Homeverzeichnis des aktuellen Nutzers verlinkt, der VirtualBox gestartet hat.
- TI-NSpire-Software lässt sich normal starten
- Infosys geht nicht, es sucht nach einer nicht vorhandenen *.bat-Datei.
comment:3 by , 11 years ago
Start der VM: 25 Sekunden
Start des TI: 63 Sekunden
Bis man also einen TI vfor sich hat, dauert das 88 Sekunden, also fast anderthalb Minuten!
Startet man mit einem Speicherabbild, so geht das Ganze in 8 Sekunden.
comment:4 by , 11 years ago
comment:5 by , 11 years ago
- Auf allen Clients ist jetzt eine Desktop-Sitzung eingerichtet, die das virtuellen Windows des jeweiligen Nutzers startet. (Am Anmeldebildschirm auf den weißen Kreis klicken und als Sitzung "Virtuelles Windows" auswählen. Die Sitzung läuft ohne Fenster-Manager und endet, sobald die VM beendet wird.
- Jeder Nutzer kann so seine individuelle WIndows-Maschine starten (wollen wir vielleicht gar nicht, dann kann man die Sitzung auch verstecken).
- Es gibt einen neuen lokalen Nutzer mit Username "windows" (Standardrechte), der ebenfalls eine Windows-VM mit unveränderlichem Inhalt eingerichtet hat.
- Auf den Clients der Rechnergruppe "lehrer" wird per Postsync-Skript eine LightDM-Konfiguration hinzugefügt, die einen zweiten "Seat" auf VT8 startet und dort automatisch den lokalen "windows"-Nutzer einloggt. (Muss noch getestet werden.) Die Sitzung läuft einfach durch und jeder Kollege kann mit Strg-Alt-F8 dorthin wechseln.
- TODO: In dieser Sitzung sollte noch automatisch Infosys gestartet werden (läuft aber zur Zeit nicht).
comment:6 by , 11 years ago
Hervorragend :-)
Dann testen wir mal den Seat auf der 8. Konsole.
Ich werde dann InfoSys so einrichten, dass es auf der 8. Konsole immer startet.
Das mit dem virtuellen Windows als Standard-Fenstermanager ist ja genial - das erzählen wir den Leutchens aber nicht aktiv :-)
comment:7 by , 11 years ago
Die Mini-Cases für die DSB sind angekommen, ich werde die mal zusammenbauen und ein möglichst minimales System aufspielen - ich liebäugle dabei (weil minimal) aber immernoch mit einem Debian (Jessie). Deine Erfahrungen mit der VBox ohne Windowmanager könnten wir da ja gleich einbauen.
comment:8 by , 11 years ago
Hm, die Reihenfolge, in der man die Seats definiert, hat keinen Einfluss darauf, welcher zuerst gestartet wird. Was das entscheidet, habe ich noch nicht herausgefunden.
Aber die Reihenfolge, in der die Konfigurationsdateien eingelesen werden, scheint etwas zu bewirken.
Die Seat-Definitionen stehen jetzt in einer Datei, die mit "30-" beginnt, nicht "50-". Bisher haben alle Lehrerrechner, die ich ausprobiert habe, damit den Ubuntu-Login angezeigt.
comment:9 by , 11 years ago
| Owner: | changed from to |
|---|---|
| Priority: | gering → hoch |
| Status: | new → assigned |
Nachdem ich gestern Sebastian natürlich gerade verpasst habe, hab ich mich hingesetzt und noch die Änderungen gemacht, über die wir gesprochen hatten:
- die Windows-Sitzung ist jetzt versteckt, so dass sie kein Nutzer mehr beim Login auswählen kann
- die Nutzer "linadmin", "windows", "lehrer" und "schuelte" werden von lightdm jetzt als Systemnutzer betrachtet und nicht mehr angezeigt
- ich habe eine zweite virtuelle Windows-Sitzung eingerichtet namens
kepler-virtual-windows-infosys.desktop. Diese wird jetzt als Autostart-Sitzung für den Nutzer "windows" benutzt und unterscheidet sich von der anderen Windows-Sitzung nur dadurch, dass sie zum Starten ein Skript abarbeitet.- das Startskript findest Du unter
/usr/share/virtualbox-vdi/infosys-session. Du brauchst hier nur noch die Befehle einzufügen, mit denen Du nach Start der VM von außen das Infosys startest.
- das Startskript findest Du unter
comment:10 by , 11 years ago
Hier mal der bisherige Inhalt der Datei /usr/share/virtualbox-vdi/infosys-session:
#!/bin/bash virtualbox --startvm XP --fullscreen # Befehle, um Infosys zu starten, hier einfügen:
comment:11 by , 11 years ago
Problem ist, dass lightdm einen Windowmanager erwartet. Den hast du zwar in den starter ausgelagert, aber sobald dort mehr als ein Befehl steht, startet der garnicht oder die Default-Session. Ich habe jetzt dem windows einen Autostarter verpasst, der die notwendigen Aktionen ausführt und das virtuelle Windows startet. Einziger Schönheitsfehler ist, dass der beim Beenden des virtuellen Windows halt noch eingelogged ist.
comment:12 by , 11 years ago
Für die Speicherabbilder (TI / InfoSys) würde ich folgendes vorschlagen:
- Speicherabbild liegt auf /dev/sda2 (/usr/share/virtualbox-vdi/) als
- TI.sav
- InfoSys.sav
- Starter als - verlinkt nach /usr/share/applications
- TI.desktop
- InfoSys.desktop
- Startscripte als
- TI.sh
- InfoSys.sh
- Die Scripte erzeugen jeweils ein eigenes virtuelles Windows
- XP-TI
- XP-InfoSys damit kommen sie dem normalen XP des Users nicht in die Quere
- Wichtig: Snapshots und Festplattenabbilder local ablegen unter
- /usr/share/virtualbox-vdi/cache/[username]/XP-TI
- /usr/share/virtualbox-vdi/cache/[username]/XP-InfoSys
- eventuell die ganze VM dort ablegen, dann taucht sie nichtmal im HomeVZ des Users auf
- Bei den bestehenden VM's der User sollten die ganzen Snapshots ebenfalls unter
- /usr/share/virtualbox-vdi/cache/[username]/XP abgelegt werden, damit nicht unnötig Daten über das Netz zum Server gesendet werden. Dazu muss aber der starter angepasst werden, da die Ballon-Datei der XP.vdi beim nächsten Anmelden an einem anderen Rechner nicht mehr dort ist, wo sie sein sollte
follow-up: 15 comment:13 by , 11 years ago
Das Problem mit dem NICHT-anzuzeigenden User windows in der würde sich nach
http://askubuntu.com/questions/92349/how-do-i-hide-a-particular-user-from-the-lightdm-login-screen
auch dadurch erledigen lassen, dass man dem user windows eine ID < 1000 verpasst. Wenn ich das mache, dann passiwrt dasselbe, wie wenn ich die Datei
/var/lib/AccountsService/users/windows
mit dem Inhalt
[User] SystemAccount=true
anlege - lightdm startet nicht mehr das virtuelle Windows als Standard-Sitzung sondern eine Ubuntu-Session :-( Offenbar will lightdm die Session nur dann starten, wenn es den user auch anzeigen darf.
follow-up: 16 comment:14 by , 11 years ago
Start mit Speicherabbild des TINSpire fertiggestellt.
- Es wird eine VM XP_TI angelegt
- XP.vdi als immutable disk hinzugefügt
- Status auf gesichert gesetzt
- VM gestartet
Die XP-Maschine der User ist davon nicht betroffen.
Probleme machte, dass VBox sich die Ballondateien im Medienmanager gemerkt hatte, diese werden vorab per Script gelöscht. Die Dateien liegen nun auhc nicht mehr im HomeVZ des Users, sondern unter /usr/share/virtualbox-vdi/Snapshots, wo sie regelmäßig (vor dem Start) gelöscht werden.
comment:15 by , 11 years ago
Replying to bau:
anlege - lightdm startet nicht mehr das virtuelle Windows als Standard-Sitzung sondern eine Ubuntu-Session :-( Offenbar will lightdm die Session nur dann starten, wenn es den user auch anzeigen darf.
Nein, denn im letzten Image war diese Datei auch genau so drin, und da hat es funktioniert.
Stell einfach mal die Windows-Sitzung fertig und lad das neue XP-Image hoch. Dann bringen wir's schon wieder in den "richtigen" Zustand :-).
Es gibt nur ein paar zuviele Orte, an denen sich lightdm etwas merkt. Seit unserer Version 14.04 hat sich an der lightdm-Konfiguration wieder einiges geändert, ein paar Orte für Konfigurationsdateien wurden z.B. einfach gestrichen. Offenbar haben die Entwickler selbst gemerkt, dass sie sich bei der Konfiguration irgendwo selbst ins Knie schießen.
Also: Erstmal auf das Windows-Image konzentrieren.
comment:16 by , 11 years ago
kling gut!
Replying to bau:
Start mit Speicherabbild des TINSpire fertiggestellt.
- Es wird eine VM XP_TI angelegt
- XP.vdi als immutable disk hinzugefügt
- Status auf gesichert gesetzt
- VM gestartet
Die XP-Maschine der User ist davon nicht betroffen.
Probleme machte, dass VBox sich die Ballondateien im Medienmanager gemerkt hatte, diese werden vorab per Script gelöscht. Die Dateien liegen nun auhc nicht mehr im HomeVZ des Users, sondern unter /usr/share/virtualbox-vdi/Snapshots, wo sie regelmäßig (vor dem Start) gelöscht werden.
comment:17 by , 11 years ago
XP-Image ist fertig und auf dem Server :-)
Läuft auch auf dem Schülernetzclient prima!
Das Schnellstart-TINSpire-XP liegt unter
/usr/share/virtualbox-vdi/start_TI.sh
/usr/share/virtualbox-vdi/TINSpire.desktop
und startet die neu angelegte Maschine XP_TI sekundenschnell. (-> Starter im nächsten Image verfügbar machen)
Die User können nach wie vor ihr virtuelles Windows (VM: XP) starten, die autostart.bat in der VM mountet das Share
vboxsrv\home nach H:, dort liegen dann die Eigenen Dateien.
comment:18 by , 11 years ago
| Owner: | changed from to |
|---|---|
| Severity: | unkritisch → normal |
| Status: | assigned → accepted |
comment:19 by , 11 years ago
Wird eigentlich beim friendly-logout der windows-User auf seat:1 verschont?
Das wäre blöd, wenn der ausgelogged würde!
comment:20 by , 11 years ago
Gute Frage. Ich schätze, derzeit wird er ausgeloggt. Da muss ich mein Skript anpassen!
comment:22 by , 11 years ago
| Resolution: | → erledigt |
|---|---|
| Status: | accepted → closed |
Das ist mir noch unklar: