Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
client:linux_in_vms [2017/02/09 17:20 CET] – angelegt chr | client:linux_in_vms [2024/01/30 14:58 CET] – [Automatische Updates] chr | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Linux in virtuellen Maschinen ====== | ====== Linux in virtuellen Maschinen ====== | ||
- | ===== Hilfsskripte ===== | + | 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. |
- | Die für Linux vorhandenen Skripte sind innerhalb per Poolsystem gebooteter VMs auf dem zweiten Floppylaufwerk (/dev/fd1) nach dem Mounten im Unterverzeichnis ' | + | Falls Sie dennoch eine eigene |
- | Händisches Mounten (es wird angenommen, /mnt sei leer, Rootrechte erforderlich): | ||
- | < | ||
- | … anschließend finden Sie die Skripte unter /mnt/linux und können diese 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 nicht auf HOSTRES.TXT, | + | ===== Poolumfeld ===== |
- | ===== Automatische Anpassung | + | Im Poolumfeld sind Dinge wie Abschalten, Sperren, Userwechsel und dergleichen natürlich eher sinnlos, da sie entweder vom Grundsystem zur Verfügung gestellt werden (zB. Sperren des Monitors) oder schlichtweg unerwünscht sind (zB. Userwechsel per Menu der Oberfläche, |
- | 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 ' | + | ==== Autologin ==== |
- | Zur Auflösungsanpassung stehen bisher zwei Möglichkeiten zur Verfügung: | + | Da die Authentifizierung in den Pools bereits vorher erfolgt, ist anzuraten, die VM-interne Userkennung direkt anzumelden (Autologin). Dies ist je nach Distribution, |
- | * lediglich Auflösungsanpassung, verbunden mit etwas Handarbeit: resolution_standalone, | + | |
- | * ein Paket mit Auflösungsanpassung und nativem (innerhalb einer Linux-VM) Einhängen von Netzlaufwerken. | + | |
- | ===== resolution_standalone ===== | + | <note tip>Es ist empfehlenswert, |
- | Ziehen | + | * openSuse: Setzen |
+ | * KDE/sddm allgemein | ||
+ | * Ubuntu: Gehen Sie zu den Systemeinstellungen, „Benutzer“, | ||
- | Das weitere Vorgehen ist sehr stark von Ihrer Distribution anhängig. Der übliche Weg((Darüber läßt sich natülich 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. Bedauerlicherweise ist der Pfad zu Xsetup distributionsabhängig. | + | Falls diese Hinweise nicht zielführend sind, können Sie noch die Standardmethoden für den jeweiligen Displaymanager probieren: |
- | * openSuse (13.2): / | + | === Generisch sddm === |
- | * div. Ubuntu, Debian, Derivate: / | + | |
- | Zudem muß sichergestellt werden, daß Xsetup auch beim X-Start gestartet wird. Mehrere Distributionen liefern Displaymanager mit unvollständiger Konfiguration aus, so daß geprüft werden muß, ob Xsetup/Xreset auch eingebunden wird: | + | Hängen Sie - wenn Eintrag nicht vorhanden, ansonsten editieren |
- | ==== openSuse (13.2) ==== | + | < |
+ | User=student | ||
+ | </ | ||
- | Bereits eingebunden. | + | === Generisch lightdm === |
- | ==== Ubuntu und Derivate ==== | + | Fügen Sie an die Datei / |
+ | < | ||
+ | autologin-user=student | ||
+ | autologin-user-timeout=0 | ||
+ | </ | ||
- | Einige Versionen liefern lightdm aus, leider mit mangelhafter Konfiguration((Bug ist Ubuntu bekannt)). Prüfen Sie daher, ob die Datei '/ | + | === Generisch gdm3 === |
+ | Hängen Sie an / | ||
+ | < | ||
+ | AutomaticLogin = student | ||
+ | </ | ||
+ | |||
+ | === Generisch ' | ||
+ | |||
+ | Wenn Ihr Displaymanager die Datei / | ||
< | < | ||
- | [SeatDefaults] | + | DISPLAYMANAGER_AUTOLOGIN="student" |
- | autologin-user=student | + | </code> |
- | session-setup-script=/etc/ | + | ==== Unerwünschte UI-Funktionen ==== |
- | session-cleanup-script=/ | + | |
- | </ | + | |
- | ==== Linux Mint ==== | + | Hier schlagen hauptsächlich der Abmelde-Button zu Buche, daneben auch Suspend-Modi, |
+ | |||
+ | === Abmelden-Button | ||
+ | |||
+ | == KDE == | ||
+ | |||
+ | 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“. | ||
+ | |||
+ | Das Deaktivieren des Abmelden-Buttons sollte eigentlich mit Polkit funktionieren, | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/sh | ||
+ | sudo -n poweroff | ||
+ | </ | ||
- | Linux Mint nutzt mdm. Die zu prüfende Datei wäre in diesem Fall '/ | + | Vergessen Sie anschließend nicht, das Skript mit ‚chmod +x [Skriptname]‘ ausführbar zu machen. Damit es funktioniert, |
< | < | ||
- | [SeatDefaults] | + | student |
- | autologin-user=student | + | |
- | session-setup-script=/etc/ | + | |
- | session-cleanup-script=/ | + | |
</ | </ | ||
- | ==== Xsetup | + | Anschließend löst ein Druck auf den Abmelden-Knopf einen Shutdown der virt. Maschine aus. |
+ | |||
+ | == lightdm | ||
+ | |||
+ | Hängen Sie in der / | ||
+ | |||
+ | === Sperren / Benutzerwechsel / Neue Session starten === | ||
+ | |||
+ | == KDE == | ||
+ | |||
+ | Fügen Sie der Datei [/ | ||
- | Editieren Sie die Datei '/ | ||
< | < | ||
- | #!/bin/sh | + | [KDE Action Restrictions][$i] |
- | /usr/ | + | action/lock_screen=false |
+ | action/switch_user=false | ||
+ | action/start_new_session=false | ||
</ | </ | ||
- | <note important>Die Datei 'Xsetup' | + | === Standby-Modi (Suspend/ |
+ | |||
+ | Erstellen Sie im Verzeichnis / | ||
+ | <code> | ||
+ | polkit.addRule(function(action, | ||
+ | if (action.id == " | ||
+ | action.id == " | ||
+ | action.id == " | ||
+ | action.id == " | ||
+ | { | ||
+ | return polkit.Result.NO; | ||
+ | } | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | Sollte obiges nicht funktionieren, | ||
+ | |||
+ | < | ||
+ | cd / | ||
+ | grep -r ' | ||
+ | </ | ||
+ | |||
+ | 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 „< | ||
+ | |||
+ | == 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 / | ||
+ | |||
+ | < | ||
+ | APT:: | ||
+ | APT:: | ||
+ | APT:: | ||
+ | APT:: | ||
+ | </ | ||
+ | |||
+ | Da die Dateien in / | ||
+ | <code> | ||
+ | APT:: | ||
+ | </ | ||
+ | anzulegen. | ||
+ | |||
+ | 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 | ||
+ | </ | ||
+ | |||
+ | 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 ===== | ||
+ | |||
+ | Bitte vergleichen Sie hierzu [[drucken_in_bwlehrpool# | ||
+ | |||
+ | ===== Hilfsskripte ===== | ||
+ | |||
+ | Analog zur " | ||
+ | * 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 / | ||
+ | |||
+ | 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 'openslx.exe' | ||
+ | |||
+ | 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 zu Debugzwecken verwendetes Skript „resolution_standalone“ lediglich zur Auflösungsanpassung, | ||
+ | |||
+ | <note important> | ||
- | Danach sollte sich die Auflösung in den Poolräumen automatisch anpassen. | ||
- | ===== Paket Auflösungsanpassung, native | + | ==== Paket Auflösungsanpassung |
- | Es steht weiterhin eine noch etwas in Entwicklung befindliche | + | 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: | Der Ablauf stellt sich in diesem Fall wie folgt dar: | ||
- | * Das Skript ' | + | * Das Skript ' |
- | * ' | + | |
- | * Xsetup: | + | |
- | * Xreset: das Skript 'umnt_shares' zum Aushängen eingebundener Netzlaufwerke starten. | + | |
- | Dies sollte unter den derzeit | + | Dies sollte unter den derzeit |
- | ==== Native Einbindung Netzlaufwerke ==== | + | Also z.B. innerhalb der VM: |
- | Netzlaufwerke (Home und ggf. gemeinsame Netzlaufwerke) | + | < |
+ | wget https:// | ||
+ | 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) | ||
<note tip>Sie können überprüfen, | <note tip>Sie können überprüfen, | ||
Zeile 91: | Zeile 226: | ||
* 3 = 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! | 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 ===== | ||
+ | |||
+ | Die bwLehrpool-Suite bietet die Möglichkeit, | ||
+ | |||
+ | Das oben erwähnte „Paket Auflösungsanpassung, | ||
+ | |||
+ | '' | ||
+ | |||
+ | … oder legen Sie einfach ein Link im passenden Autostartverzeichnis Ihrer Linuxoberfläche (Standard: ~/ | ||
+ | |||
+ | '' | ||
+ | |||
+ | falls Sie sicher etwas Grafisches starten wollen((Da bekanntlich .bashrc usw. nicht immer unter X ausgeführt werden)). |