Wie man 120 Lehrkräfte mit Linux-Convertibles ausstattet

Am Freitag vergangener Woche (27.08.21) wurden uns 120 Convertibles geliefert, die von unserem Schulträger im Rahmen des Programms „Leihgeräte für Lehrkräfte“ von Bund und Ländern angeschafft wurden. Nach und nach wird nun jede Kollegin und jeder Kollege, der möchte, ein Gerät erhalten.

In enger Zusammenarbeit mit unserem städtischen Schulträger haben wir ein für unsere Schule passendes Gerät ausgewählt. Dabei hatten wir diese Kriterien:

  • Austauschbarer Akku
  • Austauschbares Massenspeichermedium
  • Insgesamt gute Reparierbarkeit + Vorhandensein von offizieller Dokumentation
  • Touchscreen mit Möglichkeit zur Stifteingabe
  • Volle Linux-Kompatibilität
  • Maximales Budget: ca. 500 EUR pro Gerät inklusive Zubehör (Stift und Tasche)

Man mag es kaum glauben, aber wir haben ein Gerät gefunden, was diese Anforderungen erfüllt.

Am Montag begann dann die ungleich größere Herausforderung, 120 Geräte auszupacken, die MAC-Adressen der LAN- und WLAN-Karten zu erfassen, die Geräte zu inventarisieren und zu installieren. Dank der Unterstützung unserer beiden Bundesfreiwilligendienstleistenden sowie von Schülerinnen und Schülern ist es uns gelungen, diese Aufgabe zügig zu bewältigen. Dabei hatten wir zwei Stationen, an der die Geräte ausgepackt, die MAC-Adressen mit einem Barcodeleser in die Geräteverwaltung gescannt und samt Zubehör in Taschen gepackt wurden. An einer weiteren Station wurden die Geräte dann mit einem eigenen Ubuntu-Image, das ich zuvor mit dem Programm Cubic (Custom Ubuntu ISO Creator) erstellt habe, mit einem USB-Stick installiert. Mittels Preseeding kann man das Image so präparieren, dass bei der Installation bestimmte Dialoge schon korrekt vorausgefüllt sind, bzw. überhaupt erst gar nicht erscheinen. Dadurch erreicht man eine weitgehende Automatisierung der Installation. Nach der Installation mit dem USB-Stick sind die Geräte dann direkt zum Verleih fertig, da alle Anwendungen, die wir benötigen, im Installationsimage enthalten sind. Außerdem enthält das Installationsimage auch unseren GBG-Client, der die Fernwartung der Geräte ermöglicht.

Das Installieren ist beim Vorhaben der Ausstattung von Lehrkräften aber nur die halbe Miete, da die Geräte noch an die Lehrkräfte ausgegeben und diese mit den Geräten vertraut gemacht werden müssen. Dabei haben wir festgestellt, dass es am besten ist, die Geräte in einer kleinen Einführungsveranstaltung mit maximal zehn Teilnehmerinnen und Teilnehmern zu übergeben. Wenn diese Personen dann mit den Geräten vertrauter sind, können diese als Multiplikatoren im Kollegium fungieren. Diese Vorgehensweise funktioniert gut. Weniger gut hat die erste große Übergaberunde direkt am Dienstag mit mehr als dreißig Kolleginnen und Kollegen geklappt. In dieser Runde tönten Hilferufe (‚Ahhhhh, ich habe was geklickt und jetzt sieht alles ganz anders aus…‘, ‚Das ist ganz von alleine weggegangen‘, ‚Puhh, bei mir sieht das ganz anders aus‘, …) aus allen Ecken des Raums, sodass es unmöglich war, allen gerecht zu werden und sodass eine Informatikstunde in der Sek I als Kururlaub erschien. Aus den Erfahrungen der ersten Woche haben wir jetzt gelernt, dass wir mit kleineren Gruppen arbeiten und diese, sagen wir mal, ‚digitale Avantgarde‘ des Kollegiums aktiv als Multiplikatoren für weitere Übergaberunden einsetzen werden. Wir werden unser Leihgeräteprogramm jetzt kleinschrittig und begleitet von regelmäßigen ‚Pausenfortbildungen‘ weiter ausrollen. Parallel passen wir dabei unser Ubuntu weiter an die Anforderungen des Kollegiums an. Schon in dieser Woche wurden Bugs entdeckt, behoben und mit dem GBG-Client auf alle Geräte ausgerollt.

Mit den Leihgeräten für unsere Lehrerinnen und Lehrer kommen wir jetzt insgesamt auf etwa 350 zentral verwaltete Linux-Laptops an unserer Schule.

LibreOffice unter Google Chrome OS auf einem Chromebook nutzen

In diesem Artikel werde ich kurz skizzieren, was man machen muss, um LibreOffice auf einem Chromebook nutzen zu können. Wir haben bei uns tatsächlich einige Schülerinnen und Schüler, die privat Chromebooks nutzen und die sich dann mit dem Problem konfrontiert sehen, dass sie für die Schule LibreOffice benötigen.

Glücklicherweise ist das ein, wenn nicht einfaches, so doch lösbares Problem. Um LibreOffice auf einem Chromebook nutzen zu können, muss man Linux (Beta) in den Einstellungen aktivieren. Dieses Feature erzeugt eine virtuelle Maschine mit Debian, in dem man dann LibreOffice installieren kann. Google Chrome OS nutzt dabei unter der Haube zur Virtualisierung KVM.

Die Anleitung zum Aktivieren von Linux (Beta) gibt es hier.

Hat man Linux (Beta) aktiviert, dann hat man auf dem Chromebook in den Apps ein Terminal. Dieses muss man starten und danach die folgenden Befehle eingeben, um die Debian-Softwarepakete zu aktualisieren, LibreOffice zu installieren und um die Systemsprache von Debian auf Deutsch zu ändern. Letzteres ist wichtig, damit man LibreOffice dann auch auf Deutsch hat:

sudo apt-get update && sudo apt-get dist-upgrade -y
sudo apt-get install libreoffice libreoffice-l10n-de locales-all -y
sudo localectl set-locale LANG=de_DE.UTF-8 LANGUAGE="de_DE"
sudo apt-get install -y task-german

An dieser Stelle sollte das Chromebook einmal neugestartet werden.

Jetzt hat man zwar LibreOffice auf dem Chromebook auf Deutsch installiert, doch leider kann man noch keine Dateien öffnen, weil LibreOffice keine Lock-Dateien anlegen kann. Deswegen muss man in LibreOffice das Anlegen von Lock-Dateien deaktivieren. Hierfür sind die folgenden Schritte erforderlich.

Als erstes muss der Texteditor nano installiert werden, damit man im Linux-Terminal Konfigurationsdateien bearbeiten kann:

sudo apt-get install nano -y

Jetzt muss man eine Konfigurationsdatei von LibreOffice öffnen und dort das Anlegen von Lock-Dateien deaktivieren:

sudo nano /usr/lib/libreoffice/program/soffice

Dafür muss man in der Datei die folgenden zwei Zeilen suchen.

SAL_ENABLE_FILE_LOCKING=1 export
SAL_ENABLE_FILE_LOCKING

Vor diese beiden Zeilen muss man eine Raute (#) setzen, um sie auszukommentieren.

# SAL_ENABLE_FILE_LOCKING=1 export
# SAL_ENABLE_FILE_LOCKING

Durch Drücken von CTRL/STRG und o und Bestätigen mit Druck auf Enter kann man die Änderungen speichern und durch Druck auf CTRL/STRG und x kann man nano beenden.

Jetzt muss man LibreOffice öffnen und in LibreOffice auf „Extras“ -> „Optionen“ -> „Erweitert“ -> „Experteneinstellungen“ gehen.

Im Suchenfeld Folgendes eingeben:

useLocking
Durch Doppelklick auf true den Wert der Variablen auf false ändern.

Danach Folgendes suchen: UseDocumentOOoLockfile
Durch Doppelklick auf true den Wert der Variablen auf false ändern.

Als Letztes Folgendes suchen: usedocumentsystemfilelocking
Durch Doppelklick auf true den Wert der Variablen auf false ändern.

Jetzt kann man noch das Chrome OS so konfigurieren, dass man mit LibreOffice auf das Google Drive zugreifen kann:

In Chrome-OS-System-App Dateien: In der System-App „Dateien“ muss man auf dem Ordner „Meine Ablage“ unterhalb von „Google Drive“ einen Rechtsklick machen und diesen dann für Linux freigeben. Dann kann man mit LibreOffice auf die Ablage von Google Drive zugreifen.

Im LibreOffice-Öffnen-Fenster: Man muss sich mit der „Pfeil nach oben-Schaltfläche“ rechts neben der Server-Schaltfläche im Datei-Öffnen-Fenster von LibreOffice durch Klicken auf die oberste Ebene im Dateisystem „/“ hoch klicken. Dort angekommen, kann man durch weitere Klicks auf „mnt“ => „chromeos“ => „GoogleDrive“ => „MyDrive“ die Dateien im Google Drive finden.

Nun ist man fertig und kann LibreOffice schließen und neu starten und damit auf dem Chromebook arbeiten. Diese Prozedur ist nicht einfach, aber ein lösbares Problem. Für die Schülerinnen und Schüler ist es zu schwierig, dass selbstständig zu machen, aber in einer Videokonferenz klappt es.

Linux auf dem Fujitsu Tablet STYLISTIC Q5010

Transparenzhinweis: Das vorliegende Testgerät wurde uns von FUJITSU Deutschland zu Testzwecken zur Verfügung gestellt.

Das STYLISTIC Q5010

Heute hatte ich die Gelegenheit, das Fujitsu Tablet STYLISTIC Q5010 auf seine Linux-Tauglichkeit hin zu überprüfen. Die Installation von Ubuntu 21.04 verlief vollkommen problemlos und mit Druck auf die Taste F12 war auch der USB-Stick als Boot-Medium schnell ausgewählt und das Image schnell installiert.

Mein erster Test ergab, dass die Hardware vollständig unterstützt wird (Front- und Rückkamera, Helligkeitssensor, Beschleunigungssensor, Bluetooth, W-Lan, Touchscreen, Stifteingabe, LTE-Modem). Allerdings gibt es für das Gerät keinen Eintrag in der Hardwaredatenbank von systemd, was bedeutet, dass Ubuntu 21.04 mit einer Standardrotationsmatrix für den Beschleunigungssensor arbeitet, die aber nicht zum Gerät passt. Das führt dazu, dass der Bildschirm nicht korrekt automatisch rotiert, wenn man die Lage des Geräts verändert. Dieses Verhalten lässt sich natürlich ändern, wenn man ermittelt, wie der Bildschirm korrekt rotieren muss und dann einen Hardwareeintrag in der Datei 60-sensor.hwdb von systemd für das Gerät anlegt. Dafür fehlt mir aber leider die Zeit.

Ein anderes Problem ist, dass bei der Toucheingabe standardmäßig die x– und y-Achsen vertauscht sind. Das äußert sich darin, dass man beispielsweise unten links auf den Bildschirm drückt und dann feststellt, dass das Klick-Event tatsächlich oben rechts ausgeführt wird. Dieses Problem lässt sich leicht beseitigen, indem man als root eine udev-Regel für libinput anlegt, die die Achsen vertauscht:

echo 'ENV{LIBINPUT_CALIBRATION_MATRIX}="-1 0 1 0 -1 1"' > /etc/udev/rules.d/libinput.rules

Damit funktioniert der Touchscreen dann so, wie man es von ihm erwartet. Es bleibt das Problem, dass das Gerät nicht korrekt automatisch rotiert, was aber, wie oben beschrieben, lösbar ist, wenn man etwas Zeit investieren möchte.

Die Stifteingabe funktioniert präzise und drucksensitiv

Positiv ist allerdings die gute Qualität der Stifteingabe zu würdigen. Diese funktioniert bei den von mir getesteten Geräten bisher am präzisesten. Im Vergleich mit den anderen Geräten der Preisklasse fällt die gute Haptik und Stabilität des Geräts und Tastaturdocks auf. Das Gehäuse ist gegen Staub und Spritzwasser geschützt (IP54) und so gibt es beispielsweise Abdeckungen für alle Schnittstellen, damit nichts eindringen kann.

Das Tastaturdock des Testgeräts

Ubuntu läuft auf dem Gerät sehr flüssig und zügig. Man würde mit dem Gerät mit Ubuntu in jedem Fall gut arbeiten können, wenn die Bildschirmrotation und ebenso wichtig der Bereitschaftsmodus korrekt funktionieren würden. Letzterer funktioniert leider auch nicht zuverlässig, da dass Gerät aus dem Bereitschaftsmodus nicht mehr aufwacht.

Insgesamt ist das Fujitsu Tablet STYLISTIC Q5010 ein für die Preisklasse ausgesprochen stabiles Gerät mit zudem 1920 mal 1200 Pixel Bildschirmauflösung und sehr guter Stifteingabemöglichkeit, aber leider stören ein paar wichtige Kleinigkeiten bei der Linux-Nutzung, die man aber mit etwas zeitlichem Aufwand beheben könnte.

Hier für die technisch interessierten Menschen der Auszug von lshw:

scp-stylistic-q5010
    Beschreibung: Detachable
    Produkt: STYLISTIC Q5010 (SK00)
    Hersteller: FUJITSU CLIENT COMPUTING LIMITED
    Version: 10601115935
    Seriennummer: DSFJ001006
    Breite: 64 bits
    Fähigkeiten: smbios-3.1.1 dmi-3.1.1 smp vsyscall32
    Konfiguration: administrator_password=disabled boot=normal chassis=detachable family=STYLISTIC-FTS power-on_password=disabled sku=SK00 uuid=13C29B06-BB32-EB11-8B14-9BC2119018E3
  *-core
       Beschreibung: Hauptplatine
       Produkt: FJNBC13
       Hersteller: FUJITSU CLIENT COMPUTING LIMITED
       Physische ID: 0
       Version: B3
       Seriennummer: B6 DWYC
     *-firmware
          Beschreibung: BIOS
          Hersteller: FUJITSU CLIENT COMPUTING LIMITED
          Physische ID: 0
          Version: Version 1.15
          date: 07/21/2020
          Größe: 128KiB
          Kapazität: 16MiB
          Fähigkeiten: pci upgrade shadowing cdboot bootselect acpi usb netboot uefi
     *-cpu
          Beschreibung: CPU
          Produkt: Intel(R) Pentium(R) Silver N5030 CPU @ 1.10GHz
          Hersteller: Intel Corp.
          Physische ID: 4
          Bus-Informationen: cpu@0
          Version: Intel(R) Pentium(R) Silver N5030 CPU @ 1.10GHz
          Steckplatz: Onboard
          Größe: 2179MHz
          Kapazität: 3100MHz
          Breite: 64 bits
          Takt: 100MHz
          Fähigkeiten: lm fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp x86-64 constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault cat_l2 cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust smep erms mpx rdt_a rdseed smap clflushopt intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts umip rdpid md_clear arch_capabilities cpufreq
          Konfiguration: cores=4 enabledcores=4 threads=4
        *-cache:0
             Beschreibung: L1 Cache
             Physische ID: 6
             Steckplatz: L1 Cache
             Größe: 128KiB
             Kapazität: 128KiB
             Fähigkeiten: synchronous internal write-back instruction
             Konfiguration: level=1
        *-cache:1
             Beschreibung: L2 Cache
             Physische ID: 7
             Steckplatz: L2 Cache
             Größe: 4MiB
             Kapazität: 4MiB
             Fähigkeiten: synchronous internal write-back unified
             Konfiguration: level=2
     *-cache
          Beschreibung: L1 Cache
          Physische ID: 5
          Steckplatz: L1 Cache
          Größe: 96KiB
          Kapazität: 96KiB
          Fähigkeiten: synchronous internal write-back data
          Konfiguration: level=1
     *-memory
          Beschreibung: Systemspeicher
          Physische ID: a
          Steckplatz: Systemplatine oder Hauptplatine
          Größe: 8GiB
        *-bank:0
             Beschreibung: Reihe von Chips LPDDR4 Synchron 2400 MHz (0,4 ns)
             Hersteller: 0000
             Physische ID: 0
             Seriennummer: 00000000
             Steckplatz: ChannelA-Onboard0
             Größe: 2GiB
             Breite: 32 bits
             Takt: 2400MHz (0.4ns)
        *-bank:1
             Beschreibung: Reihe von Chips LPDDR4 Synchron 2400 MHz (0,4 ns)
             Hersteller: 0000
             Physische ID: 1
             Seriennummer: 00000000
             Steckplatz: ChannelA-Onboard1
             Größe: 2GiB
             Breite: 32 bits
             Takt: 2400MHz (0.4ns)
        *-bank:2
             Beschreibung: Reihe von Chips LPDDR4 Synchron 2400 MHz (0,4 ns)
             Hersteller: 0000
             Physische ID: 2
             Seriennummer: 00000000
             Steckplatz: ChannelB-Onboard0
             Größe: 2GiB
             Breite: 32 bits
             Takt: 2400MHz (0.4ns)
        *-bank:3
             Beschreibung: Reihe von Chips LPDDR4 Synchron 2400 MHz (0,4 ns)
             Hersteller: 0000
             Physische ID: 3
             Seriennummer: 00000000
             Steckplatz: ChannelB-Onboard1
             Größe: 2GiB
             Breite: 32 bits
             Takt: 2400MHz (0.4ns)
     *-pci
          Beschreibung: Host bridge
          Produkt: Gemini Lake Host Bridge
          Hersteller: Intel Corporation
          Physische ID: 100
          Bus-Informationen: pci@0000:00:00.0
          Version: 06
          Breite: 32 bits
          Takt: 33MHz
        *-generic:0
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Dynamic Platform and Thermal Framework Processor Participant
             Hersteller: Intel Corporation
             Physische ID: 0.1
             Bus-Informationen: pci@0000:00:00.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=proc_thermal latency=0
             Ressourcen: irq:24 memory:80000000-80007fff
        *-display
             Beschreibung: VGA compatible controller
             Produkt: GeminiLake [UHD Graphics 605]
             Hersteller: Intel Corporation
             Physische ID: 2
             Bus-Informationen: pci@0000:00:02.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pciexpress msi pm vga_controller bus_master cap_list rom
             Konfiguration: driver=i915 latency=0
             Ressourcen: irq:150 memory:a0000000-a0ffffff memory:90000000-9fffffff ioport:1000(Größe=64) memory:c0000-dffff
        *-network
             Beschreibung: Kabellose Verbindung
             Produkt: AC 1550i Wireless
             Hersteller: Intel Corporation
             Physische ID: c
             Bus-Informationen: pci@0000:00:0c.0
             Logischer Name: wlp0s12f0
             Version: 06
             Seriennummer: f8:ac:65:95:c5:45
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
             Konfiguration: broadcast=yes driver=iwlwifi driverversion=5.11.0-16-generic firmware=46.6f9f215c.0 9000-pu-b0-jf-b0- ip=10.254.6.56 latency=0 link=yes multicast=yes wireless=IEEE 802.11
             Ressourcen: irq:44 memory:a1210000-a1213fff
        *-multimedia
             Beschreibung: Audio device
             Produkt: Celeron/Pentium Silver Processor High Definition Audio
             Hersteller: Intel Corporation
             Physische ID: e
             Bus-Informationen: pci@0000:00:0e.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi pciexpress bus_master cap_list
             Konfiguration: driver=snd_hda_intel latency=0
             Ressourcen: irq:151 memory:a1214000-a1217fff memory:a1000000-a10fffff
        *-communication
             Beschreibung: Communication controller
             Produkt: Celeron/Pentium Silver Processor Trusted Execution Engine Interface
             Hersteller: Intel Corporation
             Physische ID: f
             Bus-Informationen: pci@0000:00:0f.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi bus_master cap_list
             Konfiguration: driver=mei_me latency=0
             Ressourcen: irq:127 memory:a121a000-a121afff
        *-generic:1
             Beschreibung: Unclassified device
             Produkt: Celeron/Pentium Silver Processor Integrated Sensor Solution
             Hersteller: Intel Corporation
             Physische ID: 11
             Bus-Informationen: pci@0000:00:11.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel_ish_ipc latency=0
             Ressourcen: irq:26 memory:a1218000-a1219fff memory:a121b000-a121bfff
        *-pci
             Beschreibung: PCI bridge
             Produkt: Gemini Lake PCI Express Root Port
             Hersteller: Intel Corporation
             Physische ID: 13
             Bus-Informationen: pci@0000:00:13.0
             Version: f6
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: pci pciexpress msi pm normal_decode bus_master cap_list
             Konfiguration: driver=pcieport
             Ressourcen: irq:122 memory:a1100000-a11fffff
           *-generic
                Beschreibung: SD Host controller
                Produkt: SD/MMC Card Reader Controller
                Hersteller: O2 Micro, Inc.
                Physische ID: 0
                Bus-Informationen: pci@0000:01:00.0
                Version: 01
                Breite: 32 bits
                Takt: 33MHz
                Fähigkeiten: pm msi pciexpress bus_master cap_list
                Konfiguration: driver=sdhci-pci latency=0
                Ressourcen: irq:124 memory:a1101000-a1101fff memory:a1100000-a11007ff
        *-usb
             Beschreibung: USB controller
             Produkt: Celeron/Pentium Silver Processor USB 3.0 xHCI Controller
             Hersteller: Intel Corporation
             Physische ID: 15
             Bus-Informationen: pci@0000:00:15.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi xhci bus_master cap_list
             Konfiguration: driver=xhci_hcd latency=0
             Ressourcen: irq:123 memory:a1200000-a120ffff
           *-usbhost:0
                Produkt: xHCI Host Controller
                Hersteller: Linux 5.11.0-16-generic xhci-hcd
                Physische ID: 0
                Bus-Informationen: usb@1
                Logischer Name: usb1
                Version: 5.11
                Fähigkeiten: usb-2.00
                Konfiguration: driver=hub slots=9 speed=480Mbit/s
              *-usb:0
                   Beschreibung: Kommunikationsgerät
                   Produkt: EM7455
                   Hersteller: Sierra Wireless, Incorporated
                   Physische ID: 3
                   Bus-Informationen: usb@1:3
                   Version: 0.06
                   Seriennummer: LF03849840041033
                   Fähigkeiten: usb-2.00
                   Konfiguration: driver=cdc_mbim maxpower=500mA speed=480Mbit/s
              *-usb:1
                   Beschreibung: Video
                   Produkt: FJ 8M Camera
                   Hersteller: SunplusIT Inc
                   Physische ID: 4
                   Bus-Informationen: usb@1:4
                   Version: 2.21
                   Seriennummer: 01.00.00
                   Fähigkeiten: usb-2.00
                   Konfiguration: driver=uvcvideo maxpower=500mA speed=480Mbit/s
              *-usb:2
                   Beschreibung: Video
                   Produkt: FJ Camera
                   Hersteller: Chicony Electronics Co.,Ltd.
                   Physische ID: 5
                   Bus-Informationen: usb@1:5
                   Version: 36.18
                   Fähigkeiten: usb-2.00
                   Konfiguration: driver=uvcvideo maxpower=500mA speed=480Mbit/s
              *-usb:3
                   Beschreibung: USB-Hub
                   Produkt: USB2.0 Hub
                   Hersteller: Cypress Semiconductor Corp.
                   Physische ID: 8
                   Bus-Informationen: usb@1:8
                   Version: 32.99
                   Fähigkeiten: usb-2.00
                   Konfiguration: driver=hub maxpower=100mA slots=4 speed=480Mbit/s
                 *-usb:0
                      Beschreibung: Allgemeines USB-Gerät
                      Produkt: USB 10/100/1000 LAN
                      Hersteller: Realtek
                      Physische ID: 1
                      Bus-Informationen: usb@1:8.1
                      Version: 31.00
                      Seriennummer: 001000001
                      Fähigkeiten: usb-2.10
                      Konfiguration: driver=r8152 maxpower=350mA speed=480Mbit/s
                 *-usb:1
                      Beschreibung: Tastatur
                      Produkt: ITE Device(8910)
                      Hersteller: ITE Tech. Inc.
                      Physische ID: 2
                      Bus-Informationen: usb@1:8.2
                      Version: 0.02
                      Fähigkeiten: usb-2.00
                      Konfiguration: driver=usbhid maxpower=100mA speed=12Mbit/s
              *-usb:4
                   Beschreibung: Bluetooth-Schnittstelle
                   Produkt: Bluetooth 9460/9560 Jefferson Peak (JfP)
                   Hersteller: Intel Corp.
                   Physische ID: 9
                   Bus-Informationen: usb@1:9
                   Version: 0.02
                   Fähigkeiten: bluetooth usb-2.00
                   Konfiguration: driver=btusb maxpower=100mA speed=12Mbit/s
           *-usbhost:1
                Produkt: xHCI Host Controller
                Hersteller: Linux 5.11.0-16-generic xhci-hcd
                Physische ID: 1
                Bus-Informationen: usb@2
                Logischer Name: usb2
                Version: 5.11
                Fähigkeiten: usb-3.00
                Konfiguration: driver=hub slots=7 speed=5000Mbit/s
        *-generic:2
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17
             Bus-Informationen: pci@0000:00:17.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:31 memory:a121c000-a121cfff memory:a121d000-a121dfff
        *-generic:3
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17.2
             Bus-Informationen: pci@0000:00:17.2
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:33 memory:a121e000-a121efff memory:a121f000-a121ffff
        *-generic:4
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17.3
             Bus-Informationen: pci@0000:00:17.3
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:34 memory:a1220000-a1220fff memory:a1221000-a1221fff
        *-generic:5
             Beschreibung: SD Host controller
             Produkt: Celeron/Pentium Silver Processor SDA Standard Compliant SD Host Controller
             Hersteller: Intel Corporation
             Physische ID: 1c
             Bus-Informationen: pci@0000:00:1c.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=sdhci-pci latency=0
             Ressourcen: irq:39 memory:a1222000-a1222fff memory:a1223000-a1223fff
        *-isa
             Beschreibung: ISA bridge
             Produkt: Celeron/Pentium Silver Processor PCI-default ISA-bridge
             Hersteller: Intel Corporation
             Physische ID: 1f
             Bus-Informationen: pci@0000:00:1f.0
             Version: 06
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: isa bus_master
             Konfiguration: driver=lpc_ich latency=0
             Ressourcen: irq:0
        *-serial
             Beschreibung: SMBus
             Produkt: Celeron/Pentium Silver Processor Gaussian Mixture Model
             Hersteller: Intel Corporation
             Physische ID: 1f.1
             Bus-Informationen: pci@0000:00:1f.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Konfiguration: driver=i801_smbus latency=0
             Ressourcen: irq:20 memory:a1224000-a12240ff ioport:1040(Größe=32)
     *-pnp00:00
          Produkt: PnP device PNP0c02
          Physische ID: 1
          Fähigkeiten: pnp
          Konfiguration: driver=system
     *-pnp00:01
          Produkt: PnP device FUJ0309
          Physische ID: 2
          Fähigkeiten: pnp
          Konfiguration: driver=i8042 kbd
     *-pnp00:02
          Produkt: PnP device PNP0c02
          Physische ID: 3
          Fähigkeiten: pnp
          Konfiguration: driver=system
     *-pnp00:03
          Produkt: PnP device PNP0b00
          Physische ID: 6
          Fähigkeiten: pnp
          Konfiguration: driver=rtc_cmos
  *-battery
       Beschreibung: Lithium-Ionen Battery
       Produkt: CP781794-01
       Hersteller: FUJITSU
       Physische ID: 1
       Seriennummer: 01A-X201014025866X
       Steckplatz: Internal Battery
       Kapazität: 30600mWh
       Konfiguration: voltage=7,2V
  *-network:0 DEAKTIVIERT
       Beschreibung: Ethernet interface
       Physische ID: 2
       Bus-Informationen: usb@1:3
       Logischer Name: wwan0
       Seriennummer: de:84:58:25:22:cb
       Fähigkeiten: ethernet physical
       Konfiguration: broadcast=yes driver=cdc_mbim driverversion=5.11.0-16-generic firmware=CDC MBIM link=no multicast=yes
  *-network:1
       Beschreibung: Ethernet interface
       Physische ID: 3
       Bus-Informationen: usb@1:8.1
       Logischer Name: enxec79493cddcd
       Seriennummer: ec:79:49:3c:dd:cd
       Größe: 10Mbit/s
       Kapazität: 1Gbit/s
       Fähigkeiten: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       Konfiguration: autonegotiation=on broadcast=yes driver=r8152 driverversion=v1.11.11 duplex=half firmware=rtl8153b-2 v1 10/23/19 link=no multicast=yes port=MII speed=10Mbit/s

WireGuard-VPN-Setup für Leihgeräte für Lehrkräfte

Prinzipieller Aufbau des VPNs

Die Leihgeräte für unsere Lehrkräfte werden bei uns in einem eigenen WireGuard-VPN-Netzwerk betrieben werden, damit zum einen gewährleistet ist, dass jederzeit ein administrativer Zugriff auf die Geräte mit Ansible, was wir unter anderem zur Verwaltung der Geräte einsetzen, möglich ist und damit zum anderen sichergestellt ist, dass sämtlicher Datenverkehr in einem potentiell unsicheren Heimnetzwerk mit dem Internet nur über die verschlüsselte VPN-Verbindung läuft. Zusätzlich ermöglicht der Einsatz von WireGuard, dass auch bestimmte Serverdienste aus dem Schulnetz zuhause zur Verfügung gestellt werden können, ohne diese mit dem Internet verbinden zu müssen.

WireGuard setzt bei der Verschlüsselung auf ein asymmetrisches Verschlüsselungssystem mit öffentlichem und privaten Schlüssel. Dieses ist bei der Einrichtung der Geräte eine gewisse Herausforderung, weil Schlüssel für eine Vielzahl an Geräten erzeugt und die jeweils öffentlichen Schlüssel dann auch dem WireGuard-Server bekannt gemacht werden müssen, damit sich die entsprechenden Clients verbinden können.

Dafür habe ich ein kleines Skript geschrieben, was die Schlüssel erzeugt, eine Konfigurationsdatei für die Clients (wg0.conf) erstellt, die den privaten Schlüssel des Geräts enthält und den öffentlichen Schlüssel für den Server speichert, sodass der Client einfach hinzugefügt werden kann.

Das Skript erzeugt einen qrcode mit der Konfigurationsdatei und erstellt dann ein PDF-Dokument, was den qrcode sowie menschenlesbar die IP-Adresse im WireGuard-Netz enthält, damit man noch weiß, zu welchem Client der qrcode gehört.

Auf den Clients muss man jetzt einfach nur noch mit dem Programm zbarcam (ist in Ubuntu in dem Paket zbar-tools in den Paketquellen enthalten) den qrcode mit der Webcam scannen und als Datei in /etc/wireguard speichern:

sudo zbarcam > /etc/wireguard/wg0.conf

Die PDFs mit den qrcodes muss man jetzt natürlich wie einen Schatz hüten, da dieser die privaten Schlüssel der Clients enthält. Jeder, der den qrcode abfotografieren kann, kann damit sein Gerät zum WireGuard-VPN-Netzwerk hinzufügen. Deswegen ist das Dokument am besten ausgedruckt an einem sicheren Ort aufzubewahren.

So sehen die qrcodes im PDF-Dokument aus. Die Daten sind natürlich nur Beispiele

Mein Skript benötigt eine Template-Config-Datei (template.conf):

[Interface]
PrivateKey = PRIVKEY
Address = IPADDRESS/24

[Peer]
PublicKey = 9OKdnpB3QijHMx+/7ij+GYFEABJvkiudTPsDgGVulmc=
Endpoint = 1.2.3.4:51820
AllowedIPs = 0.0.0.0/0

Außerdem ist eine Liste (liste.txt) mit IP-Adressen nötig, die dem VPN hinzugefügt werden sollen:

172.16.0.10
172.16.0.11
172.16.0.12
172.16.0.13
172.16.0.14
172.16.0.15

Außerdem habe ich eine Postscript-Datei für das PDF, in das dann die jeweilige IP-Adresse eingefügt werden soll:

<<
   /EndPage
   {
     2 eq { pop false }
     {
         gsave      
         /Helvetica findfont 48 scalefont setfont
         newpath
         .55 setgray 130 200 moveto 50 rotate
         (IPADDRESS) false  charpath
         1 setlinewidth stroke
         grestore
         true
     } ifelse
   } bind
>> setpagedevice

Schließlich das Skript, das ein paar Programme benötigt, damit es korrekt funktioniert:

#!/bin/bash
#Zum Lesen sudo apt install zbar-tools
#Einlesen in /etc/wireguard/ zbarcam > wg0.conf
#Dieses Skript benötigt pdftk (snap install pdftk), imagemagick, gs, qrencode

datum=$(date +"%d-%m-%y")

echo "-- Datum: $datum. --"
echo "Erzeugung von WireGuard-Schlüsseln gestartet!"

mkdir -p ./keys
mkdir -p ./conf
mkdir -p ./PDF
mkdir -p ./png

while read IP
do
  sed "s@\bIPADDRESS\b@${IP}@g" template.conf > temp-01.conf
  wg genkey | tee ./keys/privatekey_$IP | wg pubkey | tee ./keys/publickey_$IP
  read privatekey < ./keys/privatekey_$IP
  read pubkey < ./keys/publickey_$IP
  sed "s@\bPRIVKEY\b@${privatekey}@g" temp-01.conf > ./conf/wg0_$IP.conf
  echo "wg set wg0 peer $pubkey allowed-ips $IP" >> peers.txt
  qrencode <./conf/wg0_$IP.conf -o ./png/qrcode_$IP.png
  convert -page A4 ./png/qrcode_$IP.png ./PDF/CONFIG_tmp_$IP.pdf
  sed "s@\bIPADDRESS\b@${IP}@g" ./ps_template.ps > ./ps_template_tmp.ps
  gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=./PDF/CONFIG_$IP.pdf ./ps_template_tmp.ps ./PDF/CONFIG_tmp_$IP.pdf
done < ./liste.txt
rm ./PDF/CONFIG_tmp_*.pdf
pdftk ./PDF/CONFIG_*.pdf cat output ./qrcodes_$datum.pdf
rm temp-01.conf ps_template_tmp.ps
rm -r ./PDF
rm -r ./png

Mit ein bisschen sed und Shell-Scripting wird dann das PDF erzeugt und, ganz wichtig, eine Textdatei (peers.txt) mit den öffentlichen Schlüsseln der Clients angelegt, damit ich diese auf dem WireGuard-Server hinzufügen kann.

Wenn dann die Leihgeräte entliehen werden, wird bei der Ausgabe kurz der qrcode mir der Webcam gescannt und das Gerät damit dem VPN hinzugefügt. Wireguard ist auf den Geräten so konfiguriert, dass es automatisch beim Start mit systemd gestartet wird und die Endnutzerin oder der Endnutzer nichts mehr damit zu tun hat. Sobald eine Netzwerkverbindung besteht, läuft der Verkehr über das VPN.

Linux auf dem HP ProBook x360 11 G5 EE

Transparenzhinweis: Das vorliegende Testgerät wurde uns von co.Tec Gesellschaft für Softwaredistribution mbH (Traberhofstr. 12, D-83026 Rosenheim) zur Verfügung gestellt.

Auf unserer Suche nach einem brauchbaren Linux-Convertible oder -Tablet in der 500-Euro-Klasse hatte ich heute das HP ProBook x360 11 G5 EE in den Fingern. Die Installation von Ubuntu 21.04 funktioniert absolut problemlos und ist nach dem Druck auf die Taste F9 für die Auswahl des Boot-Mediums innerhalb von fünf Minuten erledigt.

Mein erster Test hat ergeben, dass die Hardware komplett erkannt wird und dass auch alle Convertible-Funktionen funktionieren: Beide Kameras laufen, die Bildschirmrotation klappt, der Tablet-Modus mit Deaktivierung der Tastatur beim Umklappen klappt und ganz wichtig: Die Stifteingabe klappt prima und die Stifteingabe ist zudem drucksensitiv. Das bedeutet mit wenig Druck zeichnet man eine dünne und mit viel Druck eine dicke Linie. Der Stift (HP PN: L68029-001) hat im Gegensatz zum von mit ebenfalls getesteten TERRA PAD austauschbare Spitzen, was durchaus in Hinblick auf die Nachhaltigkeit gut ist.

Das Gerät funktioniert gut, aber es gibt auch Schattenseiten: Ebenso wie das TERRA PAD fühlt sich das Gerät billig an und der Bildschirm hat nur eine Auflösung von 1366 x 768 Pixel und ist ebenso wie bei dem TERRA PAD nur recht dunkel und stark spiegelnd.

Die Vorzüge sind aber vor allem die Tatsachen, dass die drucksensitive Stifteingabe gut funktioniert und dass es möglich ist, eine SSD anstelle des eMMC-Speichers zu bekommen. Mit diesen Gerät ist ein echtes Arbeiten mit dem Stift möglich.

Die Linux-Performance ist genauso gut wie bei dem TERRA PAD, was aber auch zu erwarten ist, da Prozessor und RAM vergleichbar sind.

Gut ist zudem die Tatsache, dass das Gerät über eine Netzwerkschnittstelle sowie über einen vollwertigen HDMI-Anschluss verfügt.

Schnittstellen des HP ProBook x360 11 G5
Schnittstellen des HP ProBook x360 11 G5
Das HP ProBook x360 11 G5
Das HP ProBook x360 11 G5

Für die Interessierten habe ich hier die Ausgabe von lshw:

gbg-hp-probook-x360-11-g5-ee
    Beschreibung: Notebook
    Produkt: HP ProBook x360 11 G5 EE (9VZ74ES#ABD)
    Hersteller: HP
    Seriennummer: 5CG013G4YD
    Breite: 64 bits
    Fähigkeiten: smbios-3.1.1 dmi-3.1.1 smp vsyscall32
    Konfiguration: administrator_password=disabled boot=normal chassis=notebook family=103C_5336AN HP ProBook x360 frontpanel_password=disabled keyboard_password=disabled power-on_password=disabled sku=9VZ74ES#ABD uuid=FB4C6971-A9B3-1CF0-205B-40BE9E280365
  *-core
       Beschreibung: Hauptplatine
       Produkt: 86CF
       Hersteller: HP
       Physische ID: 0
       Version: KBC Version 03.0D.00
       Seriennummer: PJKHF00WBDH01G
     *-memory
          Beschreibung: Systemspeicher
          Physische ID: 1
          Steckplatz: Systemplatine oder Hauptplatine
          Größe: 4GiB
        *-bank
             Beschreibung: SODIMM DDR4 Synchron 2400 MHz (0,4 ns)
             Produkt: K4A8G165WC-BCTD
             Hersteller: Samsung
             Physische ID: 0
             Seriennummer: 00000000
             Steckplatz: Bottom-OnBoard 1
             Größe: 4GiB
             Breite: 8 bits
             Takt: 2400MHz (0.4ns)
     *-firmware
          Beschreibung: BIOS
          Hersteller: HP
          Physische ID: 4
          Version: S95 Ver. 01.01.00
          date: 10/21/2019
          Größe: 64KiB
          Kapazität: 16MiB
          Fähigkeiten: pci pcmcia upgrade shadowing cdboot bootselect edd int5printscreen int9keyboard int14serial int17printer acpi usb smartbattery biosbootspecification netboot uefi
     *-cache:0
          Beschreibung: L1 Cache
          Physische ID: a
          Steckplatz: L1 Cache
          Größe: 24KiB
          Kapazität: 24KiB
          Fähigkeiten: synchronous internal write-back data
          Konfiguration: level=1
     *-cache:1
          Beschreibung: L1 Cache
          Physische ID: b
          Steckplatz: L1 Cache
          Größe: 32KiB
          Kapazität: 32KiB
          Fähigkeiten: synchronous internal write-back instruction
          Konfiguration: level=1
     *-cache:2
          Beschreibung: L2 Cache
          Physische ID: c
          Steckplatz: L2 Cache
          Größe: 4MiB
          Kapazität: 4MiB
          Fähigkeiten: synchronous internal write-back unified
          Konfiguration: level=2
     *-cpu
          Beschreibung: CPU
          Produkt: Intel(R) Pentium(R) Silver N5030 CPU @ 1.10GHz
          Hersteller: Intel Corp.
          Physische ID: d
          Bus-Informationen: cpu@0
          Version: Intel(R) Pentium(R) Silver N5030 CPU @ 1.10GHz
          Seriennummer: To Be Filled By O.E.M.
          Steckplatz: U3E1
          Größe: 1464MHz
          Kapazität: 3100MHz
          Breite: 64 bits
          Takt: 100MHz
          Fähigkeiten: lm fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp x86-64 constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault cat_l2 cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust smep erms mpx rdt_a rdseed smap clflushopt intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts umip rdpid md_clear arch_capabilities cpufreq
          Konfiguration: cores=4 enabledcores=4 threads=4
     *-pci
          Beschreibung: Host bridge
          Produkt: Gemini Lake Host Bridge
          Hersteller: Intel Corporation
          Physische ID: 100
          Bus-Informationen: pci@0000:00:00.0
          Version: 06
          Breite: 32 bits
          Takt: 33MHz
        *-generic:0
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Dynamic Platform and Thermal Framework Processor Participant
             Hersteller: Intel Corporation
             Physische ID: 0.1
             Bus-Informationen: pci@0000:00:00.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=proc_thermal latency=0
             Ressourcen: irq:24 memory:80000000-80007fff
        *-generic:1 UNGEFORDERT
             Beschreibung: System peripheral
             Produkt: Celeron/Pentium Silver Processor Gaussian Mixture Model
             Hersteller: Intel Corporation
             Physische ID: 0.3
             Bus-Informationen: pci@0000:00:00.3
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: msi pm bus_master cap_list
             Konfiguration: latency=0
             Ressourcen: memory:a1318000-a1318fff
        *-display
             Beschreibung: VGA compatible controller
             Produkt: GeminiLake [UHD Graphics 605]
             Hersteller: Intel Corporation
             Physische ID: 2
             Bus-Informationen: pci@0000:00:02.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pciexpress msi pm vga_controller bus_master cap_list rom
             Konfiguration: driver=i915 latency=0
             Ressourcen: irq:130 memory:a0000000-a0ffffff memory:90000000-9fffffff ioport:2000(Größe=64) memory:c0000-dffff
        *-multimedia
             Beschreibung: Audio device
             Produkt: Celeron/Pentium Silver Processor High Definition Audio
             Hersteller: Intel Corporation
             Physische ID: e
             Bus-Informationen: pci@0000:00:0e.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi pciexpress bus_master cap_list
             Konfiguration: driver=snd_hda_intel latency=0
             Ressourcen: irq:154 memory:a1310000-a1313fff memory:a1000000-a10fffff
        *-communication
             Beschreibung: Communication controller
             Produkt: Celeron/Pentium Silver Processor Trusted Execution Engine Interface
             Hersteller: Intel Corporation
             Physische ID: f
             Bus-Informationen: pci@0000:00:0f.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi bus_master cap_list
             Konfiguration: driver=mei_me latency=0
             Ressourcen: irq:131 memory:a1319000-a1319fff
        *-generic:2
             Beschreibung: Unclassified device
             Produkt: Celeron/Pentium Silver Processor Integrated Sensor Solution
             Hersteller: Intel Corporation
             Physische ID: 11
             Bus-Informationen: pci@0000:00:11.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel_ish_ipc latency=0
             Ressourcen: irq:26 memory:a1314000-a1315fff memory:a131a000-a131afff
        *-sata
             Beschreibung: SATA controller
             Produkt: Celeron/Pentium Silver Processor SATA Controller
             Hersteller: Intel Corporation
             Physische ID: 12
             Bus-Informationen: pci@0000:00:12.0
             Version: 06
             Breite: 32 bits
             Takt: 66MHz
             Fähigkeiten: sata msi pm ahci_1.0 bus_master cap_list
             Konfiguration: driver=ahci latency=0
             Ressourcen: irq:128 memory:a1316000-a1317fff memory:a132f000-a132f0ff ioport:2080(Größe=8) ioport:2088(Größe=4) ioport:2060(Größe=32) memory:a132d000-a132d7ff
        *-pci:0
             Beschreibung: PCI bridge
             Produkt: Gemini Lake PCI Express Root Port
             Hersteller: Intel Corporation
             Physische ID: 13
             Bus-Informationen: pci@0000:00:13.0
             Version: f6
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: pci pciexpress msi pm normal_decode bus_master cap_list
             Konfiguration: driver=pcieport
             Ressourcen: irq:122
        *-pci:1
             Beschreibung: PCI bridge
             Produkt: Gemini Lake PCI Express Root Port
             Hersteller: Intel Corporation
             Physische ID: 14
             Bus-Informationen: pci@0000:00:14.0
             Version: f6
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: pci pciexpress msi pm normal_decode bus_master cap_list
             Konfiguration: driver=pcieport
             Ressourcen: irq:123 memory:a1200000-a12fffff
           *-network
                Beschreibung: Kabellose Verbindung
                Produkt: Wi-Fi 6 AX200
                Hersteller: Intel Corporation
                Physische ID: 0
                Bus-Informationen: pci@0000:02:00.0
                Logischer Name: wlp2s0
                Version: 1a
                Seriennummer: f8:e4:e3:00:15:e5
                Breite: 64 bits
                Takt: 33MHz
                Fähigkeiten: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
                Konfiguration: broadcast=yes driver=iwlwifi driverversion=5.11.0-14-generic firmware=59.601f3a66.0 cc-a0-59.ucode ip=10.20.1.16 latency=0 link=yes multicast=yes wireless=IEEE 802.11
                Ressourcen: irq:22 memory:a1200000-a1203fff
        *-pci:2
             Beschreibung: PCI bridge
             Produkt: Gemini Lake PCI Express Root Port
             Hersteller: Intel Corporation
             Physische ID: 14.1
             Bus-Informationen: pci@0000:00:14.1
             Version: f6
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: pci pciexpress msi pm normal_decode bus_master cap_list
             Konfiguration: driver=pcieport
             Ressourcen: irq:124 ioport:1000(Größe=4096) memory:a1100000-a11fffff
           *-network
                Beschreibung: Ethernet interface
                Produkt: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
                Hersteller: Realtek Semiconductor Co., Ltd.
                Physische ID: 0
                Bus-Informationen: pci@0000:03:00.0
                Logischer Name: enp3s0
                Version: 15
                Seriennummer: 38:22:e2:c9:8d:e5
                Kapazität: 1Gbit/s
                Breite: 64 bits
                Takt: 33MHz
                Fähigkeiten: pm msi pciexpress msix bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
                Konfiguration: autonegotiation=on broadcast=yes driver=r8169 driverversion=5.11.0-14-generic firmware=rtl8168h-2_0.0.2 02/26/15 latency=0 link=no multicast=yes port=twisted pair
                Ressourcen: irq:23 ioport:1000(Größe=256) memory:a1104000-a1104fff memory:a1100000-a1103fff
        *-usb
             Beschreibung: USB controller
             Produkt: Celeron/Pentium Silver Processor USB 3.0 xHCI Controller
             Hersteller: Intel Corporation
             Physische ID: 15
             Bus-Informationen: pci@0000:00:15.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi xhci bus_master cap_list
             Konfiguration: driver=xhci_hcd latency=0
             Ressourcen: irq:125 memory:a1300000-a130ffff
           *-usbhost:0
                Produkt: xHCI Host Controller
                Hersteller: Linux 5.11.0-14-generic xhci-hcd
                Physische ID: 0
                Bus-Informationen: usb@1
                Logischer Name: usb1
                Version: 5.11
                Fähigkeiten: usb-2.00
                Konfiguration: driver=hub slots=9 speed=480Mbit/s
              *-usb:0
                   Beschreibung: Bluetooth-Schnittstelle
                   Produkt: AX200 Bluetooth
                   Hersteller: Intel Corp.
                   Physische ID: 5
                   Bus-Informationen: usb@1:5
                   Version: 0.01
                   Fähigkeiten: bluetooth usb-2.01
                   Konfiguration: driver=btusb maxpower=100mA speed=12Mbit/s
              *-usb:1
                   Beschreibung: Video
                   Produkt: HP 5MP Camera
                   Hersteller: DHNMAA19ICI9IR
                   Physische ID: 6
                   Bus-Informationen: usb@1:6
                   Version: 0.05
                   Seriennummer: 01.00.00
                   Fähigkeiten: usb-2.01
                   Konfiguration: driver=uvcvideo maxpower=500mA speed=480Mbit/s
              *-usb:2
                   Beschreibung: Video
                   Produkt: HP HD Camera
                   Hersteller: DJDKCA19ID70IF
                   Physische ID: 7
                   Bus-Informationen: usb@1:7
                   Version: 0.05
                   Fähigkeiten: usb-2.01
                   Konfiguration: driver=uvcvideo maxpower=500mA speed=480Mbit/s
           *-usbhost:1
                Produkt: xHCI Host Controller
                Hersteller: Linux 5.11.0-14-generic xhci-hcd
                Physische ID: 1
                Bus-Informationen: usb@2
                Logischer Name: usb2
                Version: 5.11
                Fähigkeiten: usb-3.00
                Konfiguration: driver=hub slots=7 speed=5000Mbit/s
        *-generic:3
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17
             Bus-Informationen: pci@0000:00:17.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:31 memory:a131b000-a131bfff memory:a131c000-a131cfff
        *-generic:4
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17.1
             Bus-Informationen: pci@0000:00:17.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:32 memory:a131d000-a131dfff memory:a131e000-a131efff
        *-generic:5
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17.2
             Bus-Informationen: pci@0000:00:17.2
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:33 memory:a131f000-a131ffff memory:a1320000-a1320fff
        *-generic:6
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17.3
             Bus-Informationen: pci@0000:00:17.3
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:34 memory:a1321000-a1321fff memory:a1322000-a1322fff
        *-generic:7
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO UART Host Controller
             Hersteller: Intel Corporation
             Physische ID: 18
             Bus-Informationen: pci@0000:00:18.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:4 memory:a1323000-a1323fff memory:a1324000-a1324fff
        *-generic:8
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO UART Host Controller
             Hersteller: Intel Corporation
             Physische ID: 18.1
             Bus-Informationen: pci@0000:00:18.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:5 memory:a1325000-a1325fff memory:a1326000-a1326fff
        *-generic:9
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO UART Host Controller
             Hersteller: Intel Corporation
             Physische ID: 18.3
             Bus-Informationen: pci@0000:00:18.3
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:7 memory:a1327000-a1327fff memory:a1328000-a1328fff
        *-generic:10
             Beschreibung: SD Host controller
             Produkt: Celeron/Pentium Silver Processor SDA Standard Compliant SD Host Controller
             Hersteller: Intel Corporation
             Physische ID: 1c
             Bus-Informationen: pci@0000:00:1c.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=sdhci-pci latency=0
             Ressourcen: irq:39 memory:a1329000-a1329fff memory:a132a000-a132afff
        *-generic:11
             Beschreibung: SD Host controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 1e
             Bus-Informationen: pci@0000:00:1e.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=sdhci-pci latency=0
             Ressourcen: irq:42 memory:a132b000-a132bfff memory:a132c000-a132cfff
        *-isa
             Beschreibung: ISA bridge
             Produkt: Celeron/Pentium Silver Processor PCI-default ISA-bridge
             Hersteller: Intel Corporation
             Physische ID: 1f
             Bus-Informationen: pci@0000:00:1f.0
             Version: 06
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: isa bus_master
             Konfiguration: driver=lpc_ich latency=0
             Ressourcen: irq:0
        *-serial
             Beschreibung: SMBus
             Produkt: Celeron/Pentium Silver Processor Gaussian Mixture Model
             Hersteller: Intel Corporation
             Physische ID: 1f.1
             Bus-Informationen: pci@0000:00:1f.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Konfiguration: driver=i801_smbus latency=0
             Ressourcen: irq:20 memory:a132e000-a132e0ff ioport:2040(Größe=32)
     *-pnp00:00
          Produkt: PnP device PNP0c02
          Physische ID: 0
          Fähigkeiten: pnp
          Konfiguration: driver=system
     *-pnp00:01
          Produkt: PnP device HPQ8002
          Physische ID: 2
          Fähigkeiten: pnp
          Konfiguration: driver=i8042 kbd
     *-pnp00:02
          Produkt: PnP device ETD0755
          Physische ID: 3
          Fähigkeiten: pnp
          Konfiguration: driver=i8042 aux
     *-pnp00:03
          Produkt: PnP device PNP0c02
          Physische ID: 5
          Fähigkeiten: pnp
          Konfiguration: driver=system
     *-pnp00:04
          Produkt: PnP device PNP0c02
          Physische ID: 6
          Fähigkeiten: pnp
          Konfiguration: driver=system
     *-pnp00:05
          Produkt: PnP device PNP0b00
          Physische ID: 7
          Fähigkeiten: pnp
          Konfiguration: driver=rtc_cmos
     *-scsi
          Physische ID: 8
          Logischer Name: scsi0
          Fähigkeiten: emulated
        *-disk
             Beschreibung: ATA Disk
             Produkt: LITEON CV8-8E128
             Physische ID: 0.0.0
             Bus-Informationen: scsi@0:0.0.0
             Logischer Name: /dev/sda
             Version: V881
             Seriennummer: 0029501017U2
             Größe: 119GiB (128GB)
             Fähigkeiten: gpt-1.00 partitioned partitioned:gpt
             Konfiguration: ansiversion=5 guid=5a541a59-0d2f-4e0c-b994-85c103a3cc3e logicalsectorsize=512 sectorsize=4096
           *-volume:0 UNGEFORDERT
                Beschreibung: Windows FAT Laufwerk
                Hersteller: mkfs.fat
                Physische ID: 1
                Bus-Informationen: scsi@0:0.0.0,1
                Version: FAT32
                Seriennummer: f4fb-3239
                Größe: 510MiB
                Kapazität: 511MiB
                Fähigkeiten: boot fat initialized
                Konfiguration: FATs=2 filesystem=fat name=EFI System Partition
           *-volume:1
                Beschreibung: EXT4-Laufwerk
                Hersteller: Linux
                Physische ID: 2
                Bus-Informationen: scsi@0:0.0.0,2
                Logischer Name: /dev/sda2
                Logischer Name: /
                Logischer Name: /home
                Version: 1.0
                Seriennummer: 422f7915-3850-4e15-9aa7-62ad422f9996
                Größe: 118GiB
                Fähigkeiten: journaled extended_attributes large_files huge_files dir_nlink recover 64bit extents ext4 ext2 initialized
                Konfiguration: created=2021-04-15 12:02:55 filesystem=ext4 lastmountpoint=/ modified=2021-04-15 12:46:40 mount.fstype=ext4 mount.options=rw,relatime,errors=remount-ro mounted=2021-04-15 12:46:40 state=mounted
  *-battery
       Produkt: RU03048XL
       Hersteller: 333-54-2A-A
       Physische ID: 1
       Steckplatz: Primary
       Kapazität: 48010mWh
       Konfiguration: voltage=11,4V

Linux auf dem TERRA PAD 1162 N4120

Transparenzhinweis: Das vorliegende Testgerät wurde mir vom Terra-Fachhändler Data Division Computersysteme aus Hannover zu Testzwecken für die Erprobung des Schuleinsatz am Georg-Büchner-Gymnasium Seelze leihweise zur Verfügung gestellt.

Heute konnte ich erproben, inwiefern man den Daily Build von Ubuntu 21.04 mit unserem GBG-Client auf dem TERRA PAD 1162 N4120 einsetzen kann. Zunächst einmal verlief die Installation vollkommen problemlos und die gesamte Hardware funktioniert „out of the box“: Der Touchscreen funktioniert samt Multitouch-Gesten und Stylus, die Front- und die Rückkamera funktionieren, die W-Lan-Karte geht und die automatische Bildschirmrotation funktioniert ebenfalls. Mikrofon und Lautsprecher funktionieren auch. Kurzum das Gerät ist direkt einsetzbar, ohne dass irgendetwas noch nachträglich installiert werden müsste.

Bemerkenswert ist ebenfalls, dass die Gestensteuerung direkt funktioniert: Man kann mit vier Fingern zwischen den Workspaces wechseln und mit weiteren Gesten zoomen oder Inhalte drehen.

Allerdings unterstützt der Stylus keine Drucksensitivität, sodass man nicht durch Verändern des Drucks auf den Bildschirm die Liniendicke beim Zeichnen variieren kann. Zusätzlich ist der Touchscreen in Verbindung mit dem Stylus im Vergleich zu anderen Geräten relativ unpräzise. Ich habe als Vergleich in der Schule das ThinkPad L13 Yoga vorliegen, was aber auch mehr als doppelt so teuer ist. An dieser Stelle macht sich der geringe Preis des TERRA PAD 1162 von 389 Euro ohne Tastatur (ca. 50 EUR) und Stylus (ca. 30 Euro) bemerkbar.

Qualitative Einschränkungen muss man auch in Hinblick auf das Type Cover, so wird die Tastatur bei dieser Gerätegattung bezeichnet, in Kauf nehmen. Das Tippgefühl ist eher mäßig und leider ist die magnetische Befestigung am Tablet wackelig, sodass man Gefahr läuft, dass sich die Tastatur unbeabsichtigt löst. Dafür ist das Touchpad wiederum gut zu bedienen; dieses auch mit Multitouchgesten (mit zwei Fingern kann man horizontal und vertikal scrollen und mit vier Fingern kann man zwischen den Workspaces wechseln).

Positiv ist mir bislang die Akkulaufzeit aufgefallen. Von Wortmann werden 6 Stunden angegeben, aber es scheinen mir eher gute zehn Stunden zu sein. Ich habe das Gerät heute einmal voll aufgeladen und habe damit heute viel gearbeitet und bin jetzt bei 53 % und einer angezeigten Restlaufzeit von 5:02 Stunden.

Was das Display betrifft, so handelt es sich um ein Full-HD-IPS-Panel, was deswegen naturgemäß sehr blickwinkelstabil ist, doch leider spiegelt es sehr stark und es dürfte auch gerne etwas heller sein. In hellen Umgebungen erscheint es schon recht dunkel. Ein Einsatz draußen bei Sonneneinstrahlung dürfte somit recht schwierig sein.

Gut ist allerdings die allgemeine Performance des Geräts: Ubuntu 21.04 läuft darauf sehr zügig und ich hatte bislang an keiner Stelle den Eindruck, dass es sowohl bei Arbeitsspeicher (4 GB) als auch bei der CPU-Performance (4 Kerne zu jeweils 1,10 GHz) einen Flaschenhals gäbe. LibreOffice startet sogar ausgesprochen schnell. Ich denke, dass man mit dem Gerät im Alltagsschuleinsatz weder in Hinblick auf den Arbeitsspeicher noch in Hinblick auf die CPU schnell an Leistungsgrenzen stoßen wird.

Zusammenfassend kann ich nach einem Tag Test sagen, dass die Linux-Unterstützung sehr gut ist, aber dass es leider auch einige Einschränkungen gibt, die den Einsatz als Leihgerät für Lehrkräfte fragwürdig erscheinen lassen. Die größte Einschränkung besteht in dem nur mäßig präzisen und nicht drucksensitiven Stylus. Bei uns an der Schule werden schon von vielen Kolleginnen und Kollegen Convertibles und Tablets als interaktive Tafeln eingesetzt. Für diesen Verwendungszweck muss der Stylus präzise sein und sollte auch über Drucksensitivität verfügen. Ich will nicht ausschließen, dass die mangelnden Drucksensitivität bei diesem Gerät an Ubuntu 21.04 liegt. Ich werde das weiter untersuchen und beobachten, wie sich das entwickelt. Zumal Ubuntu 21.04 noch das Daily Build ist und keine offiziell veröffentlichte Version (21.04 dürfte Ende April offiziell veröffentlicht werden, jetzt ist gerade Testing Week). Eine weitere Einschränkung besteht in der mäßigen mechanischen Qualität. Es ist schon sehr störend, dass sich das Type Cover so leicht vom Tablet löst. Da gibt es Geräte, bei denen diese Verbindung wesentlich stabiler umgesetzt wurde. Es ist sehr schade, dass Wortmann hier keine stärkeren Magnete oder eine stabilere Verbindung spendiert hat. Allgemein macht die Verarbeitungsqualität keinen vollständig überzeugenden Eindruck: Die rückwärtige Kamera sitzt beispielsweise nicht hundertprozentig mittig im Gehäuse, sodass in den Randbereichen des Gesichtsfeldes Verdunkelungen zu erkennen sind (siehe Bild unten).

Testbild mit der rückwärtigen Kamera des TERRA PAD 1162

Ich werde das Gerät weiter erproben und nach den Ferien auch testen, wie es am Beamer funktioniert. Hier noch zwei Videos, die Touchgesten und den Stifteinsatz demonstrieren.

Mit der Vier-Finger-Wischgeste zwischen den Workspaces wechseln
Gesten- und Stifteinsatz in Krita
Demonstration der Gestensteuerung mit der geöffneten Linux-Version der BiBox aus dem Hause Westermann

Mein derzeitiger Eindruck ist, dass es als Leihgerät für Lehrkräfte aufgrund des nur mäßig präzisen Stylus weniger geeignet ist.

Als Gerät für Schülerinnen und Schüler ist es aber eventuell eine Überlegung wert, da es nicht nur eine recht lange Akkulaufzeit hat, sondern auch noch im Vergleich zu Laptops recht leicht ist (800 g).

Für die interessierten Leserinnen und Leser habe ich hier die Ausgabe von lshw:

scp-terrapad-1162
    Beschreibung: Detachable
    Produkt: 1220074;1470256 (4039407061846)
    Hersteller: Wortmann_AG
    Version: 1162;1470256
    Seriennummer: R6656075
    Breite: 64 bits
    Fähigkeiten: smbios-3.2.0 dmi-3.2.0 smp vsyscall32
    Konfiguration: boot=normal chassis=detachable family=NB-TERRA;PAD;11,6 sku=4039407061846 uuid=3682D02A-548D-EB11-8F64-DC1AEDBA1000
  *-core
       Beschreibung: Hauptplatine
       Produkt: S116G
       Hersteller: weiheng
       Physische ID: 0
       Version: To be filled by O.E.M.
       Seriennummer: WH200900731529
       Steckplatz: To be filled by O.E.M.
     *-firmware
          Beschreibung: BIOS
          Hersteller: American Megatrends Inc.
          Physische ID: 0
          Version: WH-BI-11.6-SF133GR310-GH55A-287-D
          date: 01/22/2021
          Größe: 64KiB
          Kapazität: 4544KiB
          Fähigkeiten: pci upgrade shadowing cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int14serial int17printer acpi usb biosbootspecification uefi
     *-memory
          Beschreibung: Systemspeicher
          Physische ID: 23
          Steckplatz: Systemplatine oder Hauptplatine
          Größe: 4GiB
        *-bank:0
             Beschreibung: DIMM LPDDR4 Synchron 2133 MHz (0,5 ns)
             Produkt: 123456789012345678
             Hersteller: ABCD
             Physische ID: 0
             Seriennummer: 1234
             Steckplatz: A1_DIMM0
             Größe: 1GiB
             Breite: 16 bits
             Takt: 2133MHz (0.5ns)
        *-bank:1
             Beschreibung: DIMM LPDDR4 Synchron 2133 MHz (0,5 ns)
             Produkt: 123456789012345678
             Hersteller: ABCD
             Physische ID: 1
             Seriennummer: 1234
             Steckplatz: A1_DIMM1
             Größe: 1GiB
             Breite: 16 bits
             Takt: 2133MHz (0.5ns)
        *-bank:2
             Beschreibung: DIMM LPDDR4 Synchron 2133 MHz (0,5 ns)
             Produkt: 123456789012345678
             Hersteller: ABCD
             Physische ID: 2
             Seriennummer: 1234
             Steckplatz: A1_DIMM2
             Größe: 1GiB
             Breite: 16 bits
             Takt: 2133MHz (0.5ns)
        *-bank:3
             Beschreibung: DIMM LPDDR4 Synchron 2133 MHz (0,5 ns)
             Produkt: 123456789012345678
             Hersteller: ABCD
             Physische ID: 3
             Seriennummer: 1234
             Steckplatz: A1_DIMM3
             Größe: 1GiB
             Breite: 16 bits
             Takt: 2133MHz (0.5ns)
     *-cache:0
          Beschreibung: L1 Cache
          Physische ID: 35
          Steckplatz: CPU Internal L1
          Größe: 224KiB
          Kapazität: 224KiB
          Fähigkeiten: synchronous internal write-back
          Konfiguration: level=1
     *-cache:1
          Beschreibung: L2 Cache
          Physische ID: 36
          Steckplatz: CPU Internal L2
          Größe: 4MiB
          Kapazität: 4MiB
          Fähigkeiten: synchronous internal write-back unified
          Konfiguration: level=2
     *-cpu
          Beschreibung: CPU
          Produkt: Intel(R) Celeron(R) N4120 CPU @ 1.10GHz
          Hersteller: Intel Corp.
          Physische ID: 37
          Bus-Informationen: cpu@0
          Version: Intel(R) Celeron(R) N4120 CPU @ 1.10GHz
          Steckplatz: SOCKET 0
          Größe: 965MHz
          Kapazität: 2700MHz
          Breite: 64 bits
          Takt: 100MHz
          Fähigkeiten: lm fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp x86-64 constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault cat_l2 cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust smep erms mpx rdt_a rdseed smap clflushopt intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts umip rdpid md_clear arch_capabilities cpufreq
          Konfiguration: cores=4 enabledcores=4 threads=4
     *-pci
          Beschreibung: Host bridge
          Produkt: Gemini Lake Host Bridge
          Hersteller: Intel Corporation
          Physische ID: 100
          Bus-Informationen: pci@0000:00:00.0
          Version: 06
          Breite: 32 bits
          Takt: 33MHz
        *-generic:0
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Dynamic Platform and Thermal Framework Processor Participant
             Hersteller: Intel Corporation
             Physische ID: 0.1
             Bus-Informationen: pci@0000:00:00.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=proc_thermal latency=0
             Ressourcen: irq:24 memory:80000000-80007fff
        *-display
             Beschreibung: VGA compatible controller
             Produkt: GeminiLake [UHD Graphics 600]
             Hersteller: Intel Corporation
             Physische ID: 2
             Bus-Informationen: pci@0000:00:02.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pciexpress msi pm vga_controller bus_master cap_list rom
             Konfiguration: driver=i915 latency=0
             Ressourcen: irq:129 memory:a0000000-a0ffffff memory:90000000-9fffffff ioport:f000(Größe=64) memory:c0000-dffff
        *-network
             Beschreibung: Kabellose Verbindung
             Produkt: AC 1550i Wireless
             Hersteller: Intel Corporation
             Physische ID: c
             Bus-Informationen: pci@0000:00:0c.0
             Logischer Name: wlo2
             Version: 06
             Seriennummer: b8:9a:2a:f5:e4:07
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
             Konfiguration: broadcast=yes driver=iwlwifi driverversion=5.11.0-13-generic firmware=46.4d093a30.0 9000-pu-b0-jf-b0- ip=192.168.178.56 latency=0 link=yes multicast=yes wireless=IEEE 802.11
             Ressourcen: irq:44 memory:a1214000-a1217fff
        *-multimedia
             Beschreibung: Audio device
             Produkt: Celeron/Pentium Silver Processor High Definition Audio
             Hersteller: Intel Corporation
             Physische ID: e
             Bus-Informationen: pci@0000:00:0e.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi pciexpress bus_master cap_list
             Konfiguration: driver=snd_hda_intel latency=0
             Ressourcen: irq:138 memory:a1210000-a1213fff memory:a1000000-a10fffff
        *-communication
             Beschreibung: Communication controller
             Produkt: Celeron/Pentium Silver Processor Trusted Execution Engine Interface
             Hersteller: Intel Corporation
             Physische ID: f
             Bus-Informationen: pci@0000:00:0f.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi bus_master cap_list
             Konfiguration: driver=mei_me latency=0
             Ressourcen: irq:131 memory:a123d000-a123dfff
        *-sata
             Beschreibung: SATA controller
             Produkt: Celeron/Pentium Silver Processor SATA Controller
             Hersteller: Intel Corporation
             Physische ID: 12
             Bus-Informationen: pci@0000:00:12.0
             Version: 06
             Breite: 32 bits
             Takt: 66MHz
             Fähigkeiten: sata msi pm ahci_1.0 bus_master cap_list
             Konfiguration: driver=ahci latency=0
             Ressourcen: irq:126 memory:a1218000-a1219fff memory:a123c000-a123c0ff ioport:f090(Größe=8) ioport:f080(Größe=4) ioport:f060(Größe=32) memory:a123b000-a123b7ff
        *-pci:0
             Beschreibung: PCI bridge
             Produkt: Gemini Lake PCI Express Root Port
             Hersteller: Intel Corporation
             Physische ID: 13
             Bus-Informationen: pci@0000:00:13.0
             Version: f6
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: pci pciexpress msi pm normal_decode bus_master cap_list
             Konfiguration: driver=pcieport
             Ressourcen: irq:122
        *-pci:1
             Beschreibung: PCI bridge
             Produkt: Gemini Lake PCI Express Root Port
             Hersteller: Intel Corporation
             Physische ID: 13.1
             Bus-Informationen: pci@0000:00:13.1
             Version: f6
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: pci pciexpress msi pm normal_decode bus_master cap_list
             Konfiguration: driver=pcieport
             Ressourcen: irq:123
        *-pci:2
             Beschreibung: PCI bridge
             Produkt: Gemini Lake PCI Express Root Port
             Hersteller: Intel Corporation
             Physische ID: 13.2
             Bus-Informationen: pci@0000:00:13.2
             Version: f6
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: pci pciexpress msi pm normal_decode bus_master cap_list
             Konfiguration: driver=pcieport
             Ressourcen: irq:124 memory:a1100000-a11fffff
           *-generic
                Beschreibung: Unassigned class
                Produkt: RTS5229 PCI Express Card Reader
                Hersteller: Realtek Semiconductor Co., Ltd.
                Physische ID: 0
                Bus-Informationen: pci@0000:03:00.0
                Version: 01
                Breite: 32 bits
                Takt: 33MHz
                Fähigkeiten: pm msi pciexpress bus_master cap_list
                Konfiguration: driver=rtsx_pci latency=0
                Ressourcen: irq:128 memory:a1100000-a1100fff
        *-pci:3
             Beschreibung: PCI bridge
             Produkt: Gemini Lake PCI Express Root Port
             Hersteller: Intel Corporation
             Physische ID: 13.3
             Bus-Informationen: pci@0000:00:13.3
             Version: f6
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: pci pciexpress msi pm normal_decode bus_master cap_list
             Konfiguration: driver=pcieport
             Ressourcen: irq:125
        *-usb
             Beschreibung: USB controller
             Produkt: Celeron/Pentium Silver Processor USB 3.0 xHCI Controller
             Hersteller: Intel Corporation
             Physische ID: 15
             Bus-Informationen: pci@0000:00:15.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm msi xhci bus_master cap_list
             Konfiguration: driver=xhci_hcd latency=0
             Ressourcen: irq:127 memory:a1200000-a120ffff
           *-usbhost:0
                Produkt: xHCI Host Controller
                Hersteller: Linux 5.11.0-13-generic xhci-hcd
                Physische ID: 0
                Bus-Informationen: usb@1
                Logischer Name: usb1
                Version: 5.11
                Fähigkeiten: usb-2.00
                Konfiguration: driver=hub slots=9 speed=480Mbit/s
              *-usb:0
                   Beschreibung: Video
                   Produkt: Front Camera
                   Hersteller: Front Camera
                   Physische ID: 5
                   Bus-Informationen: usb@1:5
                   Version: 0.01
                   Seriennummer: 200901010001
                   Fähigkeiten: usb-2.00
                   Konfiguration: driver=uvcvideo maxpower=500mA speed=480Mbit/s
              *-usb:1
                   Beschreibung: Video
                   Produkt: Back Camera
                   Hersteller: 5M Camera
                   Physische ID: 6
                   Bus-Informationen: usb@1:6
                   Version: 58.01
                   Seriennummer: 200901010001
                   Fähigkeiten: usb-2.00
                   Konfiguration: driver=uvcvideo maxpower=500mA speed=480Mbit/s
              *-usb:2
                   Beschreibung: Tastatur
                   Physische ID: 8
                   Bus-Informationen: usb@1:8
                   Version: 0.02
                   Fähigkeiten: usb-1.10
                   Konfiguration: driver=usbhid maxpower=100mA speed=1Mbit/s
              *-usb:3
                   Beschreibung: Bluetooth-Schnittstelle
                   Produkt: Bluetooth 9460/9560 Jefferson Peak (JfP)
                   Hersteller: Intel Corp.
                   Physische ID: 9
                   Bus-Informationen: usb@1:9
                   Version: 0.02
                   Fähigkeiten: bluetooth usb-2.00
                   Konfiguration: driver=btusb maxpower=100mA speed=12Mbit/s
           *-usbhost:1
                Produkt: xHCI Host Controller
                Hersteller: Linux 5.11.0-13-generic xhci-hcd
                Physische ID: 1
                Bus-Informationen: usb@2
                Logischer Name: usb2
                Version: 5.11
                Fähigkeiten: usb-3.00
                Konfiguration: driver=hub slots=7 speed=5000Mbit/s
        *-generic:1
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO I2C Host Controller
             Hersteller: Intel Corporation
             Physische ID: 16
             Bus-Informationen: pci@0000:00:16.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:27 memory:a123a000-a123afff memory:a1239000-a1239fff
        *-generic:2
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO I2C Host Controller
             Hersteller: Intel Corporation
             Physische ID: 16.1
             Bus-Informationen: pci@0000:00:16.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:28 memory:a1238000-a1238fff memory:a1237000-a1237fff
        *-generic:3
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 16.2
             Bus-Informationen: pci@0000:00:16.2
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:29 memory:a1236000-a1236fff memory:a1235000-a1235fff
        *-generic:4
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 16.3
             Bus-Informationen: pci@0000:00:16.3
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:30 memory:a1234000-a1234fff memory:a1233000-a1233fff
        *-generic:5
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17
             Bus-Informationen: pci@0000:00:17.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:31 memory:a1232000-a1232fff memory:a1231000-a1231fff
        *-generic:6
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17.1
             Bus-Informationen: pci@0000:00:17.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:32 memory:a1230000-a1230fff memory:a122f000-a122ffff
        *-generic:7
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17.2
             Bus-Informationen: pci@0000:00:17.2
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:33 memory:a122e000-a122efff memory:a122d000-a122dfff
        *-generic:8
             Beschreibung: Signal processing controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 17.3
             Bus-Informationen: pci@0000:00:17.3
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:34 memory:a122c000-a122cfff memory:a122b000-a122bfff
        *-generic:9
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO UART Host Controller
             Hersteller: Intel Corporation
             Physische ID: 18
             Bus-Informationen: pci@0000:00:18.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:4 memory:a122a000-a122afff memory:a1229000-a1229fff
        *-generic:10
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO UART Host Controller
             Hersteller: Intel Corporation
             Physische ID: 18.1
             Bus-Informationen: pci@0000:00:18.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:5 memory:a1228000-a1228fff memory:a1227000-a1227fff
        *-generic:11
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO UART Host Controller
             Hersteller: Intel Corporation
             Physische ID: 18.2
             Bus-Informationen: pci@0000:00:18.2
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:6 memory:fea10000-fea10fff memory:80008000-80008fff
        *-generic:12
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO UART Host Controller
             Hersteller: Intel Corporation
             Physische ID: 18.3
             Bus-Informationen: pci@0000:00:18.3
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:7 memory:a1226000-a1226fff memory:a1225000-a1225fff
        *-generic:13
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO SPI Host Controller
             Hersteller: Intel Corporation
             Physische ID: 19
             Bus-Informationen: pci@0000:00:19.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:35 memory:a1224000-a1224fff memory:a1223000-a1223fff
        *-generic:14
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO SPI Host Controller
             Hersteller: Intel Corporation
             Physische ID: 19.1
             Bus-Informationen: pci@0000:00:19.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:36 memory:a1222000-a1222fff memory:a1221000-a1221fff
        *-generic:15
             Beschreibung: Signal processing controller
             Produkt: Celeron/Pentium Silver Processor Serial IO SPI Host Controller
             Hersteller: Intel Corporation
             Physische ID: 19.2
             Bus-Informationen: pci@0000:00:19.2
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=intel-lpss latency=0
             Ressourcen: irq:37 memory:a1220000-a1220fff memory:a121f000-a121ffff
        *-generic:16
             Beschreibung: SD Host controller
             Produkt: Celeron/Pentium Silver Processor SDA Standard Compliant SD Host Controller
             Hersteller: Intel Corporation
             Physische ID: 1c
             Bus-Informationen: pci@0000:00:1c.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=sdhci-pci latency=0
             Ressourcen: irq:39 memory:a121e000-a121efff memory:a121d000-a121dfff
        *-generic:17
             Beschreibung: SD Host controller
             Produkt: Intel Corporation
             Hersteller: Intel Corporation
             Physische ID: 1e
             Bus-Informationen: pci@0000:00:1e.0
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Fähigkeiten: pm bus_master cap_list
             Konfiguration: driver=sdhci-pci latency=0
             Ressourcen: irq:42 memory:a121c000-a121cfff memory:a121b000-a121bfff
        *-isa
             Beschreibung: ISA bridge
             Produkt: Celeron/Pentium Silver Processor LPC Controller
             Hersteller: Intel Corporation
             Physische ID: 1f
             Bus-Informationen: pci@0000:00:1f.0
             Version: 06
             Breite: 32 bits
             Takt: 33MHz
             Fähigkeiten: isa bus_master
             Konfiguration: latency=0
        *-serial
             Beschreibung: SMBus
             Produkt: Celeron/Pentium Silver Processor Gaussian Mixture Model
             Hersteller: Intel Corporation
             Physische ID: 1f.1
             Bus-Informationen: pci@0000:00:1f.1
             Version: 06
             Breite: 64 bits
             Takt: 33MHz
             Konfiguration: driver=i801_smbus latency=0
             Ressourcen: irq:20 memory:a121a000-a121a0ff ioport:f040(Größe=32)
     *-pnp00:00
          Produkt: PnP device PNP0c02
          Physische ID: 1
          Fähigkeiten: pnp
          Konfiguration: driver=system
     *-pnp00:01
          Produkt: PnP device PNP0c02
          Physische ID: 2
          Fähigkeiten: pnp
          Konfiguration: driver=system
     *-pnp00:02
          Produkt: PnP device PNP0303
          Physische ID: 3
          Fähigkeiten: pnp
          Konfiguration: driver=i8042 kbd
     *-pnp00:03
          Produkt: PnP device PNP0b00
          Physische ID: 4
          Fähigkeiten: pnp
          Konfiguration: driver=rtc_cmos

Serien-E-Mails mit LibreOffice verfassen

In diesem Blog-Post werde ich darstellen, wie man mit LibreOffice personalisierte Serien-E-Mails erstellen und verschicken kann. Dieses Verfahren kann man beispielsweise nutzen, um Schülerinnen und Schüler im Distanzlernen über ihre Leistungsstände zu informieren.

Da es sich bei der Verarbeitung der Namen, Klassenzugehörigkeiten sowie bei Bemerkungen über erledigte Aufgaben und erfolgte Mitarbeit um personenbezogene Daten handelt, die zudem noch sehr schützenswert sind, ist es verboten eine derartige Datenverarbeitung auf einem privaten Endgerät vorzunehmen. Es ist in Niedersachsen allerdings möglich, bei der Schulleitung einen Antrag zu stellen, personenbezogene Daten von Schülerinnen und Schülern dennoch unter Auflagen verarbeiten zu dürfen. Näheres hierzu regelt der Runderlass des niedersächsischen Kultusministeriums vom 01.01.2020 (15-05410/1-8).

Meine Anleitung bezieht sich ganz konkret auf die bei uns eingesetzten Leihgeräte für Lehrkräfte, die mit Ubuntu 20.04 LTS betrieben werden und hohe Datenschutzstandards (Daten können nur in einem verschlüsselten LUKS-Container gespeichert werden, die Geräte werden ferngewartet, es fließen keine Telemetriedaten ab, usw.) erfüllen.

Das folgende Video erklärt die Vorgehensweise:

php-Session-Cookies mit Authentifizierung über IServ-LDAP

Authentifizierung einer PHP-Webanwendung über den IServ-LDAP-Server

Jüngst standen wir bei uns am Georg-Büchner-Gymnasium in Seelze vor der Herausforderung, eine eigene PHP-basierte Webanwendung mit PHP-Session-Cookies über den IServ-LDAP authentifizieren zu wollen, um so zu erreichen, dass sich die Nutzerinnen und Nutzer dort mit ihren IServ-Zugangsdaten anmelden können.

Wie sich herausstellte, gab es dabei einige Fallstricke. In diesem Blog-Post werde ich darstellen, was man machen muss, um erfolgreich die Authentifizierung am IServ-LDAP in der PHP-Anwendung durchzuführen.

Als erstes muss man auf dem IServ-Server einen neuen Bind-Benutzer für LDAP anlegen. Dafür muss man in die Datei /etc/iserv/ldapusers folgende Zeile hinzufügen:

gbg-webserver:+userPassword:10.2.31.28

Dabei ist gbg-webserver der Name des Bind-Benutzers und die IP-Adresse ist die unseres Webservers mit der PHP-Anwendung.

Dann muss man mit folgendem Befehl die Konfigurationsänderung sichern:

iconf save /etc/iserv/ldapusers
iservchk

Als nächstes muss man das LDAP-Passwort mit

cat /var/lib/iserv/server-openldap/pwd/gbg-webserver.pwd

vom IServ holen. Jetzt kann man auf dem Testsystem prüfen, ob eine LDAP-Abfrage mit dem soeben eingerichteten Bind-Benutzer und dem Passwort geht. Dafür muss man auf dem Server 10.2.31.28 Folgendes ausführen:

ldapsearch -o ldif-wrap=no -H ldaps://gbg-seelze.eu:10636 -D "cn=gbg-webserver,ou=ldap,dc=gbg-seelze,dc=eu" -w PasswortAusVarLibIservEtc -b "cn=user.name,ou=users,dc=gbg-seelze,dc=eu"

Einer der Fallstricke war, dass IServ standardmäßig LDAP v3 nutzt, wohingegen PHP standardmäßig mit LDAP v2 arbeitet. Die Umsetzung der Abfrage sieht dann in PHP implementiert folgendermaßen aus:

$ds=ldap_connect("ldaps://gbg-seelze.eu:10636");  // must be a valid LDAP server!
if (ldap_set_option($ds,LDAP_OPT_PROTOCOL_VERSION,3))
 {
    echo "Using LDAP v3";
 }else{
    echo "Failed to set version to protocol 3";
      }
 if ($ds) {
    $passwd="PasswortAusVarLibIservEtc";
    $r=ldap_bind_ext($ds, "cn=gbg-webserver,ou=ldap,dc=gbg-seelze,dc=eu", $passwd);
                         //cn=... der User aus /etc/iserv/ldapusers
    if (ldap_parse_result($ds, $r, $errcode, $matcheddn, $errmsg, $referrals, $ctrls)) {
        if ($errcode != 0) {
            die("Error: $errmsg ($errcode)");
                           }
        }
    $sq="(memberOf=*)";
    echo "Searching for $sq";
    $act="erika.mustermann"; // bzw. der zu authentifizierende User
    $sr=ldap_search($ds, "cn=".$act.",ou=users,dc=gbg-seelze,dc=eu",$sq);
    if (ldap_parse_result($ds, $sr, $errcode, $matcheddn, $errmsg, $referrals, $ctrls)) {
        if ($errcode != 0) {
            die("Error: $errmsg ($errcode)");
                           }
        }
    $info = ldap_get_entries($ds, $sr); //hier sollte nur ein Entry rauskommen (keine Wildcards im User erlauben)
    for ($i=0; $i<$info["count"]; $i++) {
//----------------Passworttesten hier!---------------------------------------
      $hashpasswd=explode ("{crypt}",$info[$i]["userpassword"][0])[1];
      if (password_verify('testpasswort', $hashpasswd )) {  //bzw. das zu testende Passwort
       echo 'Password is valid!';
       } else {
        echo 'Invalid password.';
        }
//----------------Gruppenzugehörigkeit hier!------------------------------------
    $memberof=[];
    for ($j=0; $j<$info[$i]["memberof"]["count"]; $j++) {
    $memberof[]= explode(",",explode("cn=",$info[$i]["memberof"][$j])[1])[0];

//----------optimistische Auswertung, hier sollte man sich etwas vor Fehlern schützen----
      }
    }
    print_r($memberof); //$memberof enthält jetzt alle iserv-Gruppenzugehörigkeiten
    ldap_close($ds);

Windows-Programme für Linux als Debian-Paket packen und ausführbar machen

Ab und zu ist es erforderlich, Programme zu nutzen, für die es keine Linux-Versionen gibt. In diesem Fall ist es möglich, die Windows-Version einer Anwendung mit der Windows-kompatiblen Laufzeitumgebung wine zu nutzen.

Ab und zu ist es erforderlich, Programme zu nutzen, für die es keine Linux-Versionen gibt. In diesem Fall ist es möglich, die Windows-Version einer Anwendung mit der Windows-kompatiblen Laufzeitumgebung wine zu nutzen. wine stellt dabei die für die Ausführung von Windows-Programmen erforderlichen dynamischen Programmbibliotheken (Dynamic Link Libraries) zur Verfügung, sodass eine Windows-Binärdatei auch unter Linux gestartet werden kann. Zudem stellt wine auch eine Windows-Registry zur Verfügung, da diese von manchen Windows-Anwendungen erfordert wird.

Um Windows-Programme möglichst komfortabel auch auf Linux-Systemen nutzen zu können, bietet es sich an, diese in ein Linux-AppImage zu packen. Das AppImage ist ein komprimiertes Dateisystemabbild, das alle für die Ausführung eines Programms erforderlichen Abhängigkeiten enthält, sodass die Anwendung auf jedem Linux-System ohne Installation ausgeführt werden kann. In dem Fall der Windows-Anwendung enthält das AppImage die ausführbare Windows-Datei vom Typ exe sowie die Windows-kompatible und für das Programm passend konfigurierte Laufzeitumgebung wine. Macht man einen Doppelklick auf das AppImage, so wird das Windows-Programm mit wine gestartet und man kann es nutzen.

Da in dem AppImage nicht nur die Anwendung als solches, sondern auch noch die wine-Laufzeitumgebung mit allen Abhängigkeiten enthalten ist, wird ein solches AppImage leider recht groß. So wächst dann zum Beispiel eine Windows-exe von etwa 40 MB auf über 100 MB an.

In einem weiteren Schritt muss man das AppImage dann in ein Debian-Installationspaket packen, damit man es einfach auf einem Linux-System installieren kann und die Programmstarter automatisch im Anwendungsmenü erzeugt werden.

Im Detail geht man wie folgt vor:

  • Man muss dann das AppImage in deb-Paket packen. Dabei kann man wie von mir hier beschrieben vorgehen.

Leider funktioniert diese Vorgehensweise nicht generell für alle Windowsanwendungen. Vor allem funktioniert diese Vorgehensweise nicht für Anwendungen, die Microsoft .NET nutzen. Mir ist es aber vollkommen problemlos gelungen, Qt-basierte Windows-Anwendungen auf diese Weise zu packen.

Benutzung von Joplin: Formeln

Für den naturwissenschaftlichen Unterricht ist es häufig erforderlich, Formeln zu schreiben. Joplin unterstützt das Setzen von Formeln mit TeX-Syntax. Chemische Reaktionsgleichungen können zudem mit mhchem in Joplin gesetzt werden.

Eine ausführliche Anleitung gibt es hier.

Unterschied zwischen Markdown- und Vorschauansicht in Joplin
Das Bild zeigt Joplin in der geteilten Ansicht mit dem Markdown-Fenster auf der linken und dem Vorschaufenster auf der rechten Seite. Klickt man auf den rot hervorgehobenen Button, so wechselt Joplin in den WYSIWYG-Editor. Das bedeutet, dass man den Text, so wie er tatsächlich aussieht (wie z.B. in einem Textverarbeitungsprogramm) bearbeiten kann.
Das ist dieselbe Seite im WYSIWYG-Editor.

Möchte man eine mathematische Formel eingeben, so geht dieses am einfachsten in der geteilten Ansicht. Die in den Abbildungen dargestellte Formel gibt man in TeX-Syntax beispielsweise so ein:

$$
h\cdot f = -13,6\ \text{eV}\cdot (Z-1)^2 \cdot \left(\frac{1}{n^2}-\frac{1}{1^2}
\right)

$$

Durch die doppelten Dollarzeichen wird der Beginn und das Ende der TeX-Formel gekennzeichnet.