Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
client:linux_in_vms [2018/11/21 14:56 CET] – Link auf Skripte korrigiert (tm-scripts -> mltk) sritterclient:linux_in_vms [2024/01/31 14:31 CET] (aktuell) – [Autologin] sddm: Session mit angeben simon
Zeile 1: Zeile 1:
 ====== Linux in virtuellen Maschinen ====== ====== Linux in virtuellen Maschinen ======
  
-===== Drucken =====+Wie bei den Windows-VMs empfehlen wir, unsere bereitgestellte Linux-Vorlage aus dem öffentlichen Austausch zu verwenden. Diese ist für den Poolbetrieb vorbereitet und muss nur noch um die von Ihnen benötigte Software erweitert werden.
  
-Bitte vergleichen Sie hierzu [[drucken_in_bwlehrpool#druckereinrichtung_in_linux-vm|Druckereinrichtung in Linux-VM]].+Falls Sie dennoch eine eigene Linux-VM von Grund auf neu erstellen wollen, müssen Sie einige Schritte beachten.
  
-===== Hilfsskripte ===== 
  
-Die für Linux vorhandenen Skripte zu Auflösungsanpassung und mounten von Netzlaufwerken sind innerhalb per Poolsystem gebooteter VMs auf dem zweiten Floppylaufwerk (/dev/fd1) nach dem Mounten im Unterverzeichnis 'linux' zu finden((Eine Angabe, wie Sie das Floppyabbild im Clientsystem finden, dürfte wenig zielführend sein - das Abbild wird jeweils beim Start einer VM erst erstellt.)). Sie finden die jeweils aktuellste Version im Netz [[http://git.openslx.org/openslx-ng/mltk.git/tree/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux|hier]]. Bitte betrachten Sie diese Skripte als Vorlagen; an Erweiterungen derselben und anderen Lösungen sind wir sehr interessiert.+===== Poolumfeld =====
  
-Händisches Mounten aus einer im Poolsystem gebooteten VM (es wird angenommen/mnt sei leerRootrechte erforderlich): +Im Poolumfeld sind Dinge wie AbschaltenSperrenUserwechsel und dergleichen natürlich eher sinnlosda sie entweder vom Grundsystem zur Verfügung gestellt werden (zBSperren des Monitors) oder schlichtweg unerwünscht sind (zBUserwechsel per Menu der Oberfläche, Schlafmodus, Logout innerhalb der VM). Diese sollten abgestellt werden, sind jedoch von der jeweils verwendeten Oberfläche abhängig.
-<code>mount /dev/fd1 /mnt</code> +
-… anschließend finden Sie die Skripte unter /mnt/linux und können diesewenn gewünscht, umkopierenBitte lesen Sie in jedem Fall die mitgelieferte Datei linux/LIESMICH bzwlinux/README.+
  
-Die Hilfsskripte beziehen ihre Informationen aus den im Grundverzeichnis der Pseudofloppy befindlichen Dateien openslx.ini und shares.dat. Die Datei HOSTRES.TXT wird nur noch aus Kompatibilitätsgründen eine Weile mitgeführt. Stützen Sie sich nicht auf HOSTRES.TXT, wenn Sie eigene Skripte schreiben bzw. die vorhandenen erweitern.+==== Autologin ====
  
-Damit sich die Auflösung innerhalb von bwLehrpool automatisch anpassen kannmuss ein entsprechendes Skript automatisch bei der Anmeldung ausgeführt werdenwelches die optimale Auflösung des verwendeten Bildschirms ermittelt und diese Auflösung anschließend setztBei den Vorlagen für Windows-VMs ist dafür beispielswiese die 'openslx.exe' im Laufwerk B:\ bereits im Autostart eingetragen. Für Linux-Umgebungen ist die Herangehensweise aufgrund der Distributionsverscheidenheit ein wenig anders.+Da die Authentifizierung in den Pools bereits vorher erfolgtist anzuraten, die VM-interne Userkennung direkt anzumelden (Autologin)Dies ist je nach Distribution, genauer gesagtJe nach verwendetem Displaymanager, unterschiedlich.
  
-Zur Auflösungsanpassung stehen bisher zwei Möglichkeiten zur Verfügung: +<note tip>Es ist empfehlenswertals Userkennung „student“ mit Paßwort „student“ zu verwenden. Die Linuxskripte erwarten diesen Usernamen.</note>
-  * ein Paket mit Auflösungsanpassung und nativem (innerhalb einer Linux-VM) Einhängen von Netzlaufwerken. +
-  * ein Skript lediglich zurverbunden mit etwas Handarbeit: resolution_standalone+
  
-==== Paket Auflösungsanpassung und Netzlaufwerke ====+  * openSuse: Setzen Sie in der Datei /etc/sysconfig/displaymanage den Eintrag DISPLAYMANAGER_AUTOLOGIN="student"
 +  * KDE/sddm allgemein (Kubuntu ua.): Öffnen Sie die KDE-Systemeinstellungen, dort „Starten und Beenden“. Wählen Sie den Reiter „Erweitert“ oder (Kubuntu) den Schalter „Verhalten“. Unter „Automatisch anmelden“ kann normalerweise die Userkennung gewählt werden; wenn nicht finden Sie dort gewöhnlich versionsspezifische Hinweise. 
 +  * Ubuntu: Gehen Sie zu den Systemeinstellungen, „Benutzer“, klicken auf „Entsperren“ und verschieben dann den Regler bei „Automatische Anmeldung“.
  
-Es steht weiterhin eine Paketlösung zur Verfügung, die sowohl für die automatische Auflösungsanpassung als auch für die native Einbindung der Netzlaufwerke sorgt. Die hierzu verwendeten Skripte werden zur VM-Laufzeit von der Pseudofloppy nachgeladen; zur lokalen Installation ist nur das Skript 'vm_installer' vonnöten. Unterstützt werden systemd-basierte Distributionen; eine Lösung mit initV-/etc/init.d/-Mechanismus ist zwar teilweise inbegriffen, wird jedoch nicht mehr gewartet.+Falls diese Hinweise nicht zielführend sindkönnen Sie noch die Standardmethoden für den jeweiligen Displaymanager probieren:
  
-Der Ablauf stellt sich in diesem Fall wie folgt dar:+=== Generisch sddm ===
  
-  * Das Skript 'vm_installer' erzeugt die systemd-Servicedateien 'openslx-resolution.service''openslx-mount.service' sowie 'openslx-umount.service' und verlinkt diese in graphical.target.wants, basic.target.wants und shutdown.target. Diese Servicedateien sorgen für das Mounten der Pseudofloppy unter /mnt/diskmount((/mnt/diskmount sollten Sie daher in Ihrer VM nicht für andere Zwecke anlegen.)) und starten die betreffenden Skripte resolution, mnt_shares und umnt_shares.+Hängen Sie wenn Eintrag nicht vorhandenansonsten editieren an die Datei /etc/sddm.conf.d/autologin.conf an:
  
-Dies sollte unter den derzeit vebreiteten Distributionen direkt funktionierenso diese systemd nutzen.+<code>[Autologin] 
 +User=student 
 +Session=plasma.desktop 
 +</code> 
 +Wenn Sie die Option **Session** nicht mit angebenwird im Normalfall eine leere Session gestartet ( = schwarzer Bildschirm). Gültige Sessions sehen Sie im Verzeichnis **/usr/share/xsessions**.
  
-=== Auflösungsanpassung ===+=== Generisch lightdm ===
  
-Das Skript resolution wartet eine gewisse Zeit auf den X-Server, paßt dessen Auflösung an, und prüft noch eine Weile, ob nach dem Userlogin (etwa von Seiten einer Desktopumgebung) evtl. eine andere, unerwünschte Auflösung gesetzt wird und korrigiert diese.+Fügen Sie an die Datei /etc/lightdm/lightdm.conf an: 
 +<code>[Seat:*] 
 +autologin-user=student 
 +autologin-user-timeout=0 
 +</code>
  
-=== Native Einbindung Netzlaufwerke ===+=== Generisch gdm3 ===
  
-Netzlaufwerke (Home und ggf. gemeinsame Netzlaufwerke) können über die mitgelieferten Linuxskripte nativ innerhalb Linux-VMs ein- und ausgebunden werden, wenn die hierzu notwendigen Angaben vom Grundsystem übermittelt werden.+Hängen Sie an /etc/gdm3/custom.conf an: 
 +<code>AutomaticLoginEnable = true 
 +AutomaticLogin = student 
 +</code>
  
-<note tip>Sie können überprüfen, wie (Home-)Netzlaufwerke eingebunden werden, wenn Sie den Wert "remapMode" in der Datei openslx.ini im Grundverzeichnis der gemounteten Pseudofloppy /dev/fd1 betrachten:  +=== Generisch 'displaymanager' ===
-  * 0 Nichts tun. +
-  * 1 Home nativ, also innerhalb der VM mounten +
-  * 2 Fallback, also nativ probieren, bei Fehler VMWare-shared folder nutzen +
-  * 3 VMWare-shared folder nutzen. +
-Bitte beachten Sie, daß Sie für den VMWare-shared folder-Mechanismus entweder die originalen VMWare-Tools benötigen, oder im Falle der open-vm-tools ein hgfs-Kernelmodul kompilieren müssen! +
-</note>+
  
-<note important>Die Linux-Skripte erwarten des Standarduser "student". Sollten Sie eine andere Userkennung in Ihren Linux-VMs nutzen, müssen Sie ggf. per [[linux_in_vms#aktualisierte_skripte_per_konfigmodul|generischem Konfigmodul]] den per …/linux/includes/00-vars.inc übergebenen Wert LOCALUSER=student anpassen.</note>+Wenn Ihr Displaymanager die Datei /etc/sysconfig/displaymanager nutzt, kann auch dort eingefügt werden: 
 +<code> 
 +DISPLAYMANAGER_AUTOLOGIN="student
 +</code> 
 +==== Unerwünschte UI-Funktionen ====
  
-==== Händische Anpassung der Auflösung ====+Hier schlagen hauptsächlich der Abmelde-Button zu Buche, daneben auch Suspend-Modi, das Öffnen weiterer Session bzw Userwechsel und dergleichen. Diese Aufstellung kann bei der Vielzahl möglicher Desktop-Oberflächen nur schwerlich vollständig sein; bitte lassen sie uns wissen, wenn Sie hier fehlende Lösungen/Möglichkeiten haben!
  
-=== resolution_standalone ===+=== Abmelden-Button ===
  
-Ziehen Sie das Skript resolution_standalone entweder von der Pseudodiskette /dev/fd1 (s.o.) einer gestarteten VM, direkt per git((Direkt nach /usr/local/bin: [sudo] wget http://git.openslx.org/openslx-ng/tm-scripts.git/plain/remote/modules/run-virt/data/opt/openslx/vmchooser/data/linux/resolution_standalone -O /usr/local/bin/resolution_standalone)) oder direkt((https://www.bwlehrpool.de/lib/exe/fetch.php/uploads/akt_linuxfloppy.tar.gz)), kopieren es nach /usr/local/bin und sorgen für ein executable-Bit(([sudo] chmod 755 /usr/local/bin/resolution_standalone)).+== KDE ==
  
-Das weitere Vorgehen ist sehr stark von Ihrer Distribution anhängig. Der übliche Weg((Darüber läßt sich natürlich trefflich streitenHier wurde der Weg mit root-Rechten und etwas Gewalt begangen, um user-unabhängig beim X-Start bzw. X-Ende zu agieren.)) beim X-Start wäre über Xsetup bzw. bei X-Ende Xreset. Bedauerlicherweise ist nicht nur der Pfad zu Xsetup distributionsabhängig, sondern auch abhängig vom verwendeten Displaymanager, die wieder ihre eigenen Tücken bieten.+Unter Plasma (KDE 5) finden sich die fraglichen Knöpfe im Anwendungsmenu unter „Energieverwaltung / Sitzung“In ihrer Funktion erhalten bleiben sollten lediglich „Neustarten“ und „Herunterfahren“.
  
-=== openSuse (13.2===+Das Deaktivieren des Abmelden-Buttons sollte eigentlich mit Polkit funktionieren, scheint jedoch fehlerhaft zu sein (getestet unter openSuse 42.3). Daher wurde der Weg über das Verzeichnis [/home/student/].config/plasma-workspace/shutdown/ genommen, und darin ein einfaches Skript abgelegt((… das Skript können Sie natürlich nennen, wie Sie wollen, zB. „herunterfahren“)):
  
-Bereits eingebunden.+<code bash> 
 +#!/bin/sh 
 +sudo -n poweroff 
 +</code>
  
-=== Ubuntu und Derivate ===+Vergessen Sie anschließend nicht, das Skript mit ‚chmod +x [Skriptname]‘ ausführbar zu machen. Damit es funktioniert, muß der Befehl ‚poweroff‘ in der sudoers-Liste abgelegt werden (nutzen Sie dazu unbedingt ‚visudo‘):
  
-Einige Versionen liefern lightdm aus, leider mit mangelhafter Konfiguration((Bug ist Ubuntu bekannt)). Prüfen Sie daher, ob die Datei '/etc/lightdm/lightdm.conf.d/50-myconfig.conf' vorhanden ist (ggf. anlegen)und passen sie entsprechend an((Bzgl'autolog-user student'Autologin in die VM wird empfohlen.))+<code> 
 +student ALL=(ALLNOPASSWD: /sbin/poweroff 
 +</code> 
 + 
 +Anschließend löst ein Druck auf den Abmelden-Knopf einen Shutdown der virtMaschine aus. 
 + 
 +== lightdm == 
 + 
 +Hängen Sie in der /etc/lightdm/lightdm.conf eine Zeile des Inhalts <code>session-cleanup-script = /sbin/poweroff</code> anEin sudoers-Eintrag ist hier nicht vonnötenda lightdm das Skript mit Rootrechten ausführt. 
 + 
 +=== Sperren / Benutzerwechsel / Neue Session starten === 
 + 
 +== KDE == 
 + 
 +Fügen Sie der Datei [/home/student/].config/kdeglobals folgenden Abschnitt hinzu:
  
 <code> <code>
-[SeatDefaults+[KDE Action Restrictions][$i
-autologin-user=student +action/lock_screen=false 
-session-setup-script=/etc/X11/Xsetup +action/switch_user=false 
-session-cleanup-script=/etc/X11/Xreset +action/start_new_session=false 
-</code> +</code>
  
-=== Linux Mint ===+=== Standby-Modi (Suspend/Hibernate) ===
  
-Linux Mint nutzt mdm. Die zu prüfende Datei wäre in diesem Fall '/etc/mdm/mdm.conf'. Setzen Sie in diese ein, wenn nicht vorhanden:+Erstellen Sie im Verzeichnis /etc/polkit-1/rules.ein Datei namens 10-disable-suspend.rules und füllen sie mit  
 +<code> 
 +polkit.addRule(function(actionsubject) { 
 +    if (action.id == "org.freedesktop.login1.suspend" || 
 +        action.id == "org.freedesktop.login1.suspend-multiple-sessions" || 
 +        action.id == "org.freedesktop.login1.hibernate" || 
 +        action.id == "org.freedesktop.login1.hibernate-multiple-sessions"
 +    { 
 +        return polkit.Result.NO; 
 +    } 
 +}); 
 +</code> 
 + 
 +Sollte obiges nicht funktionieren, können Sie folgende Brutalinski-Methode testen: Suchen Sie im Verzeichnisse /usr/share/polkit-1/actions nach Vorkommen des Strings „org.freedesktop.login1.suspend“:
  
 <code> <code>
-[daemon] +cd /usr/share/polkit-1 
-AutomaticLoginEnable=true +grep -r 'org.freedesktop.login1.suspend'
-AutomaticLogin=student+
 </code> </code>
  
-Bedauerlicherweise entspricht der mdm nach Auskunft der Mint-Entwickler einem älteren gdm und hat wie dieser seine Mucken. Ein PreSessionScriptDir (Default:/etc/mdm/PreSession/) ist zwar konfigurierbardoch sucht und startet der mdm in diesem Verzeichnis nur "Default" (sowie ".0" und "[hostname]"). Daher sollte ziemlich am Anfang des Default-Skriptes <code>/usr/local/bin/resolution_standalone &</code> eingefügt werden.+Dies wird vermutlich die Datei „org.freedesktop.login1.policy“ im Unterverzeichnis „actions“ zu Tage fördern. Editieren Sie diese so, daß unter den Einträgen „<action id="org.freedesktop.login1.suspend">“ und evtl. „<action id="org.freedesktop.login1.suspend-multiple-sessions">“ bei „<allow_active>“ „no“ steht. Der Nachteil dieser Methode ist, dass in seltenen Fällen auch nach Reboot die Schaltflächen 'Suspend' zwar nicht mehr funktionieren, doch weiterhin angezeigt werden. 
 + 
 +== grub, systemd == 
 + 
 +Ein 
 +<code>systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target</code> 
 +sollte unerwünschte systemd-Targets (sleep, suspend, hibernate) deaktivieren. Eventuell ist auch empfehlenswert, den Wert resume aus der Kernel-Kommandozeile zu entfernen (/etc/default/grub editieren, anschl. ‚grub2-mkconfig -o /boot/grub2/grub.cfg‘ ausführen)
 + 
 +==== Automatische Updates ==== 
 + 
 +Automatische Updates ergeben im Poolumfeld natürlich ebenfalls keinen Sinn. Als Faustregel gilt, alles zu deaktivieren oder zu entfernen, was automatische Updates auslösen kann. Dies ist je nach Distribution durchaus unterschiedlichso dass hier nur allgemeine Hinweise gegeben werden können. 
 + 
 +  * Deaktivieren Sie automatische Updates womöglich auf Systemebene((Debian/Ubuntu: /etc/apt/apt.conf.d/20auto-upgrades)). 
 +  * Prüfen Sie evtl. crontabs auf zeitgesteuerte Updates. 
 +  * Deinstallieren Sie packagekitd. 
 +  * Wenn eine komplette Deinstallation (z.B. packagekit unter (K)ubuntu) nicht möglich ist, deinstallieren Sie lästige 'Pop-up-Programme' (z.B. plasma-discover). 
 + 
 +=== Ubuntu === 
 + 
 +Ubuntu ist bezüglich automatischer Updates besonders nervig, da eine Vielzahl von Mechanismen im System verankert ist. Deinstalliert werden sollten update-notifier, update-manager (auch als software-updater bekannt) und unattended-upgrades.
  
-=== Xsetup ===+Das Verzeichnis /etc/apt/apt.conf.d enthält Steuerdateien, die einen Teil der automatischen Updates konfigurieren. Insbesondere die Datei 20auto-upgrades sollte so editert werden, daß die relevanten Werte auf 0 (Null) stehen:
  
-Editieren Sie die Datei '/etc/X11/Xsetup' bzw. '/etc/X11/Xsetup', bzw. legen sie an, wenn nicht vorhanden, und fügen ein: 
 <code> <code>
-#!/bin/sh +APT::Periodic::Update-Package-Lists "0"; 
-/usr/local/bin/resolution_standalone &+APT::Periodic::Download-Upgradeable-Packages "0"; 
 +APT::Periodic::AutocleanInterval "0"; 
 +APT::Periodic::Unattended-Upgrade "0";
 </code> </code>
  
-<note important>Die Datei 'Xsetup' muss ausführbar sein -> ggf. 'chmod 755 /etc/X11/Xsetup' ausführen.</note>+Da die Dateien in /etc/apt/apt.conf.d praktisch von unten (00…) nach oben (99…) durchgegangen werden, kann es sein, daß Werte mehrfach bzw. in mehreren Datein gesetzt werden. In diesem Fall gewinnt der letzte Eintrag. Daher mag es sinnvoll sein, eine zusätzliche Datei a la "99periodic-disable' des Inhaltes 
 +<code> 
 +APT::Periodic::Enable "0"; 
 +</code> 
 +anzulegen.
  
-Danach sollte sich die Auflösung in den Poolräumen automatisch anpassen.+Darüber hinaus ist es empfehlenswert, folgende systemd-Dienste zu deaktivieren: 
 +<code> 
 +systemctl mask apt-daily-upgrade.timer 
 +systemctl mask apt-daily.timer 
 +systemctl mask apt-news.service 
 +systemctl mask esm-cache.service 
 +</code>
  
-==== Aktualisierte Skripte per Konfigmodul ====+Ein letztes besonders lästiges Popup kann durch Deinstallation der Pakete  
 +<code> 
 +dpkg -P gnome-software-plugin-snap gnome-software ubuntu-software 
 +</code> 
 +verhindert werden, wobei es zweifellos eleganter wäre, das verantwortliche Plugin zu identifizieren. 
 +===== Drucken =====
  
-Wenn Sie die in Ihrer Minilinux-Version enthaltenen Skripte vorab aktualisieren oder einfach nur einen Bugfix oder eine Erweiterung einbringen und testen wollen, können Sie die enthaltenen Skripte per "Generisches Modul" überlagernVerfahren Sie hierzu wie folgt:+Bitte vergleichen Sie hierzu [[drucken_in_bwlehrpool#druckereinrichtung_in_linux-vm|Druckereinrichtung in Linux-VM]].
  
-  * Legen Sie in irgendeinem Unterverzeichnis folgende Verzeichnisstruktur an: opt/openslx/vmchooser/data/linux: <code>mkdir -p ./opt/openslx/vmchooser/data/linux</code>; +===== Hilfsskripte =====
-  * Kopieren Sie das zu überlagernde Skript in das Unterverzeichnis ./opt/openslx/vmchooser/data/linux; +
-  * Falls Sie eine der von mnt_shares oder umnt_shares nachgeladenen include-Dateien ändern wollen, erzeugen Sie noch ein Unterverzeichnis 'includes' (hinter dem Verzeichnis 'linux') und legen die geänderte Include-Datei dort ab. +
-  * Packen Sie die Änderungen ein: <code>tar czf floppyskripte.tgz opt/</code> und laden die entstandene tgz-Datei per 'Modul hinzufügen', 'Generisches Modul' auf den Satellitenserver und fügen diese der Systemkonfiguration hinzu. +
-  * Es ist eventuell ratsam, eine eigene Systemkonfiguration der bestehenden nachzubauen (mit gleichen Modulen bestückt), dieser das generische Modul hinzuzufügen und diese abgeleitete Systemkonfiguration per Satellitenserver-Raumkonfiguration zum Testen nur auf ausgewählten Rechnern / in ausgewählten Räumen starten zu lassen. Mehr dazu finden Sie im [[satellite:satellitenserver_handbuch|Satellitenserverhandbuch]], speziell Kapitel [[satellite:raeume_orte|Räume und Orte]].+
  
-<note tip>Sie finden ein solches generisches-Modul-Archiv übrigens [[https://www.bwlehrpool.de/lib/exe/fetch.php/uploads/akt_linuxfloppy.tar.gz|hier]] (Stand29.3.18).</note>+Analog zur "openslx.exe" in Windows-VMs wird ein im Poolbetrieb per systemd zu startendes Skript („openslx“ mit Hilfsskripten) zur Verfügung gestellt. Dieses kümmert sich im Poolbetrieb um 
 +  * die automatische Anpassung der Auflösung, 
 +  * Einbindung von Netzlaufwerken (Homeverzeichnis und weitere Laufwerke), 
 +  * ggf. Ausführung vorgegebener Startskripte. 
 + 
 +Das Skript ist im Poolbetrieb auf dem zweiten Floppylaufwerk (/dev/fd1) nach dem Mounten unter /mnt/diskmount((/mnt/diskmount sollten Sie daher in Ihrer VM nicht für andere Zwecke anlegen.)) im Unterverzeichnis 'linux' zu finden; die verwendeten include-Dateien unter 'linux/includes'((Eine Angabe, wie Sie das Floppyabbild im Clientsystem finden, dürfte wenig zielführend sein das Abbild wird erst beim Start einer VM erstellt.)). Sie finden die jeweils aktuellste Version im Netz [[http://git.openslx.org/openslx-ng/mltk.git/tree/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux|hier]]. Falls Sie die vom System übergebenen Skripte überlagern wollen, können Sie dies satellitenserverseitig mit einem generischen Konfigurationsmodul tun. Bitte betrachten Sie diese Skripte als Vorlagen; an Erweiterungen derselben und anderen Lösungen sind wir sehr interessiert. 
 + 
 +Händisches Mounten aus einer im Poolsystem gebooteten VM (es wird angenommen, /mnt sei leer, Rootrechte erforderlich): 
 +<code>mount /dev/fd1 /mnt</code> 
 +… anschließend finden Sie die Skripte unter /mnt/linux und können diese, wenn gewünscht, umkopieren. Bitte lesen Sie in jedem Fall die mitgelieferte Datei linux/LIESMICH bzw. linux/README. 
 + 
 +Die Hilfsskripte beziehen ihre Informationen aus den im Grundverzeichnis der Pseudofloppy befindlichen Dateien openslx.ini und shares.dat. Die Datei HOSTRES.TXT wird nur noch aus Kompatibilitätsgründen eine Weile mitgeführt. Stützen Sie sich daher nicht auf HOSTRES.TXT, wenn Sie eigene Skripte schreiben bzw. die vorhandenen erweitern wollen. 
 + 
 +Damit sich die Auflösung innerhalb von bwLehrpool automatisch anpassen kann, muss ein entsprechendes Skript automatisch bei der Anmeldung ausgeführt werden, welches die optimale Auflösung des verwendeten Bildschirms ermittelt und diese Auflösung anschließend setzt. Bei den Vorlagen für Windows-VMs ist dafür beispielswiese die 'openslx.exe' im Laufwerk B:\ bereits im Autostart eingetragen. Für Linux-Umgebungen ist die Herangehensweise aufgrund der Distributionsverscheidenheit ein wenig anders. 
 + 
 +Zur Auflösungsanpassung stehen bisher zwei Möglichkeiten zur Verfügung: 
 +  * ein Paket mit Auflösungsanpassung und nativem (innerhalb einer Linux-VM) Einhängen von Netzlaufwerken, sowie 
 +  * ein hauptsächlich zu Debugzwecken verwendetes Skript „resolution_standalone“ lediglich zur Auflösungsanpassung, verbunden mit etwas Handarbeit. 
 + 
 +<note important>Das Skript resolution_standalone wird nicht mehr gewartet. Es sollte daher generell das systemd-Skriptpaket genutzt werden.</note> 
 + 
 + 
 +==== Paket Auflösungsanpassung und Netzlaufwerke ==== 
 + 
 +Es steht weiterhin eine Paketlösung zur Verfügung, die sowohl für die automatische Auflösungsanpassung als auch für die native Einbindung der Netzlaufwerke sorgtDie hierzu verwendeten Skripte werden zur VM-Laufzeit von der Pseudofloppy nachgeladen; zur lokalen Installation ist nur das Skript 'vm_installer' vonnöten. Unterstützt werden systemd-basierte Distributionen; eine Lösung mit initV-/etc/init.d/-Mechanismus ist zwar teilweise inbegriffen, wird jedoch nicht mehr gewartet. 
 + 
 +Der Ablauf stellt sich in diesem Fall wie folgt dar: 
 + 
 +  * Das Skript 'vm_installer' erzeugt die systemd-Servicedateien 'openslx-resolution.service', 'openslx-mount.service' sowie 'openslx-umount.service' und verlinkt diese in graphical.target.wants, basic.target.wants und shutdown.target. Diese Servicedateien sorgen für das Mounten der Pseudofloppy unter /mnt/diskmount und starten die betreffenden Skripte resolution, mnt_shares und umnt_shares. 
 + 
 +Dies sollte unter den derzeit verbreiteten Distributionen direkt funktionieren, so diese systemd nutzen. Das Installskript finden Sie unter https://git.openslx.org/openslx-ng/mltk.git/plain/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/vm_installer - ggf. Rechtsklick, „Seite speichern unter“ oder bequem ‚wget [Adresse]‘ und anschließend innerhalb der VM ausführen. 
 + 
 +Also z.B. innerhalb der VM: 
 + 
 +<code> 
 +wget https://git.openslx.org/openslx-ng/mltk.git/plain/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/vm_installer 
 +sudo bash vm_installer 
 +</code> 
 + 
 +=== Auflösungsanpassung === 
 + 
 +Das vom 'openslx-resolution.service'-Dienst gestartete Skript resolution wartet eine gewisse Zeit auf den X-Server, paßt dessen Auflösung an und prüft noch eine Weile, ob nach dem Userlogin (etwa von Seiten einer Desktopumgebung) evtl. eine andere, unerwünschte Auflösung gesetzt wird. Diese wird dann korrigiert. 
 +  * AnmerkungIPv6 kann störenDeaktivieren Sie IPv6 testweise. 
 +  * Sollte die vom 'openslx-resolution.service'-Dienst korrekt eingestellte Auflösung sofort zurückgestellt werden, läuft vermutlich im Hintergrund ein Dienst der betreffenden Oberfläche((Der KDE-Hintergrunddienst kscreen_backend_launcher wird von der neuen Skriptversion Skript erkannt und beendet)). 
 +  * Wayland kann derzeit noch nicht unterstützt werden, daher ist X empfehlenswert. 
 + 
 +=== Native Einbindung Netzlaufwerke === 
 + 
 +Netzlaufwerke (Home und ggf. gemeinsame Netzlaufwerke) werden über die per 'openslx-mount.service'-Dienst gestarteten Linuxskripte nativ innerhalb Linux-VMs ein- und ausgebunden werden, wenn die hierzu notwendigen Angaben vom Grundsystem übermittelt werden. 
 + 
 +<note tip>Sie können überprüfen, wie (Home-)Netzlaufwerke eingebunden werden, wenn Sie den Wert "remapMode" in der Datei openslx.ini im Grundverzeichnis der gemounteten Pseudofloppy /dev/fd1 betrachten:  
 +  * 0 = Nichts tun. 
 +  * 1 = Home nativ, also innerhalb der VM mounten 
 +  * 2 = Fallback, also nativ probieren, bei Fehler VMWare-shared folder nutzen 
 +  * = VMWare-shared folder nutzen. 
 +Bitte beachten Sie, daß Sie für den VMWare-shared folder-Mechanismus entweder die originalen VMWare-Tools benötigen, oder im Falle der open-vm-tools ein hgfs-Kernelmodul kompilieren müssen! 
 + 
 +Die Einstellung des "remapMode" erfolgt im Web-Interface (slx-adminbei der Konfiguration des entsprechenden Auth-Moduls. 
 +</note> 
 + 
 +<note important>Die Linux-Skripte erwarten des Standarduser "student". Sollten Sie eine andere Userkennung in Ihren Linux-VMs nutzen, müssen Sie ggf. per [[linux_in_vms#aktualisierte_skripte_per_konfigmodul|generischem Konfigmodul]] den per …/linux/includes/00-vars.inc übergebenen Wert LOCALUSER=student anpassen.</note>
  
-<note important>Bitte beachten Sie, daß ein solches generisches Modul eventuelle Updates des Basissystems (Minilinux) überlagert. Wenn Sie also beispielsweise linux/mnt_shares über ein generisches Modul überlagern, wird ein im Basissystem upgedatetes mnt_shares auf den Clientrechnern nicht sichtbar. Prüfen Sie also nach Minilinux-Updates, ob das Modul noch vonnöten ist.</note> 
  
 ===== bwLehrpool-Suite-Startskript ===== ===== bwLehrpool-Suite-Startskript =====
Drucken/exportieren