Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
client:linux_in_vms [2018/03/29 17:39 CEST] – [Aktualisierte Skripte per Konfigmodul] chr | client: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 | + | Falls Sie dennoch eine eigene |
- | ===== 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 ' | + | ===== Poolumfeld ===== |
- | Händisches Mounten aus einer im Poolsystem gebooteten VM (es wird angenommen, /mnt sei leer, Rootrechte erforderlich): | + | Im Poolumfeld sind Dinge wie Abschalten, Sperren, Userwechsel |
- | < | + | |
- | … anschließend finden Sie die Skripte unter / | + | |
- | 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, | + | ==== Autologin ==== |
- | Damit sich die Auflösung innerhalb von bwLehrpool automatisch anpassen kann, muss ein entsprechendes Skript automatisch bei der Anmeldung ausgeführt werden, welches | + | Da die Authentifizierung in den Pools bereits vorher erfolgt, ist anzuraten, die VM-interne Userkennung direkt anzumelden (Autologin). Dies ist je nach Distribution, |
- | Zur Auflösungsanpassung stehen bisher zwei Möglichkeiten zur Verfügung: | + | <note tip>Es ist empfehlenswert, als Userkennung „student“ |
- | * ein Paket mit Auflösungsanpassung und nativem (innerhalb einer Linux-VM) Einhängen von Netzlaufwerken. | + | |
- | * ein Skript lediglich zur, verbunden | + | |
+ | * openSuse: Setzen Sie in der Datei / | ||
+ | * KDE/sddm allgemein (Kubuntu ua.): Öffnen Sie die KDE-Systemeinstellungen, | ||
+ | * Ubuntu: Gehen Sie zu den Systemeinstellungen, | ||
- | ==== Paket Auflösungsanpassung und Netzlaufwerke ==== | + | Falls diese Hinweise nicht zielführend sind, können Sie noch die Standardmethoden für den jeweiligen Displaymanager probieren: |
- | 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; | + | === Generisch sddm === |
- | Der Ablauf stellt sich in diesem Fall wie folgt dar: | + | Hängen Sie - wenn Eintrag nicht vorhanden, ansonsten editieren - an die Datei / |
- | | + | < |
+ | User=student | ||
+ | Session=plasma.desktop | ||
+ | </ | ||
+ | Wenn Sie die Option **Session** nicht mit angeben, wird im Normalfall eine leere Session gestartet ( = schwarzer Bildschirm). Gültige Sessions sehen Sie im Verzeichnis **/usr/share/xsessions**. | ||
- | Dies sollte unter den derzeit vebreiteten Distributionen direkt funktionieren, | + | === Generisch lightdm === |
- | === Auflösungsanpassung === | + | Fügen Sie an die Datei / |
+ | < | ||
+ | autologin-user=student | ||
+ | autologin-user-timeout=0 | ||
+ | </ | ||
- | 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. | + | === Generisch gdm3 === |
- | === Native Einbindung Netzlaufwerke === | + | Hängen Sie an / |
+ | < | ||
+ | AutomaticLogin | ||
+ | </ | ||
- | 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. | + | === Generisch ' |
- | <note tip>Sie können überprüfen, | + | Wenn Ihr Displaymanager die Datei /etc/sysconfig/ |
- | * 0 = Nichts tun. | + | < |
- | * 1 = Home nativ, also innerhalb der VM mounten | + | DISPLAYMANAGER_AUTOLOGIN=" |
- | * 2 = Fallback, also nativ probieren, bei Fehler VMWare-shared folder nutzen | + | </ |
- | * 3 = VMWare-shared folder nutzen. | + | ==== Unerwünschte UI-Funktionen ==== |
- | 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! | + | |
- | </ | + | |
- | ==== Händische Anpassung | + | Hier schlagen hauptsächlich |
+ | === Abmelden-Button === | ||
+ | == KDE == | ||
- | === resolution_standalone === | + | 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“. |
- | Ziehen Sie das Skript resolution_standalone entweder von der Pseudodiskette / | + | Das Deaktivieren des Abmelden-Buttons sollte eigentlich mit Polkit funktionieren, |
- | Das weitere Vorgehen ist sehr stark von Ihrer Distribution anhängig. Der übliche Weg((Darüber läßt sich natürlich trefflich streiten. Hier 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, | + | <code bash> |
+ | #!/bin/sh | ||
+ | sudo -n poweroff | ||
+ | </ | ||
- | === openSuse (13.2) === | + | Vergessen Sie anschließend nicht, das Skript mit ‚chmod +x [Skriptname]‘ ausführbar zu machen. Damit es funktioniert, |
- | Bereits eingebunden. | + | < |
+ | student ALL=(ALL) NOPASSWD: / | ||
+ | </ | ||
- | === Ubuntu und Derivate === | + | Anschließend löst ein Druck auf den Abmelden-Knopf einen Shutdown der virt. Maschine aus. |
- | Einige Versionen liefern | + | == lightdm |
+ | |||
+ | Hängen | ||
+ | |||
+ | === Sperren / Benutzerwechsel / Neue Session starten === | ||
+ | |||
+ | == KDE == | ||
+ | |||
+ | Fügen Sie der Datei [/home/student/].config/ | ||
< | < | ||
- | [SeatDefaults] | + | [KDE Action Restrictions][$i] |
- | autologin-user=student | + | action/ |
- | session-setup-script=/etc/ | + | action/ |
- | session-cleanup-script=/ | + | action/start_new_session=false |
- | </ | + | </ |
- | === Linux Mint === | + | === Standby-Modi (Suspend/ |
+ | |||
+ | Erstellen Sie im Verzeichnis / | ||
+ | < | ||
+ | polkit.addRule(function(action, | ||
+ | if (action.id == " | ||
+ | action.id == " | ||
+ | action.id == " | ||
+ | action.id == " | ||
+ | { | ||
+ | return polkit.Result.NO; | ||
+ | } | ||
+ | }); | ||
+ | </ | ||
- | 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: | + | Sollte obiges nicht funktionieren, |
< | < | ||
- | [daemon] | + | cd / |
- | AutomaticLoginEnable=true | + | grep -r ' |
- | AutomaticLogin=student | + | |
</ | </ | ||
- | Bedauerlicherweise entspricht der mdm nach Auskunft der Mint-Entwickler einem älteren gdm und hat wie dieser seine Mucken. Ein PreSessionScriptDir (Default:/ | + | 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 „< |
- | === Xsetup | + | == grub, systemd |
+ | |||
+ | Ein | ||
+ | < | ||
+ | sollte unerwünschte systemd-Targets (sleep, suspend, hibernate) deaktivieren. Eventuell ist auch empfehlenswert, | ||
+ | |||
+ | ==== 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 unterschiedlich, | ||
+ | |||
+ | * Deaktivieren Sie automatische Updates womöglich auf Systemebene((Debian/ | ||
+ | * 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 ' | ||
+ | |||
+ | === Ubuntu === | ||
+ | |||
+ | Ubuntu ist bezüglich automatischer Updates besonders nervig, da eine Vielzahl von Mechanismen im System verankert ist. Deinstalliert werden sollten update-notifier, | ||
+ | |||
+ | Das Verzeichnis / | ||
- | Editieren Sie die Datei '/ | ||
< | < | ||
- | #!/bin/sh | + | APT:: |
- | / | + | APT:: |
+ | APT:: | ||
+ | APT:: | ||
</ | </ | ||
- | <note important> | + | 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 " |
+ | < | ||
+ | APT:: | ||
+ | </code> | ||
+ | anzulegen. | ||
- | Danach sollte sich die Auflösung in den Poolräumen automatisch anpassen. | + | Darüber hinaus ist es empfehlenswert, |
+ | < | ||
+ | systemctl mask apt-daily-upgrade.timer | ||
+ | systemctl mask apt-daily.timer | ||
+ | systemctl mask apt-news.service | ||
+ | systemctl mask esm-cache.service | ||
+ | </ | ||
- | ==== Aktualisierte Skripte per Konfigmodul | + | Ein letztes besonders lästiges Popup kann durch Deinstallation der Pakete |
+ | < | ||
+ | dpkg -P gnome-software-plugin-snap gnome-software ubuntu-software | ||
+ | </ | ||
+ | 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 " | + | Bitte vergleichen |
- | | + | ===== Hilfsskripte ===== |
- | * Kopieren Sie das zu überlagernde | + | |
- | * Falls Sie eine der von mnt_shares oder umnt_shares nachgeladenen include-Dateien ändern wollen, erzeugen Sie noch ein Unterverzeichnis | + | Analog zur " |
- | * Packen | + | |
- | * Es ist eventuell ratsam, eine eigene Systemkonfiguration | + | * 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 / | ||
+ | |||
+ | Händisches Mounten aus einer im Poolsystem gebooteten VM (es wird angenommen, /mnt sei leer, Rootrechte erforderlich): | ||
+ | < | ||
+ | … 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/ | ||
+ | |||
+ | 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, | ||
+ | |||
+ | 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 ' | ||
+ | |||
+ | 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, | ||
+ | * ein hauptsächlich | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | |||
+ | ==== 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 sorgt. Die hierzu verwendeten Skripte werden zur VM-Laufzeit von der Pseudofloppy nachgeladen; | ||
+ | |||
+ | Der Ablauf stellt sich in diesem Fall wie folgt dar: | ||
+ | |||
+ | * Das Skript ' | ||
+ | |||
+ | Dies sollte unter den derzeit verbreiteten Distributionen direkt funktionieren, | ||
+ | |||
+ | Also z.B. innerhalb der VM: | ||
+ | |||
+ | < | ||
+ | wget https://git.openslx.org/ | ||
+ | sudo bash vm_installer | ||
+ | </ | ||
+ | |||
+ | === Auflösungsanpassung === | ||
+ | |||
+ | Das vom ' | ||
+ | * Anmerkung: IPv6 kann stören. Deaktivieren Sie IPv6 testweise. | ||
+ | * Sollte die vom ' | ||
+ | * 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 ' | ||
+ | |||
+ | <note tip>Sie können überprüfen, | ||
+ | * 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! | ||
+ | |||
+ | Die Einstellung des " | ||
+ | </ | ||
- | < | + | < |
- | <note important> | ||
===== bwLehrpool-Suite-Startskript ===== | ===== bwLehrpool-Suite-Startskript ===== |