Sie sind auf Seite 1von 116

Ab sofort 116 Seiten Know-how zu RasPi und Linux

06/2023-07/2023 • Juni / Juli 2023

Marke Eigenbau
Coole Projekte realisieren, die das Leben erleichtern

Bienenstock
Daten auslesen und mit
Grafana visualisieren

Void Linux
Die unabhängige Distro mit
eigenem Paketmanagement

TensorFlow
Künstliche Intelligenz auf dem
Minirechner nutzen

Windows 11 auf dem RasPi betreiben


Die IoT-Version des Systems aus Redmond eignet sich auch
zum Betrieb auf dem RasPi – allerdings mit Einschränkungen

WWW.RASPBERRY-PI-GEEK.DE EUR 11,50


Deutschland
A EUR 12,30 - BeNeLux EUR 12,90
CH sfr 17,60 - E / I EUR 13,50 4 198554 711506 07
Basics. Projekte.
Ideen. Know-how.

Jetzt
testen!
30 % sparen
nur 8,00 €

Jetzt bestellen!
• Tel.: 0911 / 993 990 98 • E-Mail: computec@dpv.de
Einfach bequem online bestellen: shop.raspberry-pi-geek.de
Editorial

Raus bist Du!


Sehr geehrte Leserinnen und Leser, Thomas
Leichtenstern
„Danke, dass ihr so hart gearbeitet habt, um Menschen und Unternehmen überall zu Redakteur
helfen. Eure Beiträge waren von unschätzbarem Wert und wir sind dankbar dafür”. Das
schrieb Alphabet-Chef Sundar Pichai kürzlich seinen Mitarbeitern in einer E-Mail. Ähn-
lich warme Worte dürften vermutlich auch viele Mitarbeiter anderer Tech-Giganten zu
lesen bekommen haben. Im Silicon Valley tobt eine Entlassungswelle in nie gekann-
tem Ausmaß. Nun droht sie auch nach Europa überzuschwappen.
So entließ beispielsweise Googles Mutterkonzern Alphabet 12 000 Mitarbeiter,
­Microsoft 10 000 und Amazon sogar 18 000. Facebook setzte Anfang des Jahres 13 000
Leute vor die Tür, in Kürze sollen weitere 4000 folgen. In der Summe verloren im
­Silicon Valley zu Jahresbeginn 2023 über 150 000 Mitarbeiter ihren Job.
Eine Branche, die ihre Anleger, aber auch Mitarbeiter, über viele Jahre mit immer
Inhalt
­höheren Renditen belohnte, muss plötzlich Federn lassen. Die fetten Jahre sind erst
einmal vorbei. Getreu dem Motto „Mitarbeiter sind das wichtigste Kapital eines Unter- Aktuelles
nehmens”, stellt sich die Frage, wie es dazu kam.
Ausgepackt.................................... .4
Das liegt zunächst daran, dass sich viele Firmen in der Corona-Krise verspekulierten.
Während des Lockdowns stieg die Nachfrage nach IT-Dienstleistungen und Hardware
massiv an, was die Unternehmen veranlasste, mehr Personal einzustellen.
Im Test
Der Facebook-Mutterkonzern Meta und Amazon verdoppelten ihre Belegschaft Win 11 auf dem RasPi..................... 6
während der Pandemie, andere wie Microsoft oder Google stockten etwa die Hälfte
auf. Doch Corona mit all seinen Begleiterscheinungen ist weitgehend vorbei, die Hacks
Nachfrage sinkt deutlich. Daniel Ek, CEO von Spotify, sagt dazu: „Im Nachhinein weiß
Daten aufbereiten mit Grafana... .12
ich, dass ich im Vergleich zum Umsatzwachstum zu ambitioniert investiert habe”.
Aber das ist nicht der einzige Grund: Auch die schwächelnde Konjunktur, ausgelöst
durch hohe Inflation und Zinsen, leistet ihren Beitrag. Wie sich der Markt weiterent­
Schwerpunkt
wickelt, kann derzeit kaum jemand seriös prognostizieren. Belegung im Office markieren..... 14
Auch wenn es den entlassenen Mitarbeitern wenig hilft, sind viele Ökonomen der
Meinung, dass es sich dabei um ein überfälliges und gesundes Korrektiv handle, einen Gestensteuerung per RasPi........ .20
aufgeblähten Markt auf ein vernünftiges Niveau zu schrumpfen. Gewächshaus überwachen........... 24

Raspberry Pi
Herzliche Grüße,
Void Linux....................................... 48
Thomas Leichtenstern TensorFlow-KI................................ 54

Service
Impressum.....................................94

Autoren
Bernhard Bablok Aktuelle Hardware im Kurztest 4
Gestengesteuertes Kochbuch 20
Erik Bärwaldt TensorFlow-KI auf dem RasPi 54
Inserenten
Swen Hopfe Gewächshaussteuerung 24 Computec Media GmbH www.computec.de 116

Anzela Minosi Windows 11 auf dem RasPi 6 Fernschule Weber www.fernschule-weber.de 17

Void Linux 48 Linuxhotel www.linuxhotel.de 9

Martin Mohr Daten auswerten mit Grafana 12 PC Games Hardware www.pcgh.de 115
Belegungsanzeige per E-Ink-Display 14 Raspberry Pi Geek www.raspberry-pi-geek.de 2

06/2022-07/2023 www.raspberry-pi-geek.de 3
Aktuelles Ausgepackt

Lichtsensor Aus eigener leidvoller Erfahrung weiß


der Autor, dass übliche preiswerte Taster
sonders attraktiv ist die durchsichtige Va-
riante der Tastenkappen, denn an jeder
Licht nach Wunsch – mit der mit der Zeit ausleiern. Spätestens nach Taste sitzt eine individuell ansteuerbare
Helligkeitssteuerung BH1750 zwei, drei Jahren Dauereinsatz nimmt NeoPixel-LED. Da diese Pixel alle mitein-
das Prellen überhand oder der Druck- ander verkabelt sind, genügt bereits ein
Light Sensor.
kontakt geht teilweise verloren. Das einziger Pin, um sie anzusteuern. Auf das
führt insbesondere dazu, dass sich kurze 5x6-Raster sind Sie nicht festgelegt, da
und lange Tastendrücke nur noch schwer sich die Zeilen und Spalten der Matrix
unterscheiden lassen. Hier bieten richti- mit einfachen Mitteln trennen lassen. Im
ge MX-Tasten eine robustere, allerdings ungünstigen Fall müssen Sie allerdings
auch deutlich teurere Alternative. anschließend die einzelnen NeoPixel des
Die Verkabelung von einzelnen Tasten gewählten Ausschnitts wieder zu einer
unterscheidet sich grundsätzlich nicht Kette zusammenlöten.
von der für die bekannten kleinen Falls Sie vor dem relativ hohen Preis für
schwarzen Taster. Falls Sie mehrere Tas- das NeoKey 5x6 Ortho Snap-Apart plus
ten benötigen, beispielsweise für ein benötigtem Zubehör zurückschrecken,
Zahlenfeld, dann verkabeln Sie sie am hilft unter Umständen schlicht etwas Ge-
besten in einer Matrixanordnung, denn duld: Warten Sie einfach auf eines der in
das spart GPIOs. Das NeoKey 5x6 Ortho regelmäßigen Zeitabständen wiederkeh-
Snap-Apart von Adafruit bietet zu die- renden Sonderangebote von Ada­fruit-
sem Zweck eine solide Produkten. Im Rahmen derer gewähren
Grundlage im 5x6- die großen Anbieter nicht selten 15 bis
Raster. Die Tastenba- 30 Prozent Ermäßigung, was die Ent-
sis, kompatible MX- scheidung für die ­robusten Tasten durch-
Schalter etwa von aus erleichtern dürfte.
Cherry oder Khali,
wird eingeklipst (Bild- BH1750 Light Sensor
mitte). Die Tastenkap- Preis: 5,35/​2,40 Euro ■■■■■
pen wählen Sie ganz
(Original/​Nachbau)
nach Ihren Bedürfnis-
Bezugsquellen: BerryBase, Pimoroni
sen (im Bild links). Be-

Motorsteuerung Das Steuern von bis zu acht Motoren mit


einem Pico fällt mit dem Simply Servos
Bei Dauerbetrieb unter hoher Last erhitzt
sich die Platine. Darüber hinaus gibt es
Sie möchten mehrere Servo- Board von Kitronik besonders leicht. Die einen Hauptschalter in Form eines klei-
motoren ansteuern? Kein Platine nimmt einen Pico auf und bietet nen Schiebeschalters.
Anschlüsse für die Stromversorgung, den Kostengünstig, klein und gut ausge-
Problem mit dem Kitronik
Servos und weiteren GPIOs. Über ein stattet eignet sich das Board ideal für ein-
Simply Servos Board. Schraubterminal führen Sie die Versor- fachere Experimente – für den harten
gungsspannung für Pico und Servos zur Dauereinsatz, etwa in einem Fahrzeug al-
Platine (3-12 Volt, maximal 10 Ampere). lerdings weniger. Die einfachen An-
schlüsse für Dupont-Stecker dürften sich
bei heftigen Vibrationen auf Dauer lösen.
Im Repository des Herstellers steht ein
Micropython-Code bereit, der die acht
Servos über PIO-gesteuertes PWM kon­
trolliert. Sauber als Bibliothek (Python-
modul) implementiert, gelingt das Ein-
binden in eigene Steuerprogramme
dementsprechend problemlos.

Kitronik Simply Servos Board


Preis: 19,20 Euro ■■■■■
Bezugsquelle: Pimoroni

4 www.raspberry-pi-geek.de 06/2023-07/2023
Ausgepackt Aktuelles

Adafruit führt für seine ganz kleinen


­Mikrokontroller Addon-Boards mit „BFF“
BFF ist damit jedoch Schluss, denn er
enthält einen integrierten Level-Shifter
Neopixel-Treiber
im Namen. Die Abkürzung steht für „Best und betreibt die Streifen damit gemäß LED-Strips ansteuern mit
Friend Forever“ und spielt darauf an, der Spezifikation. NeoPixel Driver BFF Addon.
dass Nutzer sie sinnvollerweise direkt an In Kombination mit dem dazu passen-
das Controller-Board löten. den ESP32-S2/​ESP32-C3-Modul erlaubt
Für den Betrieb von Neopixelstreifen das Addon-Board, den Streifen per WLAN
kommt das Neopixel BFF zum Einsatz, oder Bluetooth fernzusteuern. Wegen
das seinen Strom vom USB-C-Stecker der der erfreulich gering ausfallenden Größe
Micro Controller Unit (MCU) bezieht. Der von Kontroller und Anschluss sticht da-
Streifen selbst kommt über einen JST- mit das Gesamtpaket kaum ins Auge.
PH3-Stecker mit einem Rastermaß von
zwei Millimetern an das Addon-Board.
Neopixel benötigen in den meisten
Fällen 5 Volt Versorgungsspannung so-
wie 5-Volt-Signale, womit jedoch wiede­
rum die inzwischen weit verbreiteten
3V3-MCUs nicht zurechtkommen. Dieses
Problem fällt allerdings erst bei längeren
Streifen auf, bei wenigen Pixeln dagegen
lässt sich ein wenig schummeln. Mit dem

NeoPixel Driver BFF Addon


Preis: 3,95 Euro ■■■■■
Bezugsquelle: BerryBase, Pimoroni

Zahlreiche Mikrokontroller-Boards besit-


zen einen JST-PH2-Anschluss für die gän-
um eine Firma, sondern eine Community
mit Github-Projekt – alle Designs stehen
Lipo-Schalter
gigen Lipo-Akkus. Was jedoch fehlt, und frei zur Verfügung. Wer nicht selbst PCBs An- und Ausschalten von
auch direkt am Board ungünstig wäre, ist bestellen will, bekommt fertige Boards ­Akkus mit dem
ein An- und Ausschalter. Diesen müssen über Tindie oder Distributoren.
Lipo-Disconnector.
Sie dementsprechend selbst zwischen Zwei verbundene JST-Anschlüsse,
Akku und Board einbauen. ­deren eine Leitung unterbrochen ist –
Eine simple Lösung für das Problem mehr steckt nicht hinter dem Lipo-Schal-
bietet der Lipo-Disconnector von Solder ter –, benötigt dieser Anwendungszweck
Party. Dabei handelt es sich genau ge- allerdings auch nicht. █
nommen nicht

Lipo-Disconnector
Preis: 3,70 Euro ■■■■■
4,90 Euro (12er-Pack)
Bezugsquelle: Pimoroni

06/2023-07/2023 www.raspberry-pi-geek.de 5
© fabio formaggio / 123RF.com

Raspberry Pi als Windows-Rechner

Windows an Board
Wine ermöglicht die Installation von Windows-Software auf dem RasPi. Aller-
dings lässt sich damit nicht jedes Programm zum Laufen bringen. Besser ist es,
Windows 11 IoT auf dem RasPi direkt zu installieren. Anzela Minosi
Windows auf dem RasPi Im Test

Im Gegensatz zum Android-Betriebssys-


tem kommt das modifizierte Image für
Windows 11 beim Raspberry Pi ohne
Emulator aus, was ressourcenschonen-
der ist. Die Kombination aus Windows 11
und RasPi stellt somit unter anderem
eine günstige Gelegenheit dar, Tools und
Anwendungn zu testen, ehe sie produk-
tiv eingesetzt werden.
1 Bei der Installation stehen Windows 10
und 11 zur Wahl.
Installation
Am einfachsten gestaltet sich die Instal-
lation von Windows 10 oder 11, wenn sie lation an. Als Speichermedium eignet
auf dem Raspberry Pi OS erfolgt. Dabei sich eine wiederbeschreibbare micro- 2 Während der Installation können tem-
dürfen Sie für die Installation einen Ras­ SD-Karte, deren Größe mindestens poräre Dateien in einem anderen Ordner
Pi 3 oder 4 verwenden. Zunächst laden 25 GByte beträgt. Zusätzlich besteht gespeichert werden.
Sie den Installer  per Git herunter und dort auch die Möglichkeit, den Pfad zu
starten den grafischen Installationsassis- einer SSD-Festplatte anzugeben (siehe
tenten mittels Listing 1. Nach dem Star- Tabelle Anforderungen).
ten öffnet sich ein zweites Terminal- Sobald die Installationsübersicht er-
Fenster, das während des Installations- scheint, sollten Sie die Einstellungen
vorgangs geöffnet bleibt. noch einmal überprüfen. An dieser Stelle
Gleich zu Beginn geben Sie das ge- können Sie den RasPi übertakten, indem
wünschte Betriebssystem an, Win- Sie auf den Link Click here klicken. Da-
dows 10 sowie 11  stehen zur Verfü- durch öffnet sich eine Textdatei, welche
1
gung . Zusätzlich wählen Sie Ihr Rasp- mögliche Übertaktungseinstellungen
berry-Pi-Modell aus und in der nächsten anzeigt. Zur Auswahl stehen eine einfa-
Einstellung die gewünschte Sprache. An- che, mittlere sowie maximale Übertak-
schließend geben Sie das Ziel der Instal- tung. Sie können sich für eine dieser
Übertaktungen entscheiden und die
Textdatei geöffnet lassen.
Anforderungen Fortgeschrittene Einstellungen neh-
men Sie durch einen Klick auf Advanced
Raspberry Pi 3, 4
vor. Dort sollte ein Ordner für temporäre
microSD-Karte Minimum 25 GByte
Netzwerk Ethernet, WLAN-Stick,
USB-To-Ethernet-Adapter Listing 1: Installation
Bluetooth Bluetooth-Stick $ git clone https://github.com/Botspot/wor‑flasher
Eingabegeräte Tastatur, Maus $ cd wor‑flasher/
Monitor HDMI $ ./install‑wor‑gui.sh

README
Microsoft bietet für Embedded-Plattfor-
men Windows 11 IoT Enterprise an. Der
„Windows on Raspberry Pi“-Flasher (WoR-
Flasher) erledigt die Installation automa-
tisch. Während das modifizierte Image für
den RasPi USB-Geräte und Ethernet unter
Windows 11 erkennt, lässt sich WLAN nicht
einrichten. Auch abgesehen davon hakt es
an mehreren Stellen.
3 Nach erfolgreicher Installation gibt es weitere Hinweise.

06/2023-07/2023 www.raspberry-pi-geek.de 7
Im Test Windows auf dem RasPi

4 Beim UEFI-BIOS 1.33 handelt es sich um eine spezifisch an den


RasPi angepasste Firmware mit entsprechenden Funktionen. 5 Die Frequenz der CPU kann im UEFI-BIOS gesetzt werden.

Dateien angegeben werden, falls das 3


sehr lange dauern . Sofern Sie vorha-
Laufwerk, mit dem das Betriebssystem ben, den RasPi zu übertakten, schließen
Raspberry Pi OS bootet, nicht genügend Sie die fertig erstellte microSD-Karte an
freien Speicher enthält. Dazu klicken Sie Ihren PC an, indem Sie die microSD-Kar-
auf das Pulldown-Menü direkt neben te in ein Kartenschreib- und Lesegerät
„Working Directory“ und wählen einen schieben. Am besten greifen Sie auf die
Ordner auf einem anderen Laufwerk aus erste Partition über den Dateibrowser zu.
2 . Die Änderung bestätigen Sie mit OK. Anschließend öffnen Sie die Konfigura­
Anschließend lösen Sie das Bespielen tionsdatei des RasPi namens „config.txt“
des Speichermediums aus, indem Sie auf in einem Texteditor und fügen dort die
Flash klicken. oben beschriebenen gewünschten
Das Systemlaufwerk wird in mehreren Übertaktungseinstellungen am unteren
Schritten erstellt, indem der Installer zu- Ende dieser Textdatei ein.
nächst die erforderlichen ARM-Treiber, Danach schieben Sie die bespielte
die UEFI-Firmware sowie das Windows- ­microSD-Karte in den RasPi und booten
Image herunterlädt. Die Dauer des In­ ihn. Der erste Bootvorgang zieht sich in
stallationsvorgangs hängt dabei auch die Länge, weil unter anderem die micro­
von der Geschwindigkeit Ihrer Internet- SD-Karte beziehungsweise das System-
Verbindung ab und kann entsprechend Laufwerk eingerichtet wird. So erscheint

6 Die gewünschte Auflösung des Monitors lässt sich im UEFI- 7 In der erweiterten Konfiguration befinden sich sämtliche
BIOS definieren. Voreingestellt ist die native Auflösung. wichtigen Einstellungen für die RasPi-Firmware.

8 www.raspberry-pi-geek.de 06/2023-07/2023
Windows auf dem RasPi Im Test

für rund 30 Minuten lediglich das Logo (siehe Kasten Windows-11-Image). Alter-
des RasPi, ehe der Installationsassistent nativ lässt sich die beschriebene Installa-
Dateien aus dem heruntergeladenen tion bewerkstelligen, indem Sie anstelle
Windows-Image extrahiert. Danach boo- des grafischen Installers auf die Terminal- UEFI-BIOS
tet der RasPi das Windows-Betriebssytem Variante zurückgreifen. Dazu geben Sie
UEFI steht für „Unified Extensible Firm-
im Verzeichnis des WoR-Installers den fol-
ware Interface“ und kann als Nachfolger
genden Befehl ein, um dieselben Einstel-
des Legacy-BIOS betrachtet werden. Es ist
Windows-11-Image lungen vorzunehmen, nur eben auf der
Konsole: $ ./install‑wor.sh. eine Schnittstelle, die sich zwischen dem
Beim Flashen der micro-SD-Karte wird Betriebssystem und der Firmware eines
eine legale Windows-Version verwendet, Computers befindet. Als Weiterentwick-
die von einem Microsoft-Server stammt. Raspberry Pi einrichten lung des alten BIOS „Basic Input Output
Es handelt sich aber um ein nicht lizensier- Abgesehen von der Konfigurationsdatei System“ spielt bei UEFI die Größe einer
tes Windows-Betriebssystem. Der WoR- „config.txt“, lassen sich im UEFI-BIOS Ein- Partition keine Rolle mehr, sodass große
Flasher installiert Windows auf eine extra stellungen am RasPi vornehmen. Sobald Partitionen problemlos erkannt werden.
Partition, wobei sich die Dateien für den Windows 11 bootet, also unmittelbar Darüber hinaus lässt sich das UEFI-BIOS
RasPi wie zum Beispiel Firmware und nach dem Einschalten des RasPi, drücken programmieren, sodass Anwendungen und
ARM-Treiber auf der ersten Partition befin- Sie mehrmals die Taste [Esc], um ins UEFI- Treiber darin untergebracht werden kön-
den. Das Booten der speziell für den RasPi BIOS zu gelangen. Üblicherweise präsen- nen, um die angeschlossene Hardware zu
entwickelten Windows-Variante erfolgt tiert sich das BIOS in den Farben Grau erkennen beziehungsweise um weitere
mittels eines EFI-Bootloaders, der auch und Blau. Im Hauptfenster erscheint links Einstellungen hinzuzufügen. Beim Booten
den Zugriff auf die UEFI-Firmware erlaubt. oben das Modell des RasPi zusammen erfolgt zunächst der Start des UEFI-BIOS,
Die UEFI-Firmware wurde extra an den mit der UEFI-Firmware-Version (siehe um die angeschlossene Hardware zu über-
­RasPi angepasst und enthält Einstellun- Kasten UEFI-BIOS). Oben rechts ist die ak- prüfen, ehe die Information an das Be-
tuelle CPU-Frequenz des RasPi sowie die
gen, die für den RasPi relevant sind . triebssystem weitergereicht wird.
Größe des Arbeitsspeichers zu sehen . 4
Anzeigen

So viel gelernt wie lange nicht mehr:


~$ Training bei den Open-Sourcelern
# ausgewählte Kurse mit Termingarantie:
---

OPNsense: # 5 Tage
- 12. Juni

Foreman/Katello: # 3 Tage
- 21. Juni

TCP-IP Netzwerke: # 3 Tage


- 03. Juli

Squid: # 3 Tage
- 26. Juli

Shell Programmierung: # 5 Tage


- 07. August

Digitale Forensik: # 3 Tage


- 04. Oktober
chen:
Jetzt bu 00
1 8536-6
Ceph: # 3 Tage
- 13. November Tel.: 020 ote l.de
nuxh
info@li

Rund 100 Intensivkurse pro Jahr: linuxhotel.de


Im Test Windows auf dem RasPi

8 Mit der Einstellung DHCP konfiguriert das UEFI-BIOS die Netz- 9 Die SD-Karte sollte für ein flotteres Booten in der Bootreihen-
werkschnittstelle für den RasPi automatisch. folge im BIOS an oberster Stelle erscheinen.

Beim UEFI-BIOS existieren die Einstellun- ­ evicetree. Um die Treiber der ange-
D
gen, die den RasPi betreffen, unter De­ schlossenen Peripheriegeräte wie Maus
vice Manager | Raspberry Pi Configuration. und Tastatur zu laden, müssen Sie beim
So lässt sich im Untermenü CPU Configu­ Booten etwas mit den Einstellungen
ration eine andere beziehungsweise hö- ­herumexperimentieren . 7
5
here CPU-Frequenz einstellen . Um Das Untermenü SD/​MMC Configuration
eine Einstellung zu ändern, markieren beherbergt Einstellungen, um die SD-
Sie zunächst die entsprechende Option, Karte anzupassen. Allerdings können
in diesem Fall die CPU-Frequenz, drü- hier die Standardeinstellungen über-
cken daraufhin die Taste [Enter], um das nommen werden. Falls kein Zugang zum
Popup-Fenster mit den möglichen Ein- Internet besteht, lässt sich das Netzwerk-
stellungen zu öffnen. Sobald Sie die pas- gerät unter Device Manager | Network
sende Einstellung über die Pfeiltasten ­Device List einrichten. Dort markieren Sie
markiert haben, drücken Sie erneut die MAC-Adresse Ihres LAN-Ports und
­[Enter], um das Popup-Fenster zu schlie- drücken die Taste [Enter], um zum nächs-
ßen. Danach drücken Sie die [F10], um ten Untermenü zu gelangen, wo Sie die
die Änderungen zu übernehmen. Das Einstellungen zu „IPv4 Network Configu-
Untermenü verlassen Sie durch Drücken ration“ aufrufen. Bei DHCP sollten die
von [Esc]. Im Untermenü Display Confi­ Optionen „Configured“ sowie „Enable
ACPI: ACPI steht für „Advanced Confi- guration lässt sich die Auflösung des Mo- 8
DHCP“ aktiviert werden .
guration and Power Interface“. Es ist nitors ändern, wobei die „native Resolu­ Falls Windows 11 länger als 10 Minu-
eine Schnittstelle zwischen Firmware tion“ Ihres Monitors voreingestellt ist. ten braucht, bis es bootet, kann dies
Dadurch wird die bevorzugte Auflösung auch an einer falsch eingestellten Boot­
und dem Betriebssystem, welche zur
Energieverwaltung eingesetzt wird. Zu-
für den Monitor verwendet . 6 reihenfolge im BIOS liegen. Bei Änderun-
Die wichtigsten Einstellungen zum gen am UEFI-BIOS kann es vorkommen,
sätzlich kann es Hardware erkennen.
Ras­Pi finden sich im Untermenü Ad­ dass sich die Reihenfolge automatisch
ACPI wird normalerweise geladen, wäh- vanced Configuration. Standardmäßig ändert. Um die richtige Reihenfolge wie-
rend der Linux-Kernel bootet. wird die Größe des Arbeitsspeichers auf derherzustellen, wechseln Sie zu Boot
Devicetree: Der Devicetree (dt.: Geräte- 3 GByte beschränkt, auch wenn mehr Ar- Maintenance Manager | Boot Options |
beitsspeicher zur Verfügung steht. Diese Change Boot Order. Bei der Option
baum) ist das Gegenstück zu ACPI, das
Einschränkung ist unter Windows 11 „Change the order“ drücken Sie die Taste
insbesondere für die ARM-Architektur
ebenfalls vorhanden. Wenn Sie für Win- [Enter] und verschieben den Eintrag be-
benutzt wird. Die Gerätebeschreibun-
dows 11 den gesamten Arbeitsspeicher ginnend mit „SD/​MMC“ nach oben, in-
gen erfolgen deklarativ, damit das Be- vergeben wollen, markieren Sie die Opti- dem Sie mehrmals auf die Taste [+] drü-
triebssystem alle Treiber initialisieren on „Limit RAM to 3 GB“ und setzen diese cken. Wenn die Reihenfolge richtig ist
kann. Der Devicetree wird für gewöhn- Einstellung auf „Disabled“. Für die Option und „SD/​MMC“ oben stehen, verlassen
lich an den Linux-Kernel übergeben, „System Table Selection“ eignen sich die Sie das Auswahlmenü mit [Enter]. Auch
bevor er hochfährt. Werte ACPI, „ACPI + Devicetree“ und hier werden die Einstellungen erst über-

10 www.raspberry-pi-geek.de 06/2023-07/2023
Windows auf dem RasPi Im Test

nommen, sobald Sie die


9
Taste [F10] drücken .
Sofern alle erforderlichen
Einstellungen erledigt
sind, drücken Sie mehr-
mals die Taste [Esc], um
zurück zum Hauptmenü
zu gelangen. Dort markie-
ren Sie den Button Conti­
nue, um damit den Neu-
start des RasPi mit den
neuen Einstellungen im
BIOS einzuleiten.

Praxistest
Standardmäßig loggen
Sie sich unter Windows 11
mit Ihrem Microsoft-Kon-
to ein 0 . Dabei kann es 0 Die installierte Testversion von Windows kommt mit einigen Einschränkungen daher.
sich um ein Outlook-Kon-
to handeln, oder eines
das Sie auf der Microsoft-Webseite ein- Testversion, welche im 64-Bit-Modus
richten . Die schlechte Nachricht: Win- läuft. Mit der Testversion lässt sich Win-
dows 11 erkennt nicht die gesamte dows nicht personalisieren, so ist die
Hardware des RasPi. So funktionieren Auswahl von Hintergrundbildern nicht
etwa der WLAN-Adapter und der GPIO möglich, lediglich die Änderung der
des RasPi nicht. ­Themes. Allerdings können Sie Software
Allerdings klappt der Internet-Zugang für Intel-basierte Rechner (x86_64) instal-
per Ethernet oder einem WLAN-Dongle lieren, Updates verwalten, die Firewall
am USB-Port. Für die USB-Dongles der ein- oder ausschalten und einiges mehr.
verschiedenen Anbieter gibt es keine Daneben starten Sie das BIOS von Win-
Garantie, dass sie einwandfrei funktio- dows aus, indem Sie bei Einstellungen |
nieren. Am besten klappt der Internet- System | Wiederherstellung | Erweiterter
Zugang via Ethernetkabel. Zusätzlich Start auf Jetzt neu starten klicken. An-
lässt sich Bluetooth aktivieren. Welche schließend wird das System neu gestar-
Ihrer Bluetooth Geräte Windows erkennt, tet und bootet bis zum Windows-Blue- Dateien zum Artikel
müssen Sie selbst ausprobieren. Klicken screen. Dort rufen Sie durch Drücken der herunterladen unter
Sie dazu rechts unten auf das Netzwerk- Taste [Esc] das UEFI-BIOS für den RasPi www.raspi-geek.de/dl/48555
symbol und im Popup-Fenster auf das auf. Falls Sie einen offiziellen Lizenz-
Bluetooth-Symbol. Sound ist sowohl schlüssel erwerben, geben Sie diesen in
über den HDMI-Anschluss eines Moni- den Einstellungen ein und wandeln die
tors als auch über die Line-Out-Buchse Testversion in eine Vollversion um. Weitere Infos und
des RasPi abspielbar. Dazu brauchen Sie interessante Links
lediglich die Lautsprecher mit dem RasPi
Fazit www.raspi-geek.de/qr/48555
zu verbinden. Um das Sound-Gerät aus-
zuwählen, klicken Sie rechts unten auf Windows 11 funktioniert zwar auf dem
das Netzwerksymbol und ein weiteres RasPi, jedoch mit Einschränkungen. Die
Mal auf das Icon mit der Bezeichnung Installation von Software ist im Gegen- Der Autor
„Soundausgabe auswählen“. Anschlie- satz zu Wine ein Kinderspiel, allerdings
Anzela Minosi bietet unter dem Pseudonym
ßend können Sie dort den Ton über Line- läuft Windows auf dem RasPi nicht im-
Out oder HDMI aktivieren. mer flüssig. Nach dem Start von Pro- macrolab auf Legiit.com diverse Dienstleis-
grammen wie etwa dem Opera-Browser tungen rund um IT an. Zusätzlich erreichen
kann es dauern, bis das System einsatz-
Testversion Sie sie für persönliche Beratungsgespräche
bereit ist. Eventuell klappt es mit dem über den Github-Account https://​­github.​
Es handelt sich bei der beschriebenen In- Nachfolgemodell des RasPi 4 dann bes-
­com/​­amxyz‑cyber .
stallation lediglich um eine Windows- ser und schneller. (uba) █

06/2023-07/2023 www.raspberry-pi-geek.de 11
© darios / 123RF.com

Überwachung eines Bienenstocks und Visualisierung der Messwerte mit Grafana

Summ, summ, summ


Bienen reagieren relativ empfindlich auf Umwelteinflüsse. Mit Grafana realisieren Sie für einen
Bienenstock eine Temperatur- und Luftfeuchtigkeitsüberwachung. Martin Mohr
Grafana Hacks

README
Um die Temperatur und die Luftfeuchtigkeit
im Bienenstock konstant zu halten, emp-
fiehlt es sich, diese Daten im Auge zu behal-
ten, um bei Bedarf entsprechend zu reagie-
ren. Das Setup mit Grafana bietet aber
noch viele weitere Nutzungsmöglichkeiten.

Bienen
Weltweit exisitiert eine Vielzahl unter-
schiedlicher Bienenarten. In unseren Brei-
tengraden ist für die Imkerei die westliche
Honigbiene relevant. Für die Gesundheit
1 Als Grundlage für diesen Artikel dient ein Bienenstock einer Schule, der den Schülern
eines Bienenvolks spielen unterschiedli-
die Zusammenhänge von Umwelt und Natur näherbringt.
che Umweltparameter wie die Temperatur
und die Luftfeuchtigkeit im Bienenstock
Als zentrale Komponente unseres Pro- face erstellen Sie Dashboards für ver- eine entscheidende Rolle.
jekts zur Temperaturüberwachung von schiedene Anwendungsfälle. Grafana er- Ganz konkret geht es in unserem Projekt
Bienenstöcken dient ein Grafana-Server. laubt es sogar, einzelne Komponenten in
Mit ihm lassen sich beliebige Informatio- eigene Applikationen zu integrieren. Von
um den Bienenstock aus Abbildung . 1
Dieser dient dazu, Schülern im Unterricht
nen aus unterschiedlichen Datenquellen Grafana existieren unterschiedliche Vari- die Zusammenhänge von Umwelt und
leicht visuell im Browser abbilden. Über anten, für unser Projekt nutzen wir die
­Natur näherzubringen.
ein einfach zu bedienendes Web-Inter- selbst gehostete Open-Source-Variante.

Listing 1: Server-Installation
#### System aktualisieren $ sudo dpkg ‑i grafana_9.3.6_amd64.deb
$ sudo apt update #### FastAPI installieren
$ sudo apt upgrade
$ sudo apt install python3.10‑venv
#### GCC installieren
$ mkdir beeAPI
$ sudo apt install build‑essential
$ cd beeAPI
#### MariaDB installieren
$ sudo apt install mariadb‑server $ python3 ‑m venv beeAPIenv

#### Nötige Bibliotheken installieren $ source beeAPIenv/bin/activate


$ sudo apt install libmariadb3 libmariadb‑dev $ wget https://bootstrap.pypa.io/get‑pip.py
$ sudo apt install python‑dev‑is‑python3 $ python get‑pip.py
#### Grafana installieren
$ python ‑m pip install fastapi
$ sudo apt‑get install ‑y adduser libfontconfig1
$ pip install uvicorn
$ wget https://dl.grafana.com/oss/release/
grafana_9.3.6_amd64.deb $ pip3 install mariadb

06/2023-07/2023 www.raspberry-pi-geek.de 13
Hacks Grafana

Die dementsprechenden Quellen finden trägt eine mit FastAPI  implementierte


Sie auf Github , die vollständige Doku- REST-API an einen Server. Zum Speichern
mentation auf der Projektseite . der Daten verwenden wir eine MariaDB.
Grafana verbindet sich mit der Daten-
bank und visualisiert die gespeicherten
Testaufbau
Messwerte. Wir zeigen in den folgenden
Um Grafana sinnvoll einzusetzen, benö- Abschnitten Schritt für Schritt, wie Sie
tigen wir zunächst eine Umgebung, die die einzelnen Bestandteile des Projekts
uns die entsprechenden Daten bereit- aufsetzen. Dabei greifen wir an den ent-
stellt. Sie setzt sich wie folgt zusammen: sprechenden Stellen auf bereits veröf-
Ein ESP32 Microcontroller, auf dem fentlichte Texte zurück. Im Kasten Bienen
­Micropython läuft, misst die aktuelle finden Sie Wissenswertes über Bienen,
Luftfeuchtigkeit sowie die Temperatur sowie Informationen zu unserem spezi-
im Bienenstock. Die Messwerte über- ellen Bienenstock.

Listing 2: Datenbank anlegen


$ sudo mariadb Query OK, 0 rows affected (0.000 sec)
Welcome to the MariaDB monitor. Commands end with ; MariaDB [(none)]> CONNECT bee;
or \g. Connection id: 32
Your MariaDB connection id is 31 Current database: bee
Server version: 10.6.11‑MariaDB‑0ubuntu0.22.04.1 MariaDB [bee]> CREATE TABLE bee.beeData (
Ubuntu 22.04
‑> id INT auto_increment NOT NULL,
Copyright (c) 2000, 2018, Oracle, MariaDB
‑> hive_id INT NOT NULL,
Corporation Ab and others.
‑> m_time DATETIME NULL,
Type 'help;' or '\h' for help. Type '\c' to clear
‑> tmp FLOAT NULL,
the current input statement.
‑> hum FLOAT NULL,
MariaDB [(none)]> CREATE DATABASE bee;
‑> CONSTRAINT beeData_PK PRIMARY KEY (id)
Query OK, 1 row affected (0.000 sec)
MariaDB [(none)]> GRANT ALL ON bee.* TO ‑> );

'beeUser'@'localhost' IDENTIFIED BY 'beePassword'; Query OK, 0 rows affected, 1 warning (0.020 sec)
Query OK, 0 rows affected (0.002 sec) MariaDB [bee]> EXIT
MariaDB [(none)]> FLUSH PRIVILEGES; Bye

Listing 3: beeAPI.py
from fastapi import FastAPI sys.exit(1)
import mariadb
import sys application = FastAPI()

try: @application.get("/bee")
con = mariadb.connect( async def bee(tmp: float = 0, hum: float = 0,hive:
user="beeUser", int = 0):
password="beePassword", cur=con.cursor()
host="localhost", sql="INSERT INTO beeData (m_time, tmp, hum, hive_
port=3306, id)\

database="bee" VALUES (now(),'"+str(tmp)+"',

) '"+str(hum)+"','"+str(hive)+"')"

except mariadb.Error as e: cur.execute(sql)

print(f"Error connecting to MariaDB Platform: con.commit()


{e}") return {"message": "ok"}

14 www.raspberry-pi-geek.de 06/2023-07/2023
Grafana Hacks

Server FastAPI
Als Server für unser Projekt kommt jeder Da der ESP32 keine di-
beliebige Linux-Rechner infrage. Wenn rekte Verbindung zur
Sie den Server rund um die Uhr betreiben Datenbank aufbauen
möchten, sollten Sie den Stromverbrauch kann, gehen wir den
im Blick behalten. Hier empfiehlt sich ein Umweg über eine API.
sparsamer Raspberry Pi. Möchten Sie die Sie liefert der ESP32 die
Daten über das Internet abrufen, muss benötigten Messwerte,
der Server von dort aus zu erreichen sein. die unsere Datenbank
Für diesen Fall bietet sich ein kleiner vir- speichert. Beachten Sie,
tueller Server an, wie wir ihn hier verwen- dass der Server für die
den. Als Betriebssystem kommt der API in einem virtuellen
Ubuntu Server 22.04  zum Einsatz. Wir Python Environment
benötigen für unser Projekt einige zu- läuft (source beeA‑ 2Die fertig montierten Komponenten sind auf einer
sätzliche Softwarepakete, die es zunächst PIenv/bin/activate) Lochraster-Platine verlötet.
zu installieren gilt. Die Kommandos dazu (Listing 3).
fasst Listing 1 zusammen. Um die API zu starten,
nutzen Sie das folgende Kommando.
MariaDB
uvicorn beeAPI:application\
Zum Speichern der Messwerte nutzen ‑‑host 0.0.0.0 ‑‑reload
wir MariaDB. Nun müssen wir eine Daten-
bank mit dem zugehörigen User erstel-
ESP32
len. Dazu verbinden wir uns als Adminis­
trator mit der Datenbank und setzen eini- Die Hardware unseres Sensors besteht im
ge SQL-Kommandos ab (Listing 2). Wesentlichen aus einem ESP32 Dev-­
Falls Sie sich intensiver mit MariaDB Board  und einem DHT22/​AM2302 Sen-
beschäftigen möchten, enthält der Arti- sor . Zudem sorgt ein 10-µF-Kondensa-
kel „Gut organisiert“  aus einer früheren tor dafür, dass das Flashen des Controllers
Ausgabe dieses Magazins die ein oder sicher funktioniert. Zur Spannungsversor-
andere interessante Anregung. gung nutzen wir ein einfaches USB-Netz-

Listing 4: main.py
import network print (".",end="")
import time station.connect(ssid, key)
import socket d = dht.DHT22(machine.Pin(19))
import dht print(d.measure())
import machine print(d.temperature())
import sys print(d.humidity())
import urequests req="http://<YOUR‑SERVER>:8000/
ssid = "<YOUR‑SSID>" bee?tmp="+str(d.temperature())\
key = "<YOUR‑PASSWORD>" +"&hum="+str(d.
hive = 1 humidity())+"&hive="+str(hive)
while True: print (req)
try: response = urequests.get(req)
station = network.WLAN(network.STA_IF) time.sleep(300)
station.active(True) except KeyboardInterrupt:
while True: print ("interrupt")
print ("Connecting .",end="") sys.exit(0)
while not station.isconnected(): except:
time.sleep(1) pass

06/2023-07/2023 www.raspberry-pi-geek.de 15
Hacks Grafana

thon auf dem ESP32. Der


Artikel „Kleine Schlan-
ge“  aus Raspberry Pi
Geek, Ausgabe 06/​2022,
erklärt, wie Sie Micropy-
thon darauf installieren.
Die Anwendung verbin-
det sich mit dem WLAN,
liest den DHT22-Sensor
aus und schickt die Mess-
werte per HTTP-Request
an die API. Achten Sie da­
rauf, die URL im Request
an Ihren Server anzupas-
sen. Der Request sendet
die Variable hive mit an
die Schnittstelle. Sie dient
als eindeutiger Identifi-
zierer für den Bienen-
stock. Mithilfe dieser Vari-
3 Schaltplan für den Aufbau des ESP32 Dev-Boards. ablen verbinden Sie belie-
big viele Sensoren mit
dem Webservice.
teil. Die Komponenten sind, wie auf Ab- Das Programm läuft in einer großen
bildung 2 zu sehen, auf einer Lochras- Endlosschleife. Falls ein Fehler auftritt,
ter-Platine verlötet. Den dazugehörigen ­ignoriert es ihn und beginnt von vorn.
Schaltplan zeigt Abbildung .3 Wir haben dieses Verfahren gewählt, da-
Da sich mit Python einfach Programme mit der Sensor nicht wegen einer harm-
erstellen lassen, verwenden wir Micropy- losen Störung im Netzwerk abstürzt. Die
Anwendung heißt main.py, was bewirkt,
dass das Programm sofort nach dem Ein-
schalten des Controllers startet (Listing 4).
Um das Programm abzubrechen, ver-
wenden Sie innerhalb der Thonny-Kon-
sole [Strg]+[C].

Grafana
Anschließend gilt es, Grafana mit der Da-
tenbank zu verbinden und unser erstes
Dashboard zu erstellen. Nach der Installa-
tion von Grafana müssen Sie den Server
mit dem Kommando sudo systemctl
start grafana‑server manuell starten.
Danach erreichen Sie die Grafana-Ober-
fläche im Browser über den Port 3000,
etwa http://​­127.​­0.​­0.​­1:3000. Für das erste
4 Grafanas Hauptseite platziert alle wichtigen Komponenten in einer Oberfläche. Login verwenden Sie den User admin mit
dem Passwort admin. Danach sollten Sie
zunächst das Passwort ändern.
Listing 5: SQL-Statement anpassen Danach gelangen Sie auf die Hauptsei-
#### Ursprüngliches SQL‑Statement
te4 des Grafana-Servers. Auf der linken
Seite befindet sich die Hauptnavigation,
SELECT m_time, hum, tmp FROM bee.beeData LIMIT 50 über die Sie sämtliche Funktionen errei-
#### Modifiziertes SQL‑Statement chen – beispielsweise, um direkt zu den
DATA SOURCES zu wechseln. Unter die-
SELECT DATE_SUB(m_time, INTERVAL 1 HOUR), hum, tmp FROM bee.beeData
sem Punkt legen Sie die Datenquelle

16 www.raspberry-pi-geek.de 06/2023-07/2023
Grafana Hacks

fest, derer sich Grafana bedienen soll. hier auf einen kleinen Trick
Dieser Schritt ist essentiell, um Daten mit zurückgreifen, um die richti-
Grafana zu visualisieren. gen Zeiten in unserem
Klicken Sie jetzt auf DATA SOURCES und Chart angezeigt zu bekom-
wählen Sie MySQL aus, das zu MariaDB men. Dazu wechseln Sie
kompatibel ist. Abbildung 5 zeigt die vom Builder- in den Code-
notwendigen Einstellungen, um die Modus, um das SQL für die
­MariaDB als Datenquelle einsetzen zu Datenextraktion manuell
können. Speichern Sie die Einstellungen anzupassen. Sie ändern das
mithilfe eines Klicks auf Save &Test. Passt SQL-Statement wie in Lis-
alles soweit, kehren Sie mit einem Klick ting 5 gezeigt.
auf das Grafana-Logo oben links zur Siehe da, die Messwerte
Hauptseite zurück. Daraufhin wenden erscheinen nun zu dem
Sie sich den DASHBOARDS zu. Zeitpunkt im Chart, den wir
Den Hauptbestandteil eines Dash­ 7
erwarten . Wundern Sie
boards bildet das Panel. Fügen Sie Ihrem sich nicht über die vielen 5 Um eine Verbindung zu MariaDB herzustellen ge-
Dashboard ein Panel hinzu, und wählen Messwerte, der Sensor wur- nügt es, die erforderlichen Credentials einzugeben.
Sie innerhalb dessen anschließend die de zum Testen auf ein Minu-
Datenbank, Tabelle und die einzelnen tenintervall gestellt. Um das
Spalten aus, die Sie in Ihrem Chart abbil- Panel im Dashboard zu speichern,
den möchten. Beachten Sie dabei, dass ­klicken Sie oben rechts auf Save.
eine Tabellenspalte mit einem Zeittypen Es fällt nicht sonderlich schwer, mit
automatisch für die X-Axchse (horizon- Grafana Messwerte zu visualisieren. Wir
tal) verwendet wird. Sobald Sie auf Run haben für unser Beispiel die meisten Ein-
query klicken, entsteht aus den vorhan- stellungen auf dem Stand des Ausliefe-
denen Daten das Chart . 6 rungszustands belassen. Es gibt jedoch
Allerdings scheint Grafana in Verbin- zahlreiche Möglichkeiten, das Chart
dung mit MariaDB die Zeitzonen nicht rechts über die Einstellungen an Ihre
korrekt zu verarbeiten – egal, was Sie in spezifischen Anforderungen anzupassen.
der Datenquelle einstellen, es hat keiner- Zu guter Letzt möchten wir Ihnen
lei Auswirkungen. Deswegen müssen Sie noch einige Tipps für den Betrieb des

Grafana-Server steuern
Aktion Kommando
Konfigurationsdateien neu laden sudo systemctl daemon‑reload
Grafana-Server starten sudo systemctl start grafana‑server
Grafana-Server stoppen sudo systemctl status grafana‑server
Grafana-Server in den Autostart sudo systemctl enable grafana‑server.service
aufnehmen

F09
Hacks Grafana

fana.ini. Wenn Sie sich ein wenig inten-


siver mit Grafana beschäftigen möchten,
erweisen sich die Tutorials auf der Pro-
jektseite als gute Anlaufstelle .

Fazit
Dieses Projekt zeigt, wie leicht sich mit
Grafana eine Überwachung für einen
Bienenstock bauen lässt. Beachten Sie
dabei, dass es noch eine Menge Poten­
zial für Erweiterungen bietet. So könnte
man zum Beispiel weitere Messwerte wie
Gewicht oder Frequenz berücksichtigen.
Mit Letzterem stellt der Imker fest, ob die
Bienen zu schwärmen beginnen wollen.
Darüber hinaus ist es auch sicher keine
schlechte Idee, die Datenübertragung zu
verschlüsseln und den Webservice mit ei-
ner Authentifizierung zu versehen. Nicht
zuletzt könnte man außerdem die Sen-
sor-Hardware so umbauen, dass sie ei-
6 Grafana Chart verwendet ohne Modifikationen am Code eine falsche Zeitzone. nen Batteriebetrieb ermöglicht.
Wie erwähnt, beschränkt sich das Pro-
jekt nicht nur auf das Überwachen von
Grafana-Servers mit auf den Weg geben. Bienenstöcken. Sie können damit beliebi-
In der Tabelle Grafana-Server steuern fin- ge Umweltwerte von verschiedenen Sen-
den Sie die Kommandos, um den Server soren erfassen und mit dem hier gezeig-
gegebenenfalls neu zu starten oder ihn ten Aufbau speichern und visualisieren.
als Service im System einzurichten. Es lohnt sich, etwas Zeit zu investieren,
Falls es einmal nötig sein sollte, die um die Funktionen von Grafana auszu-
Konfiguration des Grafana-Servers anzu- probieren. Alles in allem bietet Ihnen das
passen, finden Sie die entsprechende hier gezeigte Basis-Setup viele Möglich-
Konfiguration unter /etc/grafana/gra‑ keiten der Erweiterung. (tle/​csi) █

Dateien zum Artikel


herunterladen unter
www.raspi-geek.de/dl/49084

Weitere Infos und


interessante Links
www.raspi-geek.de/qr/49084

Der Autor
Martin Mohr hat die komplette Entwick-
lung der modernen Computertechnik live
miterlebt. Nach dem Studium entwickelte
er überwiegend Java-Applikationen. Mit
dem Raspberry Pi erwachte seine alte
­Liebe zur Elektronik wieder.
7 Grafana Chart mit SQL-Workaround für die Zeitzone.

18 www.raspberry-pi-geek.de 06/2023-07/2023
Editorial

Happy Birthday

Carina Schipper
Redakteurin

Sehr geehrte Leserinnen und Leser,

Zeit, ein wenig Bilanz zu ziehen – Ende hatten tatsächliche und umfangreiche zerne inklusive der dazugehörigen Lob-
Mai feiert die Datenschutz-Grundverord- Rechte. Dazu gehört beispielsweise, dass bys taten das Ihre, ein Inkrafttreten zu
nung (DSGVO) der EU gleich zweimal Ge- Sie in die Verarbeitung personenbezoge- verhindern. Inzwischen scheint die Lage
burtstag. Je nachdem, wo Sie ansetzen, ner Daten aktiv einwilligen müssen, oder klar zu sein – eine ePrivacy-Verordnung
ist das Regularium zum europäischen dass Sie das Recht auf Auskunft bezüg- wird es nicht geben.
Datenschutz inzwischen mindestens fünf lich der eigenen Daten oder deren Lö- Unbestritten ist das ein Rückschlag für
Jahre fester Bestandteil unseres Lebens. schung besitzen . den europäischen Datenschutz. Deswe-
In Kraft getreten am 24. Mai 2016, bean- Nicht umsonst genießt die DSGVO den gen halte ich es für umso wichtiger, sich
sprucht die DSGVO seit dem 25. Mai 2018 Ruf, global gesehen das Maß aller Dinge anlässlich des fünften Geburtstags der
europaweit Geltung. in Sachen Datenschutz zu sein. Vergli- DSGVO ins Bewusstsein zu rufen, wie viel
Ich erinnere mich noch recht präzise an chen mit den USA (von der Volksrepublik wir zum Schutz der Menschen im digita-
die Monate vor diesem Stichtag. Damals China will ich gar nicht erst anfangen), len Raum schon erreicht haben. Freilich
arbeitete ich als PR-Beraterin in einer deren Bestimmungen weit weniger hart ist die Arbeit noch lange nicht getan,
Agentur, deren Kunden hauptsächlich ausfallen, herrschen in Europa fast schon aber die eigenen Erfolge zu feiern, dürfte
aus dem IT-Security-Umfeld stammen. paradiesische Zustände. Aber eben nur der Motivation dienen, weiterzumachen.
Dementsprechend gehörte ich damals zu fast, wie sich jüngst zeigte.
den vermutlich wenigen Menschen, die Bereits 2017 reichte die EU-Kommissi- Herzliche Grüße,
zwar nicht direkt etwas mit der Umset- on einen ergänzenden Gesetzesentwurf
zung der nahenden EU-Verordnung am zur DSGVO ein, der ein Jahr später in
Hut, aber sie in Gänze gelesen hatten. Kraft hätte treten sollen, die ePrivacy-Ver-
Während Unternehmen und Behörden ordnung . Mit ihr würden zum Beispiel
augenscheinlich alle Hände voll zu tun unfreiwilliges Tracking, untergeschobene
hatten, DSGVO Compliance zu erreichen, Einwilligungen und Cookie-Banner der
verschwand aus meiner Sicht das Positive Vergangenheit angehören. Nicht wirklich
im Zusammenhang mit der EU-Verord- überraschend erwies sich das Projekt
nung etwas im Hintergrund: Endlich wa- ePrivacy-Verordnung jedoch als überaus
ren die Menschen nicht mehr der Willkür schwierig durchzusetzen.
der Unternehmen ausgeliefert, sondern Nicht nur, dass die EU-Mitgliedsstaaten
vier Jahre brauchten, sich hinsichtlich ei-
ner gemeinsamen Position zu einigen.
Weitere Infos und Obendrein und naturgemäß wehrte sich
interessante Links die Werbeindustrie nur allzu vehement
www.linux-user.de/qr/49058 gegen die geplante Schwesterverord-
nung zur DSGVO. Unterschiedliche Kon-

06.2023 www.linux-user 3
06

14 Das auf E-Ink-Displays und dem


Raspberry Pi basierende Projekt

6 BlendOS hebt sich aus der Masse


dadurch hervor, dass es viele ver-
schiedene Repositories unterstützt, auch
erlaubt es, freie Büroplätze schnell und
unkompliziert zu melden. Es bietet aber
auch das Potenzial, die Belegung auf ei-
24 Ein Raspberry Pi Pico W, ein Sen-
sor und die entsprechende Soft-
ware genügen, um die Temperatur in Ge-
die von Ubuntu und Fedora. ner Webseite anzuzeigen. wächshäusern automatisch zu steuern.

Heft-DVD Schwerpunkt Schwerpunkt

BlendOS........................................... 6 Belegungsanzeige..........................14 Gewächshaussteuerung............... 24


BlendOS erlaubt es, Software aus unter- In diesem Artikel beschäftigen wir uns Bis sich Gemüse aus dem eigenen Ge-
schiedlichen Quellen zu nutzen, was ein damit, ein einfaches Gerät zu bauen, mit wächshaus ernten lässt, braucht es viel
Distro-Hopping überflüssig macht. dem Sie per Knopfdruck das Belegen eines Mühe und Zeit. Einen Teil der Aufgaben
Arbeitsplatzes meldet. können Sie zukünftig getrost an einen
Raspberry Pi abgeben.
Aktuelles Gestengesteuertes Rezeptbuch.. 20
News: Software............................. 10 Eine typische Szene in der Küche: in einer Praxis
Hand der Kochlöffel, die andere Hand ver-
Systemlast im Auge mit Btop++, Web-Ser-
schmiert. Wer jetzt umblättern muss, freut Git-Server auf RasPi-Basis
ver Alternative Caddy, Notizen erfassen
sich, wenn das der RasPi übernimmt. (Teil 1).............................................30
mit Nanonote, CSV-Dateien in der Konsole
mit QSV verarbeiten, Terminal-Power mit Zugegeben: Einen selbst gehosteten
Superterminal, Web-Seiten präzise und Git-Service auf einem RasPi einzurichten,
schnell analysieren mit Wuzz. erfordert einige Arbeit. Als Belohnung
winkt ein leistungsfähiges Git-System für
die kollaborative und verteilte Arbeit.

6 BlendOS spricht alle Anwender an,


die Paketquellen verschiedener
­Linux-Distributionen unter einer ein-
heitlichen Oberfläche nutzen möch-
ten. Die Distribution unterstützt da-
bei unter anderem die Repositories
von Fedora, Arch Linux und Ubuntu.

4
54 Mit der KI-Software TensorFlow
und einem RasPi der vierten

36 Das Kommandozeilenpro-
gramm Fdupes erlaubt es, dop-
pelte Dateien und Ordner zu finden und
Generation nutzen Sie Ihre eigene künst-
liche Intelligenz. Das Projekt greift dabei
nicht auf Daten aus dem Internet zurück,
86 Mit Codespaces bietet Github
eine in der Basisversion kosten-
freie, voll eingerichtete Docker-Umge-
auf Wunsch zu löschen. was dem Datenschutz Rechnung trägt. bung für Entwickler und Programmierer.

Praxis Raspberry Pi Netz&System

Fdupes............................................ 36 Void Linux.......................................48 Backup-Tools..................................66


Das Kommandozeilentool Fdupes hilft Die meisten Distributionen basieren auf Backups persönlicher Daten lassen sich
Ihnen dabei, bequem doppelte Ordner bekannten Vertretern wie Debian, Fedora längst bequem grafisch mit wenigen
und Verzeichnisse zu finden. oder Arch Linux. Native Versionen wie Void Mausklicks anfertigen. Wir stellen Ihnen
erfordern eine steile Lernkurve, bieten hier sechs handliche Werkzeuge dafür vor.
easy LINUX! aber etliche Vorteile.

OpenSuse-Tipps: Gnome-Erweite- TensorFlow-KI und RasPi.............. 54 Know-how


rungen............................................40
Für den Einsatz von KI braucht es nicht DIY-Distris...................................... 78
Schon Linus Torvalds fand den Funktions- unbedingt leistungsstarke Computersyste-
umfang von Gnome karg. Zum Glück Mit verschiedenen grafischen Werkzeugen
me. Wir zeigen, was KI auf dem Raspberry
stehen viele Erweiterungen für den Desk- und speziellen Distributionen erstellen
Pi voraussetzt, und für welche Aufgaben
top bereit, von denen wir einige nützliche Sie ein individuelles Betriebssystem ohne
sich der Kleincomputer eignet.
vorstellen. überflüssige Anwendungen.

Netz&System Github Codespaces....................... 86


Github bietet mit Codespaces eine inte-
Tipi..................................................60 ressante Plattform für Entwickler, in der
Mit Tipi haben Sie über 100 Anwendun- Basisvariante sogar kostenlos.
gen und Dienste komplett unter Ihrer
Kontrolle. Zur Installation der Apps genügt
ein Mausklick.
Service

Editorial............................................ 3

IT-Profimarkt................................. 92

Impressum.....................................94

60 Der Homeserver-Manager Tipi


bietet mehr als 100 Apps zur
Installation in Docker-Containern an. Ver-
Events/Autoren/Inserenten........ 95

README.........................................96
tiefte Kenntnisse über Netzwerke und
Vorschau........................................ 97
Container braucht es dabei nicht, es
­genügt ein Klick, um sie einzurichten. Heft-DVD-Inhalt............................. 98

06.2023 www.linux-user 5
Heft-DVD BlendOS

BlendOS nutzt verschiedene Installationsquellen BlendOS 23.01 nutzt als Basis Arch-Linux,
integriert jedoch zusätzlich Komponen-

Bunter Strauß
ten von Fedora und Ubuntu in das Sys-
tem und macht zudem deren Paketver-
waltungen verfügbar. Somit lassen sich
Pakete aus allen drei Linux-Abkömmlin-
gen installieren. Dazu setzt BlendOS auf
die Docker-basierte Containerlösung
BlendOS erlaubt es, Software aus unterschiedlichen Quellen Distrobox. Diese erzeugt für die einzel-
nen Applikationen jeweils eigene Con-
zu nutzen. Damit macht es Distro-Hopping überflüssig. tainer, sodass diese unabhängig von der
verwendeten Paketverwaltung arbeiten.
Erik Bärwaldt Darüber hinaus besitzt das System einen
eigenen Paketmanager namens Blend.
Außerdem integriert die Distribution die
README In kein anderes Betriebssystem halten komplette Flatpak-Infrastruktur, sodass
Innovationen so schnell Einzug wie in sich auch Pakete von Flathub problemlos
BlendOS möchte alle Anwender ansprechen, ­Linux. Da die Entwicklung der einzelnen verwenden lassen.
die Paketquellen verschiedener Linux-Distri- Distributionen variiert, probieren viele Damit das BlendOS auf dem aktuellen
butionen unter einer einheitlichen Oberflä- Anwender neue aus, um sich mit neuen Stand bleibt, veröffentlichen die Ent-
Anwendungen und Technologien ver- wickler es als Rolling Release ohne feste
che nutzen möchten. Die Distribution unter-
traut zu machen. Mit BlendOS gibt es Update-Zyklen. Das System nutzt vorein-
stützt dabei unter anderem die Repositories nun eine Distribution, mit der das Distro- gestellt Gnome oder alternativ MATE als
von Fedora, Arch Linux und Ubuntu. Doch so Hopping der Vergangenheit angehören Arbeitsoberfläche, lässt sich jedoch ge-
soll, da sie verspricht, die Vorteile mehre- nauso mit anderen Desk-
ganz klappt das noch nicht.
rer Linux-Derivate in sich zu vereinen .

© neirfy / 123RF.com

6
BlendOS Heft-DVD

top-Umgebungen oder Window-Mana-


gern nutzen. Das Dateisystem arbeitet
im Read-only-Modus, was es zudem stär-
ker gegen Schadsoftware schützt als Sys-
teme mit Schreibrechten.

Vorbereitungen
BlendOS finden Sie auf Github in Form
eines rund 1,4 GByte großen ISO-Ab-
bilds . Nachdem Sie das Image herun-
tergeladen und auf ein Wechselmedium
befördert haben, starten Sie Ihr System
von diesem aus neu. Beachten Sie dabei,
dass das Arch-Derivat bislang in der ers-
ten freigegebenen Release 23.01 Sys-
temd-boot als Bootmanager einsetzt. Da
dieser nur mit modernen UEFI-Systemen
harmoniert, muss Ihre Hardware das 1 Beim ersten Start von BlendOS erscheint eine Installationsroutine.
Hochfahren per UEFI unterstützen. Der
sogenannte Legacy-Modus, den ältere
Computerhardware nutzt, eignet sich vor Sie einen Nutzer erstellen. Daraufhin
dementsprechend nicht für BlendOS. erscheint ein Auswahldialog, in dem Sie
Beim Start bietet die Distribution kei- die gewünschte Desktop-Umgebung de-
nen Live-Modus im Auswahlmenü des finieren. Zur Auswahl stehen Gnome,
Bootmanagers an, sondern nur die In­ MATE, KDE Plasma, XFCE, der Window-
stallation. Dabei steht außerdem ein Mo- Manager Sway und i3, ein sehr schlanker
dus bereit, der im Falle von Grafikproble- Window-Manager. Sie markieren die ge-
men eine nur rudimentäre Grafikkarten- wünschte Oberfläche mit dem Aktivie-
unterstützung liefert. Nach dem Booten ren eines Radiobuttons hinter dem ent-
öffnet BlendOS Gnome und darin den sprechenden Eintrag . 2
distributionseigenen Assistenten, der die Danach bestimmten Sie in einem wei-
Installation des Systems offeriert .1 teren Dialog den Hostnamen des Rech-
In diesem legen Sie zunächst die Tasta- ners. Im letzten Schritt geben Sie noch
turbelegung und Ihre Zeitzone fest, be- das Installationsmedium an. Dabei ge-
stattet der Assistent im ersten
Moment weder das Auswählen
Neue Version BlendOS v2 „Avial“ einer Partition auf einem Lauf-
werk noch das Festlegen eines
Kurz nach Redaktionsschluss gaben die
Dateisystems. Erst ein Klick auf
Entwickler die brandneue Version 2 alias
Switch to manual partitioning
„Avial“ frei. Diese enthält einige nennens-
erlaubt beides. Bei Bedarf steht
werte Neuerungen: So ist das Arch-Derivat dafür Gparted bereit, etwa um
jetzt in der Lage, auch von Rechnern mit eine noch nicht partitionierte
herkömmlichem BIOS zu starten. Zusätz- SSD oder Festplatte entspre-
lich ersetzten die Entwickler Distrobox für chend vorzubereiten. Für die
die Containerverwaltung durch Podman. Swap-Partition nutzt der Assis-
Eine weitere, wichtige Innovation besteht tent Zramd. Dabei legt die Rou-
in der Integration von WayDroid. Die Soft- tine diese automatisch in ei-
ware erlaubt es, auch Android-Anwendun- nem gesondert komprimierten
gen unter BlendOS auszuführen. Die Inte­ Bereich des Arbeitsspeichers
gration der verschiedenen Paketverwaltun- an. Dadurch dürfte das Be-
gen verbesserten die Entwickler darüber triebssystem vor allem beim
hinaus ebenfalls. Die Distribution kommt Verwenden langsamer Fest-
mit dem Gnome-Desktop in Version 43.4 platten deutlich agiler wirken
oder alternativ mit KDE Plasma 5.27.
als mit einer herkömmlichen 2 Der Installationsassistent gestattet die Auswahl
Swap-Partition. der gewünschten Arbeitsumgebung.

06.2023 www.linux-user.de 7
Heft-DVD BlendOS

spielt haben, wechseln Sie auf Wunsch


Ihre Desktop-Umgebung. Das Komman-
do blend install‑de gnome installiert
den Gnome-Desktop, während Sie mit-
hilfe von blend install‑de mate die
MATE-Arbeitsumgebung integrieren.
­Bitte planen Sie dafür längere Zeit ein.
Um Pakete in das System einzubinden,
nutzen Sie den Befehl blend install
<Paketname>. Indem Sie an das Komman-
do den Parameter ‑‑distro=<Distribu-
tionsname> anhängen, beziehen Sie das
gewünschte Paket von einer bestimmten
Distribution. Als Alternativen stehen da-
bei die Distributionsnamen ubun-
tu-22.04, ubuntu-22.10, fedora-rawhide
oder arch zur Verfügung. Sofern Sie den
Befehl blend install ohne eine nähere
3 BlendOS bringt auch die Flatpak-Paketverwaltung mit. Spezifizierung der Distribution angeben,
bezieht der Paketmanager das ge-
wünschte Paket in der Regel aus den
Nach Fertigstellen aller Konfigurationen Arch-Repositories. Steht es dort nicht be-
beginnt die Installation, bei der zwei Mal reit, sucht die Routine in den Archiven
ein Fenster zur Authentifizierung er- der beiden unterstützten Ubuntu-Versio-
scheint. In diesem klicken Sie ohne zu- nen und von Fedora Rawhide.
sätzliche Eingaben auf Authenticate. Da- Die Installation einzelner Pakete dau-
nach zeigt der Installer den Installations- ert bei BlendOS länger als bei anderen
fortschritt im Terminal an. Beachten Sie, Distributionen, da das System dabei je-
dass dieser Vorgang relativ viel Zeit be- weils eine eigene Containerumgebung
ansprucht, da die Distribution vor allem anlegt. Deshalb benötigt jede Installa­
die grafischen Arbeitsumgebungen na- tion eines Pakets wesentlich mehr Spei-
hezu komplett aus dem Internet nach- cherplatz als bei herkömmlichen Paket-
lädt und einrichtet. verwaltungen. Alternativ lassen sich im
Nachdem Sie die Installation abge- Terminal zur Installation von Softwarepa-
schlossen haben, führen Sie einen Neu- keten die herkömmlichen Pacman-, Apt-,
start aus. Sie starten BlendOS im nun- Apt-get-, Dnf- oder Yum-Befehle einset-
mehr aktiven Grub-Bootmenü, indem Sie zen. Um eine Anwendung aus dem Sys-
Arch Linux auswählen. Danach erschei- tem zu entfernen, nutzen Sie den Befehl
nen der grafische Desktop und ein Fens- blend remove <Paketname>. Der Befehl
ter, innerhalb dessen Sie das gewünschte blend list‑containers zeigt alle im
Farbschema für Ihre Arbeitsoberfläche System installierten Container mit An-
definieren. Danach erklärt Ihnen in ei- wendungen an. Weitere Parameter zum
nem weiteren Dialog ein kleiner Infotext Verwenden von Blend erhalten Sie durch
das Verwenden der Paketverwaltung, die einfache Eingabe des Befehls ohne wei-
im Terminal mithilfe des Befehls blend tere Optionen. Neu installierte Anwen-
distributionsübergreifend zur Verfügung dungen trägt der Paketmanager automa-
steht. BlendOS unterstützt derzeit Arch tisch in die Menüs ein. Es spielt dabei kei-
Linux, Ubuntu in den Versionen 22.04 ne Rolle, aus welcher Distribution das je-
und 22.10 sowie Fedora Rawhide. weilige Paket ursprünglich stammt.
Aufgrund der Vielzahl von Software-
quellen bringt BlendOS von Haus aus nur
Start frei!
sehr wenige Programme mit: Neben
Nach dem Abschluss des Assistenten mehreren Applikationen aus dem Gno-
empfiehlt es sich, das System zunächst me-Fundus und wenigen, unabhängig
zu aktualisieren. Dazu geben Sie im Ter- entwickelten Programmen befindet sich
minal den Befehl blend system‑update lediglich der Webbrowser Firefox initial
ein. Nachdem Sie die Updates einge- an Board. Alle weiteren Standardapplika-

8 www.linux-user.de 06.2023
BlendOS Heft-DVD

tionen wie LibreOffice, VLC oder Gimp


fehlen. Dadurch können Sie die Distribu-
tion ganz nach Ihren Bedürfnissen mit
zusätzlichen Anwendungen ausstatten.

Unvollständig
BlendOS verzichtet derzeit auf eine voll-
ständige Lokalisierung. Voreingestellt
verwendet die Distribution die englische
Sprache und die US-amerikanische Tas-
taturbelegung. Um auf Deutsch umzu-
stellen, klicken Sie im Gnome-Desktop in
der Kachelansicht aller Anwendungen
auf Settings. Im darauffolgenden Dialog
wählen Sie links Keyboard.
Anschließend öffnet die Routine die
Auswahl an Tastatur-Layouts. Über Im-
port Sources aktivieren Sie nun die deut- 4 BlendOS gibt sich trotz aufwendiger Container-Technologie vergleichsweise schlank.
sche Tastaturbelegung, wobei mehrere
Belegungen zur Auswahl stehen. Die neu
eingestellte Belegung aktiviert das Sys- system noch nicht für ältere Computer-
tem danach sofort ohne einen Neustart. systeme, da das Installationsabbild der-
Momentan fehlt BlendOS die Möglich- zeit aufgrund der Verwendung von sys-
keit, den Desktop deutsch zu lokalisie- temd-boot als Bootmanager eine UEFI-
ren. Zwar existiert ein entsprechender kompatible Hardware voraussetzt. Diese
Konfigurationsdialog in den Einstel- Einschränkung adressierten die Entwick-
lungsmenüs der Arbeitsumgebung, bis- ler jedoch bereits, sodass in Folgeversio-
lang lässt er aber noch keine andere Aus- nen vermutlich der bewährte Grub-Boot-
wahl als die der englischen Sprache zu. manager zum Einsatz kommt . 4
Flatpak Fazit
Das Arch-Derivat unterstützt als weitere BlendOS bietet einen interessanten An-
Softwarequelle Flatpak-Pakete. Dafür satz, wie sich unterschiedlichste Paket-
bringt das System Souk mit, einen unab- verwaltungen und damit auch Main-
hängigen Flatpak-Store für Gnome. Das stream-Distributionen unter einem Dach
Programm ist voreingestellt in das Sys- zusammenfassen lassen, ohne dass An-
tem eingepflegt und lässt sich vom Desk- wender sich ständig eine neue Distribu-
top aus bequem per Mausklick starten. tion suchen müssen. Zudem gehört die
Souk bietet eine herkömmliche App- häufig zeitraubende Einarbeitung in
Store-Oberfläche mit Kategorien und neue Paketverwaltungen, die beim Dis-
­Kacheln für einzelne Anwendungen, mit tro-Hopping zwangsläufig anfällt, mit
deren Hilfe Sie die Installation des ge- BlendOS der Vergangenheit an.
wünschten Programms starten . 3 Gleichwohl wirkt das System noch
­unfertig: Teils lassen sich Anwendungen
nicht installieren, die deutsche Lokalisie-
Ressourcen
rung des Desktops fehlt noch, und der
Trotz des aufwendigen Containerkon- Einsatz von systemd-boot als Bootmana-
zepts arbeitet BlendOS erstaunlich res- ger beim Installationsabbild schränkt die
sourcenschonend. So genügt ein Zwei- Zahl der möglichen Nutzer unnötig ein.
kernprozessor, um mit dem System flüs- Bevor sich BlendOS als Produktivsystem
sig zu arbeiten. Ab einer Arbeitsspeicher- eignet, müssen die Entwickler noch viel
kapazität von 2 GByte lassen sich mehre- Arbeit erledigen. Dennoch sollten An- Weitere Infos und
re große Anwendungen simultan nutzen, wender, die zukünftig dauerhaft eine interessante Links
ohne dass das System an seine Grenzen einzige Distribution nutzen möchten, www.linux-user.de/qr/48078
gerät. Trotzdem eignet sich das Betriebs- BlendOS im Auge behalten. (tle) █

06.2023 www.linux-user.de 9
Aktuelles News: Software

Btop Reichen die Systemressourcen und lau-


fen alle Prozesse in der gewünschten Ge-
durchsatz oder Prozessauslastung stellt
die Software interaktiv dar, sie ändern
Systemlast im Auge behalten schwindigkeit, werfen die meisten An- sich entsprechend zur Laufzeit. Die Ap-
mit Btop ++ 1.2.13. wender keinen Blick in die aktuelle Pro- plikation gliedert seine Ausgabe in die
zessliste. Tauchen hingegen Probleme Bereiche Netzwerk, Massenspeicher,
auf, ist eine möglichst detaillierte Pro- Hauptspeicher und Prozesse und setzt
zessübersicht ein wertvolles Hilfsmittel sie farblich voneinander ab.
bei der nicht selten langwierigen Suche Daneben rahmt das Werkzeug die Be-
nach dem Fehler. Das C-basierte Tool reiche zusätzlich ein. Jeder der Bereiche
Dateien zum Artikel Btop++ liefert Ihnen einen umfassenden erhält dabei eine Ziffer in der linken Ecke
herunterladen unter Überblick, unter anderem über die aktu- des jeweiligen Rahmens, über die Sie den
www.linux-user.de/dl/49050 ellen Prozesse, den verwendeten Spei- betreffenden Bereich auf Wunsch ein-
cher und den Netzwerkdurchsatz. Ältere oder ausblenden. Die Kopfzeilen des je-
Versionen des Tools bringen viele Distri- weiligen Rahmens bieten verschiedene
butionen bereits in ih- Tastenkürzel, über die Sie die Anzeige im
ren Repositories mit. Rahmen unkompliziert anpassen. Mit [H]
Wer die aktuelle Versi- gelangen Sie in die Hilfefunktion, die alle
on nicht selbst kompi- verfügbaren Tastenkürzel aufführt.
lieren möchte, findet [M] öffnet das Konfigurationsmenü für
entsprechende Binär- die Ausgabe jedes Bereichs. Btop++ ak-
pakete auf der Github- tualisiert seine Anzeige zweimal pro Se-
Seite des Projekts. Das kunde, diesen Wert können Sie aber je-
konsolenbasierte Tool derzeit an ihre Wünsche anpassen.
gibt alle Informationen
in einer übersichtlich
Lizenz: Apache 2.0 ■■■■■
strukturierten Ncurses-
Quelle: https://​­github.​­com/​­aristocratos/​
Oberfläche aus. Einige
­btop
Daten wie Netzwerk-

Caddy Um Webdienste bereitzustellen, gibt es


neben Boliden wie Apache oder Nginx
Aufrufverzeichnis ein Caddyfile, nutzt es
dessen Konfiguration. Alternativ überge-
Caddy 2.6.4, die schlanke kompaktere Alternativen wie das Go-ba- ben Sie beim Start die Konfiguration mit
Web-Server-Alternative. sierte Caddy. In den gängigen Distribu­ ‑‑config. Gibt die Konfiguration keinen
tionen fehlt es derzeit, auf Github finden anderen Port vor, lauscht das Tool auf
Sie jedoch über 130 Binärpakete zum He- Port 2019 auf der lokalen Schnittstelle.
runterladen. Das Tool versteht sich als er- Eine Übersicht über alle Unterbefehle lie-
weiterbare Plattform, um Dienste oder fert help. Mit dem Unterbefehl list‑mo‑
Webseiten einfach zur Verfügung zu dules erhalten Sie eine Liste aller in Cad-
­stellen. Caddy lässt sich wahlweise via dy verfügbaren Module und Konfigurati-
Kommmandozeilenparameter beim Auf- onsmöglichkeiten. Zusätzlich zu den TLS-
ruf oder über die Konfigurationsdatei Einstellungen lässt sich die Software als
(Caddyfile) anpassen. Eine REST-API er- Reverse-Proxy nutzen. Mit dem Unterbe-
laubt zudem das Än- fehl file‑server aufgerufen, lässt sich
dern der Konfiguration das Programm als File-Server einsetzen,
im laufenden Betrieb. um Dateien via HTTP auszuliefern. Eine
Neben dem eigenen andere Schnittstelle oder einen anderen
Format Caddyfile un- Port geben Sie mithilfe des Parameters
terstützt Caddy Kon­ ‑‑listen vor. Da die Binärpakete keine
befigurationen in Json, nennenswerte Dokumentation enthal-
Nginx, Yaml oder Toml. ten, greifen Sie auf die bei Github verlink-
Sie starten eine Caddy- te Online-Dokumentation zurück.
Instanz mit dem Unter-
befehl run oder start, Lizenz: Apache 2.0 ■■■■■
wenn Caddy als Dienst Quelle: https://​­github.​­com/​­caddyserver/​
laufen soll. Findet die ­caddy
Software in seinem

10 www.linux-user.de 06.2023
News: Software Aktuelles

Manche Anwender nutzen ihren Editor,


um Notizen zu erfassen. Obwohl dieser
frei. URLs erkennt das Tool automatisch
als Links und trägt sie ein, Aufzählungen Nanonote
Ansatz naheliegt, erweist sich das Ver- legen Sie mit einem ‑‑ oder * an. Nano- Notizen einfach erfassen mit
wenden eines dedizierten Tools wie note bietet darüber hinaus die Möglich- Nanonote 1.4.0.
­Nanonote oft als sinnvoller. Da die gängi- keit, Aufzählungen mit einer Checkbox
gen Distributionen die Software nicht in zu kombinieren. Über Tastenkombinatio-
ihren Repositories vorhalten, müssen Sie nen verschieben Sie markierte Zeilen be-
Nanonote wahlweise selbst kompilieren, liebig im Text. Eine kurze Anleitung mit
oder auf eines der wenigen Binärpakete Tipps und Tricks finden Sie auf der Git-
zurückgreifen. Eine Konfiguration hub-Seite des Projekts.
braucht es nicht. Beim ersten Aufruf öff- Über das Kontextmenü stellen Sie die
net Nanonote ein Fenster mit einigen Schriftgröße ein oder öffnen ein Feld zur
Beispielen für Einträge. Das Tool legt den Textsuche. Schriftart und ‑größe passen
Inhalt in der Datei $HOME/.local/share/ Sie im Menü Settings an. Hier sehen Sie
agateau.con/nanonote/nanonote.txt zudem den genauen Link zur Notizenda-
ab. Dieser Pfad lässt sich nicht anpassen. tei ein. Ein Doppelklick auf den Link öff-
Bei der Eingabe von Text sind Sie völlig net die Datei in Ihrem Standardeditor. Al-
les in allem steckt hin-
ter Nanonote eine gute
Alternative, um schnell
und einfach Notizen
aufzuschreiben. Die
Entwickler treiben
Lizenz: Public Domain ■■■■■
­Nanonote momentan,
Quelle: https://​­github.​­com/​­agateau/​
nach längerer Pause,
­nanonote
aktiv weiter voran.

CSV etablierte sich in den letzten Jahren


als Quasi-Standard, um tabellarische
möglichkeiten des Tools steuern Sie über
Unterbefehle. Beispielsweise verschmilzt
QSV
­Daten unabhängig von Programm oder cat CSV-Dateien auf Zeilen- oder Spal- CSV-Dateien in der Konsole
Plattform auszutauschen und zu verwal- tenbasis. Redundante Zeilen in einer verarbeiten mit QSV 0.97.0.
ten. Daten im CVS-Format eignen sich CSV-Datei lassen sich mit dedup entfer-
außerdem zum weiteren Verarbeiten in nen. Mit fill füllen Sie falls nötig leere
Datenbanken und Tabellenkalkulationen. Felder auf. Wer einen anderen Feldtren-
Das Rust-basierte Tool QSV ermöglicht ner vorgeben möchte, erledigt das mit
zusätzlich, Daten in der Konsole zu verar- dem Unterbefehl fmt. Der Unterbefehl
beiten. Fehlt Ihrer Distribution die Soft- join erlaubt es, CSV-Dateien ähnliche Ta-
ware, greifen Sie auf eines der vorgefer- bellen in einer Datenbank zu verknüpfen.
tigten Binärpakete auf Github zurück. Die Partitionierung einer CSV-Datei, ba-
Das jüngste Binärpaket erwartet aller- sierend auf Spaltenwerten, erlaubt der
dings die Libc6-Bibliothek in Version 2.32 Parameter partition. Eine Suche in CSV-
oder höher. Auf älteren Distributionen Dateien ermöglicht search, auch mit re-
wie Debian-Stable müssen Sie das QSV gulären Ausdrücken.
deshalb selbst kompilieren. Das Binärpa- Mit schema erzeugen
ket enthält die Dateien qsv, qsvdp und Sie ein Json-basiertes
qsvlite, manchmal auch ein Nightly-­ Schema aus den CSV-
Build des jeweiligen Tools. Bei QSVLite Daten. Eigene Erweite-
handelt es sich um eine funktionsredu- rungen integrieren Sie
zierte Variante. QSVDP hingegen eignet als Lua-Skript. Stan-
sich primär für den Einsatz in Kombina­ dardmäßig verarbeitet
tion mit Datapusher+. Alle Einstellungs- QSV Dateien im UTF8-
oder ASCII-Format.
Lizenz: Unlicense ■■■■■ Schreiben Sie die Aus-
Quelle: https://​­github.​­com/​­jqnatividad/​ gabe mit ‑‑output in
­qsv eine Datei, ist diese im-
mer UTF8-konform.

06.2023 www.linux-user.de 11
Aktuelles News: Software

Superterminal Bei einem Terminal denken viele Anwen-


der an Tools wie Xterm oder Eterm. Das
weilige Projekt, wobei die Software den
vorherigen Zustand wiederherstellt. Kon-
Terminal-Power mit Verwalten der einzelnen Terminal-Fens- kret bedeutet das, dass sie alle zum Pro-
Superterminal 1.5.0. ter obliegt der verwendeten Benutzer- jekt gehörenden Terminals mit der letz-
oberfläche. Das Typescript-basierte ten Position und dem letzten Inhalt öff-
Werkzeug Superterminal stellt Ihnen net. Dieser Vorgang erinnert ein wenig
eine leistungsfähige Terminal-Verwal- an das attach bei einer Screen-Sitzung.
tung zur Verfügung. Da die meisten Dis- Über das Kontextmenü der rechten
tributionen die Software nicht mitbrin- Maustaste öffnen Sie weitere Terminals,
gen, nutzen Sie sie auf einem der vorge- passen das Erscheinungsbild eines Termi-
fertigten Binärpakete von Github. Das in- nals an, duplizieren oder schließen es.
stallierte Tool benötigt keine Konfigura­ Darüber hinaus können Sie Skripte in
tion und lässt sich direkt einsetzen. Neue ­Superterminal hinterlegen, die Sie bei Be-
Projekte legen Sie auf der darf auf Knopfdruck starten. Das Ausfüh-
Startseite an. Hier offen- ren eines Main-Skripts in allen Terminals
bart sich bereits, dass eines Projekts funktionierte auf dem Test-
sich Superterminal pri- system allerdings nicht. Öffnen Sie meh-
mär an Programmierer rere Terminals in einem Super­terminal-
richtet. Jedes Projekt ent- Fenster, ordnet das Tool diese strukturiert
hält einen eindeutigen an. Das Programm verwendet als Shell
Namen, für das Sie auf den Standard des jeweiligen Benutzers.
Wunsch die Schriftgröße Dabei kommt das Tool auch mit Erweite-
und Farbpalette festle- rungen wie Oh My Zsh zurecht.
gen. Bereits existierende
Projekte zeigt Superter-
Lizenz: MIT ■■■■■
minal ebenfalls auf der
Quelle: https://​­github.​­com/​­bugwheels94/​
Startseite an. Ein Maus-
­super‑terminal
klick darauf öffnet das je-

Wuzz Wer einen Blick auf den Quellcode einer


Webseite werfen möchte, dem empfeh-
die Methoden POST, PUT, DELETE, PATCH,
OPTIONS, TRACE, CONNECT und HEAD
Webseiten mit Wuzz 0.5.0 len wir das Go-basierte Tool Wuzz. Die zur Auswahl. Wer bei POST- oder PUT-
analysieren. stets aktuelle Version steht auf Github als Aufrufen Daten mitgeben möchte, defi-
Binärpaket bereit. Eine Dokumentation niert diese im Bereich Request-Data. Die
fehlt im Binärarchiv derzeit, aber die Pro- Antwort des Webservers zeigt Wuzz nach
jektseite verfügt über eine Beispielkonfi- Body und Header getrennt an. Via [Tab]
guration und eine Übersicht der Tasten- wechseln Sie zwischen den Bereichen.
kürzel. Die Tastenkürzel rufen Sie im lau- Alternativ lassen sich diese über die F-
fenden Betrieb mit [F1] auf. Beim Start Tasten direkt ansteuern. Die Fußzeile bie-
öffnet Wuzz in der Konsole eine über- tet eine Suchfunktion, die das Suchen
sichtliche interaktive Oberfläche, die sich mit regulären Ausdrücken gestattet. Die
in die Bereiche URL, URL-Parameter, Met- Suche erfolgt im Response body. Möchten
hod, Request-data, -headers sowie Res- Sie Wuzz über einen Proxy-Server nutzen,
ponse-headers und Res- oder soll eine bestimmte TLS-Version
ponse-body gliedert. Im zum Einsatz kommen, geben Sie diese
URL-Bereich geben Sie ­Information beim Aufruf via Kommando-
die zu untersuchende zeilenparameter mit. Mit ‑R unterbinden
URL an. Sollen Parameter Sie das Verfolgen von Redirects. Wuzz ist
beim Seitenaufruf mitge- ein interessantes Tool um Webseiten ge-
geben werden, schreiben nauer zu betrachten, erfordert aber Ge-
Sie diese in den Bereich duld, da eine umfassende Dokumenta­
params. Zum Aufruf der tion bisher fehlt. (csi/​tle) █
Seiteninhalte nutzt das
Tool in der Grundeinstel- Lizenz: AGPLv3.0 ■■■■■
lung die Methode GET. Quelle: https://​­github.​­com/​­asciimoo/​­wuzz
Darüber hinaus stehen

12 www.linux-user.de 06.2023
Linuxuser
iHre DiGiTALe AusGABe
ÜBerALL DABei!

LinuxUser begleitet Sie jetzt überall hin –


egal, ob auf dem Tablet, dem Smartphone,
dem Kindle Fire oder im Webbrowser.
LinuxUser ist ab sofort immer dabei!

1x im Shop registrieren – überall mobil lesen.


Mit Ihren Login-Daten erhalten Sie überall Zugriff auf Ihre gekauften Digital-Ausgaben,
im Shop-Account, in der Kiosk-Computec-App und auf epaper.computec.de.

shop.linuxuser.de
© ismagilov / 123RF.com

Belegung von Büroarbeitsplätzen ermitteln sen. Da die Kollegen nicht wissen, wel-
che Plätze in einem Gebäude noch frei

Platz frei?
sind, bleibt ihnen nichts anderes übrig,
als durch die Fläche zu wandern und
nach einem freien Platz Ausschau zu hal-
ten. Das kostet einiges an Zeit. Zusätzlich
lenkt das ständige Gewandere andere
Kollegen von ihrer eigentlichen Aufgabe
Nach der Corona-Pandemie ist in vielen Unternehmen Shared ab. Oft lässt sich außerdem nicht erken-
nen, ob ein Platz von einem kurzfristig
Office das kostengünstige Gebot der Stunde. Mitarbeiter ver- abwesenden Kollegen schon belegt ist.
Eine Möglichkeit, all diesen Herausfor-
bringen nur noch einen Teil ihrer Arbeitszeit im Büro. Doch ob derungen zu begegnen, besteht in ei-
nem Gerät, das über ein Display signali-
im Office aktuell noch ein Platz frei ist, lässt sich nicht ohne siert, ob ein Platz noch zur Verfügung
steht. Das Gerät sendet über das WLAN
Weiteres ermitteln. Martin Mohr den Status eines Arbeitsplatzes an eine
zentrale Datenbank. Die Daten lassen
sich dann von beliebigen Anwendungen
Die Pandemie hat die Arbeitswelt in vie- auslesen. Ähnlich wie in einem Parkhaus
len Belangen massiv umgekrempelt. So erlaubt diese Technik, eine Ampel vor je-
entwickelte sich das hybride Arbeiten für der Etage anzusteuern, die im Falle einer
viele Arbeitnehmer zur täglichen Routi- Komplettbelegung auf Rot springt.
ne. Um Kosten zu senken, verringerten Mit ein wenig mehr Aufwand ließe sich
zahlreiche Firmen die Anzahl der verfüg- zudem die aktuelle Belegung der Fläche
baren Arbeitsplätze vor Ort. Häufig über einen Bildschirm oder eine App an-
README kommt es vor, dass Mitarbeiter weniger zeigen. Nicht zuletzt dienen die gesam-
als 10 Prozent ihrer Arbeitszeit im Büro melten Information auch dazu, die Ge-
In diesem Artikel beschäftigen wir uns damit,
verbringen. Hier ist klar: Feste Arbeits- bäudenutzung zu optimieren. Zeigt sich
ein einfaches Gerät zu bauen, mit dem man plätze ergeben keinen Sinn mehr. zum Beispiel bei der Auswertung der Da-
Kommen wir jetzt zum Problem, das ten, dass jeden Freitag lediglich die Hälf-
das Belegen eines Arbeitsplatzes meldet.
wir mit dem hier vorgestellten Projekt lö- te der Fläche ausgelastet ist, ließen sich

14 www.linux-user.de 06.2023
Belegungsanzeige Schwerpunkt

gezielt Stockwerke sperren, um Heiz-


und Stromkosten zu senken.

Hardware
Unser Gerät soll helfen, Kosten zu redu-
zieren, weswegen wir bei der Auswahl
der einzelnen Komponenten darauf ach-
ten, dass diese möglichst wenig Strom
verbrauchen. Zur Anzeige, ob ein Platz
belegt oder frei ist, setzen wir daher ein
E-Paper-Display ein. Sie weisen die Be-
sonderheit auf, dass sie die zuletzt ange-
zeigten Informationen selbst bei einem
Spannungsausfall immer noch anzeigen.
Das heißt, sie benötigen nur Energie, so-
bald sich die Anzeige ändert. Das sollte
in unserem Fall relativ selten passieren. 1 Der Testaufbau auf zwei miteinander verbundenen Breadboards.
In diesem Projekt nutzen wir ein kleines
E-Paper-Display  mit einer Auflösung
von 200x200 Pixeln, das bei Amazon mit durchverdrahtet. Der Kondensator C1
etwa 20 Euro zu Buche schlägt. Im Kas- stellt sicher, dass das automatische Up-
ten E-Paper gehen wir auf die Funktions- date der Firmware funktioniert. Die ge- E-Paper-Displays
weise und Eigenheiten dieser Displays naue Funktion von C2 und C3 bedarf
Ein E-Paper-Display richtet Mikropartikel
etwas genauer ein. ­einer näheren Erläuterung.
mithilfe von elektrischen Feldern aus, die
Zum Ansteuern des Displays dient ein In diesem Projekt befindet sich der
das einfallende Licht reflektieren oder
ESP32 Mikrocontroller. Er verfügt über ESP32 die meiste Zeit im Tiefschlaf. Um
­absorbieren. So entsteht ein dauerhaftes
verschiedene Mechanismen, um den ihn aufzuwecken, müssen wir einen
Bild, das auch nach dem Abschalten der
Energieverbrauch fast auf null zu dros- Hardware-Interrupt auslösen. Das klappt
Betriebsspannung erhalten bleibt. Das be-
seln. Darüber hinaus lässt er sich wieder allerdings nur, wenn die entsprechenden
deutet: Ein E-Paper-Display benötigt aus-
in den normalen Betriebsmodus verset- Eingänge über die Funktion RTC (Real
schließlich zum Verändern des Bilds Ener-
zen. Wir verwenden ein ESP32 Dev-­ Time Clock) verfügen. Nehmen wir an,
gie. Das prädestiniert diese Displays für
Board . Hierbei gilt es, zu beachten, der ESP32 befindet sich im Ruhezustand.
alle Anwendungen, bei denen es auf niedri-
dass zwar der ESP32 sehr sparsam arbei- Sobald wir einen der Taster drücken, löst
gen Energiebedarf und gute Lesbarkeit an-
tet, allerdings lassen sich die restlichen das einen Interrupt aus und der ESP32
kommt. Die angezeigten Inhalte sollten
Komponenten auf dem Dev-Board nicht fährt hoch. Jetzt tritt ein Problem auf.
sich nach Möglichkeit nicht allzu oft än-
in einen Energiesparmodus versetzen. Damit unser Programm herausfinden
dern. Das elektronische Preisschild im
Sie sind jedoch nötig, um den ESP32 kann, welcher der zwei Taster gedrückt
­Supermarkt gehört zu den verbreitetsten
leicht zu programmieren. Wenn Sie die wurde, müssten wir diesen so lange fest-
Anwendungsbeispielen.
hier vorgestellte Schaltung in einem pro- halten, bis der ESP32 vollständig wach
E-Papers bieten mittlerweile viele ver-
duktiven Umfeld verwenden möchten, ist und der Python-Interpreter läuft.
schiedene Hersteller in den unterschied-
sollten Sie den ESP32 ohne Dev-Board Da dieser Vorgang eine gewisse Zeit
lichsten Ausführungen an. Es gibt bieg­
nutzen, und ihn über eine externe Hard- beansprucht müssen wir ein wenig wei-
same Modelle oder solche, die bis zu fünf
ware programmieren. Aktuell kostet ein terdenken. Jetzt kommen die zwei Kon-
Farben mit Abstufungen wiedergeben.
einzelnes Dev-Board bei Amazon etwa densatoren ins Spiel. Sie halten die Span-
Während der Anzeige eines Inhalts flim-
12 Euro. Abbildung 1 zeigt den Testauf- nungspegel lange genug aufrecht, um
mert das Display nicht. Es kommt aber vor,
bau auf einem Breadboard. auszuwerten, welcher Taster gedrückt
dass während des Bildaufbaus ein starkes
wurde. Sollten Sie sich ein wenig mit
Flackern erscheint. Das in diesem Artikel
Kondensatoren auskennen, fällt Ihnen
Schaltplan eingesetzte Display benötigt für einen sol-
auf, dass diese Schaltung nur genau ein-
chen Full Refresh etwa 14 Sekunden, in de-
Auf den ersten Blick sieht der Schaltplan mal funktionieren kann. Danach sind die
nen es blinkt und nach und nach das Bild
2 recht übersichtlich aus. Einige der Kondensatoren geladen und werden die
aufbaut oder löscht. Alternativ zum Full
Details sollten wir trotzdem genauer Eingänge auf 3,3 Volt halten. Wir müssen
Refresh besteht die Möglichkeit eines
­besprechen. Zunächst der einfache Teil: also dafür sorgen, dass sich die Konden-
schnelleren partiellen Aktualisierens. Hier-
Das Display ist über die SPI-Schnittstelle satoren wieder entladen können. Hierzu
bei besteht allerdings immer die Gefahr,
an den ESP32 angeschlossen. Die zusätz- verwenden wir die internen Pull-down-
dass Geisterbilder entstehen.
lich nötigen Steuerleitungen sind 1 zu 1 Widerstände des ESP32. Diese aktiviert

06.2023 www.linux-user.de 15
Schwerpunkt Belegungsanzeige

Listing 1: main.py
01 
import sys 45 
02 
import os 46 d
ef printFree():
03 
import epd1in54b_V2 47  arr=array.array('h',[60,100, 45,115, 100,150,
04 
import time 160,40, 145,25, 95,120, 60,100])
05 
import framebuf 48  fbBlack.ellipse(99,99,99,99,0,True) #schwarz
06 
import micropython 49  fbBlack.ellipse(99,99,91,91,1,True) #weiss
07 
import array 50  fbBlack.poly(0,10,arr,0,True)
08 
import network 51 
09 
import socket 52 d
ef printOccupied():
10 
import machine 53  arr=array.array('h',[0,20, 40,60, 0,100,
20,120, 60,80, 100,120, 120,100, 80,60, 120,20,
11 
import esp32
100,0, 60,40, 20,0])
12 
54  fbBlack.ellipse(99,99,99,99,0,True) #Black
13 
ssid = "<YOUR_SSID>"
55  fbBlack.ellipse(99,99,91,91,1,True) #white
14 
key = "<YOUR_PASSWORD>"
56  fbRed.ellipse(99,99,91,91,1,True)#red
15 
57  fbRed.poly(38,38,arr,0,True)#white
16 
wakeUpOccupied = machine.Pin(4, machine.Pin.
IN,machine.Pin.PULL_DOWN) 58 

17 
wakeUpFree = machine.Pin(15, machine.Pin. 59 w
akeUpOccupied = machine.Pin(4, machine.Pin.
IN,machine.Pin.PULL_DOWN) IN,machine.Pin.PULL_DOWN)

18  60 w
akeUpFree = machine.Pin(15, machine.Pin.
IN,machine.Pin.PULL_DOWN)
19 occupied=wakeUpOccupied.value()
61 e
sp32.wake_on_ext1(pins = (wakeUpOccupied,​
20 free=wakeUpFree.value()
wakeUpFree), level = esp32.WAKEUP_ANY_HIGH)
21 
62 
22 
station = network.WLAN(network.STA_IF)
63 s
 = socket.socket()
23 station.active(True)
64 a
i = socket.getaddrinfo("<YOUR_SERVER>", 80)
24 
print ("Connecting .",end="")
65 a
ddr = ai[0][‑1]
25 
66 s.connect(addr)
26 
while not station.isconnected():
67 
27  print (".",end="")
68 i
f occupied:
28  station.connect(ssid, key)
69  print("Occupied")
29  time.sleep(1)
70  printOccupied()
30 
71  s.send(b"GET /occupied HTTP/1.0\r\n\r\n")
31 
print(" Connected!")
72  #print(s.recv(4096))
32 
print("My IP Address:", station.ifconfig()[0])
73  s.close()
33 
74 
34 
epd = epd1in54b_V2.EPD()
75 i
f free:
35 epd.init()
76  print("Free")
36 #epd.Clear()
77  printFree()
37 w=epd.width
78  s.send(b"GET /free HTTP/1.0\r\n\r\n")
38 h=epd.height
79  #print(s.recv(4096))
39 
bufferBlack = bytearray(w * h // 8)
80  s.close()
40 
bufferRed = bytearray(w * h // 8)
81 
41 
fbBlack = framebuf.FrameBuffer(bufferBlack, w, h,
framebuf.MONO_HLSB) 82 print('Wating')

42 fbBlack.fill(1) 83 epd.display(bufferBlack,bufferRed)

43 
fbRed = framebuf.FrameBuffer(bufferRed, w, h, 84 time.sleep(5)
framebuf.MONO_HLSB) 85 p
rint('Deep Sleep')
44 fbRed.fill(0) 86 machine.deepsleep()

16 www.linux-user.de 06.2023
Belegungsanzeige Schwerpunkt

unser Programm und entlädt die Kon- Nightly Build v1.19.1 von Micropython. In diesem Zusammenhang sei noch er-
densatoren wieder. So steht die Schal- Grundsätzlich nicht die beste Idee – wir wähnt: Das Display verwendet für jede
tung für die nächste Runde bereit. Den benötigen jedoch die Funktion ellipse, der zwei Farben einen eigenen Speicher-
Schaltplan haben wir dieses Mal mit der die erst in die kommende, stabile Release bereich (Buffer). Daher müssen wir für
Fritzing Software  erstellt. Einzug halten wird. Rot und Schwarz zwei unterschiedliche
Speicherstrukturen anlegen. Diese wer-
den später zwar über einen Aufruf an
Software Display-Treiber
das Display übermittelt, sind aber tat-
Zum Programmieren des ESP32 setzen Der Display-Hersteller stellt auf seiner sächlich getrennt. Dieses recht eigen-
wir ein wenig untypisch die Program- Seite  einen Python-Treiber für den tümliche Vorgehen liegt in der Physik
miersprache Micropython ein. Sie arbei- ­RasPi zur Verfügung, der allerdings nicht begründet, auf der das Display basiert.
tet wie Python, ist aber für den Betrieb auf Anhieb mit dem ESP32 funktioniert.
auf Mikrocontrollern optimiert, in diesem Um ihn zum Laufen zu bekommen, müs-
Programm
Fall stark abgespeckt. Micropython führt sen wir deswegen ein wenig Hand anle-
den Code naturgemäß erheblich langsa- gen. Der Treiber besteht aus zwei Datei- Das Programm für unseren Versuchsauf-
mer aus als etwa C-Code. Um zu zeigen, en: Aus epd1in54b_V2.py wurde ledig- bau zeigt Listing 1. Die beiden Funktio-
dass sich mit Micropython wirklich hard- lich das Logging entfernt. Die zweite Da- nen printFree() und printOccupied()
warenahe Funktionen verwenden lassen, tei epdconfig.py enthält die hardware- erzeugen jeweils die Bildschirmausga-
entschied sich der Autor trotzdem dafür. spezifischen Kommandos. Hier mussten ben. Alternativ ließen sich Grafikdateien
Für diesen Anwendungsfall spielt die Ge- wir sehr viel an den ESP32 anpassen. Sie verwenden, diese besäßen aber den
schwindigkeit darüber hinaus lediglich finden beide Dateien im Download-Be- Nachteil, dass sie im Speicher des ESP32
eine untergeordnete Rolle. Eine Anlei- reich dieses Artikels. Damit der Treiber im mehr Platz belegen als die wenigen Zei-
tung, wie Sie Micropython mit der dazu- Speicher des Micropython-Geräts wenig len Programmcode. Nachdem wir schon
gehörigen Entwicklungsumgebung in­ Platz braucht entfernen wir alle Kom- so viele Bibliotheken importiert haben,
stallieren, finden Sie im Artikel „Kleine mentare. Im Herstellertreiber fehlt eine gilt es, den Speicherverbrauch im Auge
Schlange“ . Wir nutzen hier einen Funktion für einen partiellen Refresh. zu behalten. Der Anfang des Programms

Anzeige

So viel gelernt wie lange nicht mehr:


~$ Training bei den Open-Sourcelern
# ausgewählte Kurse mit Termingarantie:
---

OPNsense: # 5 Tage
- 12. Juni

LPI Level 2: # 5 Tage


- 12. Juni

Foreman/Katello: # 3 Tage
- 21. Juni

TCP-IP Netzwerke: # 3 Tage


- 03. Juli

Squid: # 3 Tage
- 26. Juli

Shell Programmierung: # 5 Tage


- 07. August
chen:
Jetzt bu 00
1 8536-6
Digitale Forensik: # 3 Tage
- 04. Oktober Tel.: 020 ote l.de
nuxh
info@li

Rund 100 Intensivkurse pro Jahr: linuxhotel.de


Schwerpunkt Belegungsanzeige

definiert die zwei dem Server aufrufen. Sie können sich


Eingänge für die hier genauso gut erheblich komplexere
Taster. Hier zeigt URLs zusammenbauen, die zusätzliche
sich, dass die Pull- Informationen wie die Arbeitsplatznum-
down-Widerstän- mer mit an den Server übertragen.
de für die Eingän- Das Programm müssen Sie im nächs-
ge aktiviert wer- ten Schritt mit dem Namen main.py ab-
den. Damit uns speichern, die der ESP32 damit automa-
der Status der Tas- tisch beim Start des ESP32 ausführt. An
ter nicht verloren dieser Stelle ein kleiner Warnhinweis:
geht, speichern Wenn Sie mit der Deepsleep-Funktion
wir ihn in den Vari- arbeiten, sollten Sie immer das Kom-
ablen occupied mando time.sleep() einbauen, bevor
und free. Diese Sie den Controller in den Deepsleep-Mo-
wertet das Pro- dus versetzen. Während der Schlafens-
gramm nach dem zeit lässt sich der Programmablauf mit
Erstellen der Thonny unterbrechen. Das erlaubt es,
WLAN-Verbin- das Programm immer wieder zu erwei-
dung aus. tern. Sobald sich der ESP32 im Deep­
Mit der Zeile sleep befindet, steht diese Funktion
epd = ep‑ nicht mehr zur Verfügung. Es ist also tat-
d1in54b_V2.EPD() sächlich möglich, den ESP32 in einen
erzeugen wir ein Modus zu versetzen, in dem er sich nicht
Kommunikations- mehr mit Thonny programmieren lässt.
objekt, mit dem Dann hilft nur noch, die Mikropython-
wir Daten an das Firmeware neu aufzuspielen, was jedoch
Display übermit- alle Programme im Controller löscht. Da-
2 Der mit der Fritzing-Software erstellte Schaltplan des Ver- teln. Um die Bilder her der Tipp: Immer mal wieder ein Back-
suchsaufbaus wirkt zunächst relativ übersichtlich. zunächst im Spei- up auf dem PC speichern.
cher aufzubauen,
generieren wir
Fazit
zwei Frambuffer, die das schwarze und
das rote Bild speichern. Anfangs wirkt es Dieses Projekt zeigt, dass sich auch Con­
verwirrend, dass die zwei Farben nicht in troller-spezifische Funktionen in Micro-
einem Buffer gehalten werden. python-Programmen verwenden lassen.
Hierbei müssen Sie darauf achten, dass Programm und Hardware dienen ledig-
das Programm die Buffer in einer be- lich als Anregung, um eine eigene Lö-
stimmten Reihenfolge schreibt. Das be- sung für das Problem der Arbeitsplatzbe-
deutet, falls bereits Rot an einer Koordi- legung zu entwickeln. Interessant ist au-
nate gesetzt ist, lässt sich dort kein ßerdem, das Verhalten von E-Paper-Dis-
Schwarz mehr verwenden. Eine weitere plays ein wenig genauer unter die Lupe
Angewohnheit des Displays liegt in den zu nehmen. Gerade die recht langen Re-
Farbcodes. Wenn wir im fbBlack arbei- fresh-Zeiten sorgen anfangs für Verwir-
ten, bedeutet der Farbcode 0, dass das rung. Der Autor wünscht Ihnen viel Spaß
Pixel schwarz erscheint, der Code 1 färbt bei eigenen Experimenten. (tle) █
das Pixel weiß. Im fbRed verhält es sich
genau umgekehrt: Der Farbcode 0 ist ein
weißes Pixel, der Farbcode 1 ein rotes. Dateien zum Artikel
Der Autor Kommen wir jetzt zur Auswertung der herunterladen unter
Interrupts. Je nachdem, welchen der www.linux-user.de/dl/49272
Der Martin Mohr hat die komplette Entwick-
zwei Taster Sie drücken, laden Sie im
lung der modernen Computertechnik live dementsprechenden if-Zweig. Dieser
miterlebt. Nach dem Studium entwickelte er erzeugt die Anzeige für das Display und
überwiegend Java-Applikationen. Mit dem setzt einen HTTP-Request an einen Web- Weitere Infos und
Raspberry Pi erwachte seine alte Liebe zur server ab. In unserem Beispiel handelt es interessante Links
sich dabei um zwei einfache GET-Re- www.linux-user.de/qr/49272
Elektronik wieder.
quests, die unterschiedliche Dateien auf

18 www.linux-user.de 06.2023
IMMER AKTUELL
INFORMIERT

n Top-News auf einen Blick

n Job-Angebote für Linux-Profis

n Tipps für die Praxis

Jetzt kostenfrei anmelden für den


COMMUNITY NEWSLETTER!
www.linux-community.de/newsletter
© ra2studio / 123RF.com
Mit Gesten und einem Raspberry Pi im Rezeptbuch blättern

Die Hände frei haben


Eine typische Szene in der Küche: in einer Hand der Kochlöffel, die andere Hand verschmiert.
Wer jetzt umblättern muss, freut sich, wenn das der RasPi übernimmt. Bernhard Bablok

README Die Hardwareanforderungen für unser mit diesem Modul und I2C-Anschluss er-
Projekt fallen moderat aus: ein Raspber- halten Sie für wenig Geld bei den übli-
Sollten Sie angesichts einer Gestensteue­
ry Pi, ein Bildschirm und ein Gestensen- chen Händlern (3,70 Euro etwa bei Berry-
rung mit dem RasPi denken: „Dafür gibt es sor. Die Wahl fiel bei Letzterem auf den Base). Einen Fallstrick sollten Sie bei die-
doch bestimmt eine App“, liegen Sie vermut­ 1
APDS9960 aus Abbildung . Breakouts sen Sensoren jedoch auf dem Radar ha-
lich richtig. In diesem Artikel geht es aller­
dings um die Freude am Basteln, und das
Listing 1: Pi-Image-Viewer installieren
vorgestellte Projekt taugt für allerlei Situa­
git clone https://github.com/bablokb/pi‑image‑viewer.git
tionen, in denen die Hände nicht frei oder
cd pi‑image‑viewer
eben verschmutzt sind. sudo tools/install

20 www.linux-user.de 06.2023
Gestengesteuertes Rezeptbuch Schwerpunkt

ben: Es gibt sie mit und ohne gelötete als auch das Bild. Das Fenster gibt das
Jumper. Der linke Jumper mit dem Label globale Koordinatensystem vor, dessen
„PS“ steuert die Stromversorgung der In­ linke obere Ecke markiert den Nullpunkt.
frarotlampe über den Pin für positive Dieser Nullpunkt, genauer dessen Koor-
Versorgungsspannung (VCC) und sollte dinaten 0 und 0, bestimmt den Ort rela-
unbedingt geschlossen sein. Der rechte tiv zum Bildschirm. Sind die Koordinaten
Jumper („12C PU“) aktiviert die Pullups also 0/​0, sehen Nutzer den linken oberen
an der Taktleitung (SCL) und der Daten- Teil des Bilds. In Abbildung 3 sehen Sie
leitung (SDA). Beim RaspPi ist das zwar das auf der linken Seite.
überflüssig, schadet aber auch nicht. Sind die Koordinaten dagegen nega-
In modernen Küchen finden sich mit- tiv, beispielsweise ‑50/​-50, liegt die Ecke
unter fest installierte Bildschirme. Wer links oben außerhalb des Fensters, und
keinen solchen besitzt, greift alternativ Sie bekommen den Bildbereich rechts
zu einem mittelgroßen TFT-Bildschirm unten angezeigt. Vergleichen Sie dazu
wie dem 7-Zoll-Pi-Bildschirm oder einer bitte den rechten Teil von Abbildung . 3
2
Variante von Waveshare . Stehen Sie Das mag im ersten Moment womöglich 1 Den Gestensensor APDS9960 beziehen
derzeit wie vermutlich viele andere Men- etwas verwirrend klingen, aber ein Ver- Sie bei den üblichen Händlern für 4 Euro.
schen vor dem Problem, dass ein Pi kaum schieben des Bilds nach links oben (ne-
lieferbar ist, können Sie auf einen Laptop gative Koordinaten) macht den Bildteil
ausweichen. Dazu unten später mehr. rechts unten sichtbar.
Das Steuern von PyGame funktioniert
über Events. Die Software verarbeitet
Software installieren …
Key-Events für die vier Cursor-Tasten
Das Programm Pi-Image-Viewer ist in ­(Listing 2, Zeilen 12 bis 17). Hinter jeder
­Python implementiert und gibt sich ein- Taste verbirgt sich eine Methode, die für
deutig minimalistisch. Dahinter steckt das Verschieben in eine der vier Richtun-
ein Bildbetrachter, der genau eine einzi- gen zuständig ist. Damit der Code letz-
ge Funktion übernimmt: per Gesten in lich nicht ausufert, existiert dafür jeweils
einem Bild zu scrollen. Dementspre- ein vorher angelegtes Schlüsselwertpaar
chend würde die Software ebenfalls mit (Zeilen 2 bis 8).
einem kleinen 4-Zoll-Bildschirm mit da-
hintergeklemmtem RasPi funktionieren.
Besonders anwenderfreundlich fiele das
jedoch nicht aus.
Die erforderliche Software für Ihr ges­
tengesteuertes Rezeptbuch erhalten Sie
von Github . Das Klonen des Reposito-
rys sowie die Installation der Software
erledigen Sie mithilfe der Kommandos
aus Listing 1. Zusätzliche Informationen
liefert die entsprechende Installations-
anleitung im Readme auf Github.

… und implementieren
Als Basis dienen Blinka  für den Sensor
und PyGame  für die Oberfläche. Hin-
ter Letzterem steckt eigentlich eine Spie-
leengine, die sich allerdings auch für an-
dere Anwendungen als tauglich erweist.
Das Verschieben von Objekten ist für Py-
Game verständlicherweise ein Heimspiel.
Statt Spielfiguren verschiebt die Soft-
ware das Bild und zeigt so jeweils einen
anderen Ausschnitt an . 3
Innerhalb von PyGame verkörpern
Rechtecke sowohl das Bildschirmfenster, 2 Im Beispielprojekt sitzt der Gestensensor oberhalb des TFT-Bildschirms.

06.2023 www.linux-user.de 21
Schwerpunkt Gestengesteuertes Rezeptbuch

Gesten verarbeiten Liegt das Rezept als PDF vor, hilft Ihnen
folgender Einzeiler.
Das Verarbeiten der Gesten erfolgt an-
schließend in einem zweiten Thread. convert ‑density 150 in.pdf ‑append
Dieser Thread pollt den Sensor (Listing 3, out.jpg
Zeile 4) und synthetisiert anhand der
festgestellten Gesten einfach passende Er verwendet den Befehl convert aus
Key-Events für das PyGame-Hauptpro- dem ImageMagick-Paket, das üblicher-
gramm (Zeile 16f ), womit sich der Kreis weise schon installiert ist. Falls nicht, be-
letztlich schließt. ziehen Sie es kurzerhand über den Paket-
Das beschriebene Programm mit Ges­ manager Ihrer Distribution. Mit ‑density
tensteuerung für sich alleine genommen steuern Sie die Auflösung des Bilds.
löst das Problem noch nicht komplett. Wenn das PDF mehrere Seiten besitzt,
Im ersten Schritt müssen Sie Ihr gedruck- ordnet der Befehl die Seiten untereinan-
tes Rezept zunächst in ein (JPG-)Bild der an. Bevorzugen Sie das horizontale
­umwandeln. Mittels Scan oder Foto aus Blättern, ersetzen Sie ‑append durch
­einem Rezeptbuch beziehungsweise ­+append. Daneben existieren noch zwei
Screenshot gelangen Sie in diesem Zu- weitere Parameter für das Feintuning:
sammenhang denkbar unkompliziert ‑trim entfernt weißen Rand, ‑sharpen
und schnell ans Ziel. Für den Anwen- 0x1.0 schärft das Ergebnis nach.
dungszweck eines digitalen, gestenge- Um den Bildbetrachter per Doppelklick
steuerten Kochbuchs reichen moderate zu starten, benötigen Sie noch zweierlei:
Auflösungen völlig aus. Zum einen eine Datei pi‑image‑viewer.
desktop, die den Bildbetrachter als Verar-
beitungsprogramm für JPGs registriert.
Listing 2: Tastatursteuerung Zum anderen brauchen Sie eine Datei,
01 ... 10 
die ihn als Standardanzeigeprogramm
hinterlegt. Beide Punkte beschreibt das
02 
self._MAP = { 11 ...
Readme des Github-Projekts.
03  K_RIGHT: self._right, for event in pygame.event.get():
12 
04  K_LEFT: self._left, 13  if event.type == QUIT: Laptop statt Pi
05  K_UP: self._up, 14  self._close()
Bildbetrachter und Gestensteuerung
06  K_DOWN: self._down, 15  elif event.type == KEYDOWN: funktionieren auch ohne Pi zum Beispiel
07  K_ESCAPE: self._close 16  if event.key in self._MAP: 4
auf einem normalen Laptop . Das liegt
08 } 17  self._MAP[event.key]() daran, dass Blinka und PyGame genauso
auf gängigen Desktop-Betriebssystemen
09 ... 18 ...
laufen. Da denen aber meist ein frei zu-
gänglicher I2C-Anschluss fehlt, müssen
Sie diesen via USB-I2C-Bridge nachrüs-
ten. Einfach und kostengünstig geht das
per MCP2221 für etwa 7,75 Euro 
oder noch etwas günstiger mithilfe eines
Raspberry Pi Pico .

Fazit
Ein paar Zeilen PyGame-Code, ein paar
Zeilen APDS9960-Code, großteils aus
Beispielcode im Internet zusammenko-
piert – mehr braucht es für diese Anwen-
dung nicht. Dank der Simulation von Tas-
tenevents können Sie auf eine Tastatur
verzichten. Das Prinzip lässt sich darüber
hinaus auf andere Hardware übertragen.
Beispielsweise gibt es kostengünstige
3 Bild und Bildschirm stellt PyGame als Rechtecke dar. Displays ohne Toucheingabe. Statt voll-

22 www.linux-user.de 06.2023
Gestengesteuertes Rezeptbuch Schwerpunkt

wertiger Tastatur tut es womöglich auch Als Alternative zur Gestensteuerung


ein einfaches per I2C angeschlossenes kommt wenig überraschend die Sprach-
MPR121-Tastenfeld . Genauso wie der steuerung infrage. Sie lässt sich mittler-
Code im Bildbetrachter Gesten in An- weile ebenfalls in praxistauglicher Form
schläge übersetzt, wären es mit dem auf einem Raspberry Pi nutzen. Details
­Tastensensor dann Touchevents. dazu lesen Sie in einem früher in diesem
Noch etwas weiter gehen Sie mithilfe Magazin erschienen Artikel . csi █
der Bibliothek python3‑evdev. Dank ihr
generieren Sie beliebige (System-)Tasten­
events. Auf diese Weise steuern Sie an- Weitere Infos und
schließend jedes Programm per Gesten interessante Links
oder Touch, nicht nur solche, die wie der www.linux-user.de/qr/49268
Pi-Image-Viewer darauf ausgelegt sind.

Listing 3: Gestensteuerung
01  evnt = {}
02  while not self._stop.is_set():
03  time.sleep(0.1)
04  gesture = self._apds.gesture()
05  if not gesture:
06  continue
07  elif gesture == 0x01:
08  evnt['key'] = pygame.K_UP
09  elif gesture == 0x02:
10  evnt['key'] = pygame.K_DOWN
11  elif gesture == 0x03:
12  evnt['key'] = pygame.K_LEFT
13  elif gesture == 0x04:
14  evnt['key'] = pygame.K_RIGHT
15 
16  event = pygame.event.Event(pygame.KEYDOWN,evnt)
17  pygame.event.post(event)
4 Laptop, MCP2221, Gestensensor

NEWS. BLOGS.
JOBS.
PEN SOURCE
LINUX UND Ose rem Newsletter
topaktuell mit un

www.linux-magazin.de/subscribe
© Kasper Ravlo / 123RF.com
Gewächshaussteuerung mit Raspberry Pi Pico W

Behütet wachsen
Bis sich Gemüse aus dem eigenen Gewächshaus ernten lässt, den rechtzeitig die Fenster zu schließen
und so für unsere Pfleglinge einen Wär­
braucht es viel Mühe und Zeit. Einen Teil der Aufgaben kön- mespeicher für die Nacht aufzubauen.
Dabei wollten wir uns zudem an die un­
nen Sie getrost an einen Raspberry Pi abgeben. Swen Hopfe terschiedlichen Lichtverhältnisse der ver­
schiedenen Jahreszeiten anpassen. Dazu
benötigten wir eine zuverlässige Uhr.
Sämtliche Funktionen sollten sich aus
Zugegeben: Beim Umsetzen unserer Ge­ der Ferne bedienen lassen, um bei Be­
wächshaussteuerung fingen wir nicht darf per Web eingreifen zu können. Ein
ganz bei null an. Eine ältere Steuerung Aktivitäten-Log, sollte sich ebenfalls re­
existierte bereits, mit der wir etwas Er­ mote einsehen lassen, ohne dazu immer
fahrung gesammelt hatten. Darauf auf­ die Anzeige am Gewächshaus aufsuchen
README bauend sollten die Dachfenster 1 elek­ zu müssen. Um all das zu realisieren,
trische Fensterheber bekommen. Ein nutzten wir einen Raspberry Pi Pico W.
Als wir unser Gewächshaus erneuert hatten,
Ventilator sollte die Luft im Haus bewe­ Neben der notwendigen Peripherie
nutzten wir die Gelegenheit, mehr Komfort gen. Wenn in der Übergangszeit die übernimmt er nun die komplette Logik
im laufenden Betrieb zu schaffen, und für Nachttemperaturen fallen, sollte außer­ und stellt einen Webserver bereit.
mehr Sicherheit in unserer Abwesenheit zu dem eine Heizung anspringen. Im Som­
mer gilt es dagegen, die Bepflanzung vor
sorgen. Im Ergebnis übernimmt nun ein
Inbetriebnahme
Pico W die Steuerung von Ventilation, zu hohen Temperaturen zu schützen.
­Heizung und Fenstern. Über eine Webober- Wir wünschten uns eine intelligente Im Unterschied zu den Einplatinencom­
Steuerung, die die Außentemperatur mit putern aus der Raspberry-Familie
fläche lässt sich alles leicht bedienen.
einbeziehen sollte, um bei kühlen Aben­ braucht es beim Pico kaum Vorbereitung.

24 www.linux-user.de 06.2023
Gewächshaussteuerung Schwerpunkt

Wir verwenden die WiFi-Variante, da


ohne Verbindung ins heimische WLAN
eine Fernbedienung der Steuerung nicht
funktionieren würde. Für die Program­
mierung benötigen Sie zudem einen
USB-Anschluss. In der Entwicklungspha­
se beschicken Sie den Controller mit den
entsprechenden Befehlen aus der
Python-­IDE Thonny heraus von außen.
Zum Abschluss müssen Sie Ihren Code
permanent auf den Baustein übertragen.
Einer der Vorteile von Microcontrollern
gegenüber Rechnern mit Filesystem ist
deren Robustheit. Hier besteht nicht die
Gefahr, dass etwa die SD-Karte oder die
Festplatte durch einen Stromausfall Scha­
den nehmen. Schließlich brauchen Sie
Ihre Steuerung beim Abschalten auch
nicht vorher definiert herunterzufahren,
sondern betätigen nur den Netzschalter.
Im Gegenzug müssen Sie dann aber, wie
beim Pico, mit weniger Ressourcen oder
ohne Echtzeituhr mit Batteriepufferung 1 Die automatische Steuerung des Gewächshauses reguliert beispielsweise das Öffnen
zurechtkommen. Für unsere Steuerung und Schließen der Dachfenster mihilfe von Elektromotoren.
spielte das allerdings keine Rolle, weil wir
ohnehin eine extra Realtime Clock (RTC)
vorgesehen hatten, die sich mit einem Um diese Versorgung nicht ständig im
Zeit-Server im Internet austauscht. Au­ Leerlauf zu lassen, und auf DC/​DC-Wand­
ßerdem spendierten wir dem Projekt ei­ ler verzichten zu können, schalten wir
nen elektrischen löschbaren program­ das 12V-Motornetzteil erst im Bedarfsfall
mierbaren Nur-Lese-Speicher (EEPROM), über ein Relais zu. So arbeiten wir haupt­
der sich die letzten Einstellwerte merkt. sächlich mit einem genügsamen 5V-Kreis
und sparen Kosten. Welche Komponen­
ten im Einzelnen für unser Projekt zum
Aufbau
Einsatz kommen, entnehmen Sie bitte
Das LCD-Display und die RTC sind mit dem Kasten Bauteilliste.
dem Pico per I2C-Bus verbunden, beide Der Großteil der Hardware findet in ei­ Bauteilliste
Temperaturfühler per 1-Wire-Bus. Bei den nem vorgefertigten Gehäuse Platz – ein
• Raspberry Pi Pico W
LED, die drei Ports belegen, sind Transis­ Sicherungskasten mit wetterfester Dich­
• LCD-Panel mit I2C-Controller
toren vorgeschaltet. Damit der Pico auch 3
tung . Wir wollten außerdem den Vor­
die großen Verbraucher wie Fensterheber teil eines Hutschienengehäuses nutzen, • DS1307-Echtzeituhr mit EEPROM
und Heizung (230V) regulieren kann, ver­ um einzelne Module auf einfache Weise AT24C32N
wenden wir eine Relaisplatine, deren nebeneinander anordnen und austau­ • DS18B20-Temperaturfühler
sechs Eingänge wir ebenso über die schen zu können. Was neben Sicherungs­ • 2 elektrische Fensterheber 12V
­GPIOs des RasPi steuern. Der Pico sitzt bei automat und Netzteilen nicht standard­ • sechsfache Relaisplatine
uns in einer Fassung und auf einer eige­ mäßig passt, brachten wir in Leergehäu­
• LED-Platine
nen kleinen Platine. Alle sonstigen Kom­ sen für die Hutschiene unter, beispiels­
• Transistoren, Widerstände
ponenten 2 verbanden wir über Steck­ weise die LCD-Anzeige, Schalter und LED.
• 5V und 12V-Versorgung (für die
kupplungen und brachten sie in einem In deren Gehäusen bleibt dann noch ge­
Hutschienengehäuse unter. Das sollte nügend Luft, um weiter hinten den Pi, ­Hutschienenmontage)
helfen, um im Servicefall den Überblick die Relaisplatine und die restliche Elek­ • Sicherungsautomat (für die Hut­
zu behalten, und alle Komponenten tronik zu verbauen. Das ergab letztlich schienenmontage)
leicht voneinander trennen zu können. eine übersichtliche Front. • diverse Leergehäuse (für die Hut­
Ein 5V-Netzteil versorgt die gesamte Nach draußen verlegten wir wasser­ schienenmontage)
Schaltung. Für die Fenstermotoren sind dicht durch das Gehäuse die Leitungen • Gehäuse (Sicherungskasten)
12V nötig. Bei Aktivität braucht es dort zu den Hebemotoren, zum Ventilator, der
• Verkabelung, Installationsmaterial
tatsächlich eine relativ hohe Stromstärke. Heizung, dem Türkontakt, den Tempera­

06.2023 www.linux-user.de 25
Schwerpunkt Gewächshaussteuerung

tate beschränkt sind und sich schlecht er­


weitern lassen. Wir wollten jedoch unser
eigenes Zubehör verwenden und alles
programmieren können. Für den Betrieb
unserer Lösung nutzten wir, wie beim
Pico üblich, ein zentrales Steuerskript
main.py. In dessen Quelltext fügten wir
zudem gleich die Methoden für den LCD-
Controller und DS1307-Chip ein.
Bei der Entwicklung kam die Python-
IDE Thonny 4 zum Einsatz, die den Pico
nahtlos integriert. Als Programmierspra­
che diente uns Micropython. Wenn Sie
einen Baustein ohne Micropython erwor­
ben haben, müssen Sie sich zunächst um
das Laden der aktuellen Firmware küm­
mern. Dafür finden Sie zahlreiche, gute
Anleitungen im Internet.
Nach dem Anlegen der Betriebsspan­
nung prüft der RasPi, ob alle Komponen­
ten vorhanden sind, und ob sich die ge­
samte Peripherie per I2C- oder 1-Wire-
2 Die Komponenten sind über Steckverbinder mit der Pico-Platine verbunden. Bus erreichen lässt. Trifft das zu, lässt sich
die Anlage in Betrieb nehmen. Bei weni­
ger schwerwiegenden Ereignissen, wie
tursensoren und der Netzverbindung. bei fehlender Internetverbindung oder
Die Außenleitungen gehen im Inneren nicht erreichbarem Zeit-Server, fährt er
zuerst auf Klemmverbinder, um das Steu­ weiter fort und versucht zu einem späte­
er- und Bediengehäuse getrennt von der ren Zeitpunkt erneut Kontakt aufzuneh­
restlichen Außeninstallation testen und men. Danach startet der Pico eine An­
einfach montieren zu können. schlagfahrt der Fenster nach unten, um
deren Nullpunkt einzustellen, falls sie ge­
öffnet waren. Unsere Fensterheber ha­
Steuerung
ben interne Endschalter, sodass wir da
Schauen Sie sich die wenigen käuflichen nichts zum Pi verbinden mussten.
Alternativen an, stellen Sie schnell fest, Im ständigen Loop werden die aktuel­
dass diverse Regler oft nur auf Thermos­ len Betriebswerte abgefragt und auf die
vorgesehenen Ober- und Untergrenzen
für das Schalten der Aktoren überprüft.
Daraufhin schließen sich entsprechende
Aktionen an. Darin liegt die eigentliche
Intelligenz unserer Anlage, bei der eine
Vielzahl von Innen- und Außenbedin­
gungen eine Rolle spielen. So ist bei­
spielsweise für die Ventilation wichtig, ob
die Eingangstür offen oder geschlossen
ist. Darüber hinaus existieren für alles un­
terschiedliche Schaltwerte je nach Jah­
reszeit, weil dabei Klimaparameter wie
die Sonneneinstrahlung unterschiedlich
ausfallen. Die Steuerung kümmert sich
außerdem um verschiedene Hysteresen
je nach Tageszeit, damit nicht ständig
umgeschaltet wird. Am Abend gewähr­
leisten zum Beispiel länger ruhende
Fenster einen gewissen Wärmespeicher
3 In einem Gehäuse finden alle Komponenten per Hutschienenmontage Platz. für die kommende Nacht.

26 www.linux-user.de 06.2023
Gewächshaussteuerung Schwerpunkt

Außerdem übernimmt das Skript die An­ einzustellen. Manuell schalten wir auch
zeige der aktuellen Werte auf dem LCD- die Beleuchtung vom LCD-Display, damit
Display des Bedienpanels an der Außen­ es sich am Abend gut ablesen lässt.
wand und füllt die Logs, die Sie in der
Web-App einsehen. Erwünschte, geplan­
Fernbedienung
te Aktionen finden sich im Message-Log.
Ausnahmen, wie ein Sensorausfall oder Die Steuerung funktioniert zuverlässig
das Überschreiten von Maximal- oder Mi­ offline. Ein Remote-Zugang per Web-App
nimaltemperatur, fließen als Fehler oder 5 sollten Sie sich jedoch gönnen, um
Warnung in einen separaten Error-Log
und werden längere Zeit vorgehalten. So
informieren Sie sich am Ende eines Tages
mit einem kurzen Blick in die App oder
auf das LCD-Display.
Die entsprechenden Schaltwerte legen
Sie im Quelltext als Konstanten standard­
mäßig fest. Im EEPROM-Speicher, den Sie
auch von der Web-App aus beschreiben
können, lassen sich die Konstanten spä­
ter individuell anpassen. Damit die App
überhaupt funktioniert, versucht das
Skript nach einem Verbindungsverlust
immer wieder neu, eine Verbindung auf­
zubauen. Die genaue Uhrzeit wird eben­
falls regelmäßig neu synchronisiert. Ge­
nerell sollte der Micropython-Interpreter
des Pi möglichst nie stoppen und die
Steuerung unbedingt aufrecht erhalten.
Damit der laufende Betrieb und die
Aktualisierung der Weboberfläche paral­
lel stattfinden können, arbeiten wir mit
uasyncio. Die Bibliothek liefert einen
asynchronen Scheduler, der der Anwen­
dung Zeit für beide Aufgaben verschafft.
Ein passendes Tool für unsere Zwecke,
um einen flüssigen Ablauf bei der Bedie­
nung (kurze Reaktionszeit nach dem
Drücken eines Buttons im Web) und eine
reibungslose Programmabarbeitung
(keine langen Wartezeiten beim Abfra­
gen vom Webserver) zu gewährleisten.
Selbstverständlich sollen sich alle
Funktionen alternativ manuell steuern
lassen. Dafür trennt ein mehrpoliger
Schalter die Aktoren von der Steuerung
ab, um anschließend ohne Konflikt zur
Automatik jedes der beiden Fenster in
die gewünschte Stellung bringen zu
können, und Ventilator sowie Heizung 4 Die Python-IDE Thonny, in der der Code der Steuerung entwickelt wurde.

Werden Sie geprüfter Linux-Administrator LPI


Aus- und Weiterbildung zum Linux-Administrator. Weitere Studiengänge:
loses
Ein Beruf mit sehr guten Zukunftsaussichten. IT-Security SSCP / CISSP
Kosten
dium!
Kostengünstiges und praxisgerechtes Studium SPS-Technik und
ohne Vorkenntnisse zur Vorbereitung auf die Teststu IEC-Programmierung
LPI-Prüfungen. Beginn jederzeit. Online Marketing Manger/in (IHK)
Datenschutzbeauftragter TÜV
FERNSCHULE WEBER - seit 1959 - Abt. X23
Neerstedter Str. 8 - 26197 Großenkneten GRATIS-Infomappe gleich anfordern!
Telefon 04487 / 263 www.fernschule-weber.de
Schwerpunkt Gewächshaussteuerung

nicht alles vor Ort able­ Da sich der Pico immer in Reichweite des
sen zu müssen. Zudem heimischen WLAN befindet, haben wir
müssen Sie so das Be­ damit die Lage im Gewächshaus ständig
dienpanel am Gewächs­ unter Kontrolle und können per Smart­
haus nicht allzu aufwen­ phone, Tablet oder PC von Grundstück
dig gestalten. Dazu kann oder Wohnung aus eingreifen.
der Pico einen Webser­
ver ausführen, der eine
Fazit
Bedienoberfläche bereit­
stellt. Nach Belieben In unserem Gewächshaus herrscht von
können Sie diese zusätz­ April bis Oktober Hochbetrieb. Daher
lich im Internet freige­ sollte eine elektronische Regelung nicht
ben, bei uns lässt sie sich nur funktional, sondern vor allem be­
ausschließlich im lokalen triebssicher sein. Zum Schutz der Pflan­
Netzwerk erreichen. Ab­ zen sollten Sie, modulweise und gründ­
bildung 5 zeigt nur lich zu testen, bevor Sie alles in Betrieb
den ersten Bildschirm. nehmen. Haben Sie die Anlage erst ein­
Die Funktionen der mal draußen installiert, kommen Sie spä­
App sind: ter nur schwer an einzelne Bauteile.
• Sofortanzeige der Unsere neue Steuerung läuft inzwi­
­aktuellen Werte, schen einige Zeit und hat sich bisher für
• Minimal-/​Maximal­ das Gewächshaus 6 eindeutig bewährt.
temperaturen und Info Beruhigend, wenn man weiß, dass in Ab­
zum Betriebszustand, wesenheit alles gut aufgehoben ist. Mit­
• manuelle Fenster-, unter sind es Kleinigkeiten, die eine Rolle
Ventilator- und Hei­ spielen, wie unsere LED-Ampel, die schon
5 Dank der Bedienoberfläche via Webserver, kann das zungsschaltung, beim Vorbeilaufen am Häuschen davon
­ edienpanel ruhig etwas spartanischer ausfallen.
B • variabel auf Auto­ kündet, ob alles in Ordnung geht. Im
steuerung zurücksetzen, nächsten Ausbauschritt wollen wir es mit
• Message- und Error- Feuchtesensoren ausstatten, um zusätz­
Logs anzeigen und löschen, lich den Erdboden zu beobachten. Auf
• Verlaufsgrafiken der Temperaturen in­ GitHub unter https://​­github.​­com/​
nen/​außen pro Tag und Monat, ­swenae/​­ghouse stehen Ihnen die Soft­
• Stellparameter vom Speicher lesen ware und weitere Informationen zum
und schreiben. Projekt zu Verfügung. jcb/​csi █

Der Autor
Swen Hopfe arbeitet bei einem mittelständi-
schen Unternehmen mit Schwerpunkt Chip-
karte und NFC. Wenn er nicht gerade beim
Fotografieren, in der Natur oder im Garten
unterwegs ist, beschäftigt er sich leiden-
schaftlich mit Themen rund um den RasPi,
IoT und Hausautomation.
6 So sieht das voll bestückte Gewächshaus von innen aus.

28 www.linux-user.de 06.2023
ANZEIGE

Gaming-PCs
von PCGH

Konfigurierbare
PCs von Dubaro

Jeder PC kann vor der


Bestellung individuell
angepasst werden

Vorschläge zur
Konfiguration vom
PCGH-Ratgeber-Team

Für PC-Schrauber:
Bestellung aller Hardware-
Komponenten auch als
Bausatz möglich

POWERED BY

Mehr Infos unter: www.pcgh.de/gaming-pcs


Git-Server auf Raspberry-Pi-Basis (Teil 1)

Ordnungsliebe teilen
Zugegeben: Einen selbst gehosteten Git-Service auf einem RasPi einzurichten, erfordert
einige Arbeit. Als Belohnung winkt ein leistungsfähiges Git-System für die kollaborative
und verteilte Arbeit. Thomas Reuß
© Serhii Radachynskyi / 123RF.com
Git-Server auf Raspberry-Pi-Basis (Teil 1) Praxis

Dass sein Git (zu Deutsch: „Depp“) eimal Vorbereiten


im Handumdrehen die Welt erobern wür-
de, darauf hätte sicherlich selbst Linus Als Betriebssystem
Torvalds nicht gewettet. Seit der große dient Raspber-
Meister 2005 aufgrund lizenzrechtlicher ry Pi OS Lite, auf dem
Änderungen am bis dahin für den Kernel 4er-Modell in der
genutzten VCS Bitkeeper kurzerhand sei- 64-Bit-Variante. Das
ne eigene Software entwickelt hat, ist es befördere ich mit
(zumindest in meiner Bubble) sehr ruhig dem Raspberry Pi
um die Konkurrenz geworden: Mercurial Imager auf die SD-
und Bazaar fristen dieser Tage eher ein 1
Karte . Selbstver-
Nischendasein, scheint es. ständlich könnten Sie
Um des Wusts aus gefühlt unzähligen dazu Bordmittel wie
Konfigurationsdateien, Vorlagen und be- Dd nutzen. Dagegen
liebigen anderen Textdokumenten Herr spricht allerdings, 1 Mithilfe des Raspberry Pi Imagers übertragen Sie Rasp-
zu werden, erschien mir stets die Idee dass der Pi Imager berry Pi OS Lite komfortabel auf den RasPi.
verlockend, über ein eigenes Versions- ­diverse Einstellungen
kontrollsystem (VCS) zu verfügen. Dass schon vorab zu set-
es darüber hinaus unbedingt ein eigenes zen vermag: Man kann beim Schreiben
– sprich On-Premises – System sein soll- des Abbilds direkt Systembenutzer an­
te, war mir bereits lange Zeit vor der legen, Public Keys hinterlegen und das
Übernahme von Github klar. Gerät direkt ins WLAN aufnehmen.
Der Pi Imager erweist sich als ausge-
sprochen benutzerfreundlich. Die Aus-
Hardware
wahl des Betriebssystemabbilds und die
Für meine Zwecke sollten sich die An- entsprechenden Einstellungen sind
sprüche an einen Git-Server in einem schnell getroffen. Nach etwa 10 Minuten
eindeutig überschaubaren Rahmen hal- haben Sie eine bootfähige SD-Karte er-
ten. Git selbst zeigt sich sehr genügsam, zeugt und können direkt loslegen .2
und mehr als eine Handvoll zur gleichen
Zeit auf der Maschine agierende Nutzer
Zusatzsoftware
erwarte ich ebenfalls nicht. Damit war
die Entscheidung schnell und ohne viel Zunächst sollten Sie alle Pakete des Sys-
Federlesen getroffen, dass ein derzeit tems aktualisieren. Das funktioniert unter
brachliegender Raspberry Pi zum Einsatz Debian-Abkömmlingen wie Raspberry Pi
kommen würde. OS stets mithilfe des Befehls sudo apt
Im Rahmen dieses Artikels verwende update && sudo apt upgrade.
ich einen Raspberry Pi 4, ein USB-C-Netz- Die Entscheidung für den Git-Service
teil und eine SD-Karte mit 64 GByte Spei- fiel in meinem Fall auf Gogs . Die Soft-
cherplatz. Zum Kaufdatum waren das ware arbeitet ressourcenschonend (nicht
einmal Waren im Wert von ungefähr
80 Euro. Laufen sollte das Ganze durch-
aus auch auf einem Raspberry Pi 3B; zu- Listing 1: Installation
mindest liegen die Installationsdateien 01 $ sudo apt‑get install ‑y git postgresql postgresql‑client libpq‑dev
sowohl für die ARM7- als auch die ARM8- nginx
Architektur vor.
02 $ wget https://github.com/gogs/gogs/releases/download/v0.13.0/
gogs_0.13.0_linux_armv8.tar.gz

README 03 $ sudo tar ‑C /opt/ ‑xvzf gogs_0.13.0_linux_armv8.tar.gz


04 $ sudo adduser ‑‑disabled‑login ‑‑uid 2000 ‑‑shell /bin/bash git
Nachdem Sie den selbst gehosteten Git-
05 $ sudo ‑u postgres psql ‑d template1
Service Gogs auf einem Raspberry Pi in­
06 [...]
stalliert und grundkonfiguriert haben, ver-
07 template1=# CREATE USER gogs CREATEDB;
fügen Sie über ein leistungsfähiges Git- 08 [...]
System zu allerlei Zwecken. 09 template1=# CREATE DATABASE gogs WITH OWNER=gogs;

06.2023 www.linux-user.de 31
Praxis Git-Server auf Raspberry-Pi-Basis (Teil 1)

zuletzt wegen Go), jedoch die Daten lieber in einer richtigen


bringt eine anspre- Datenbank wissen. Deshalb habe ich
chende, intuitive Ober- mich für PostgreSQL  entschieden. Zu
fläche mit und bietet guter Letzt brauchen wir noch die Git-
ein zentrales Manage- Software. Das entsprechende Installa­
ment von Repositories. tionskommando sehen Sie in der ersten
Selbstverständlich ge- Zeile von Listing 1.
länge das auch mit Git
allein, aber es geht mir
Gogs-Binärpakete
hier ja speziell um die
Oberfläche. Auf Github gibt es diverse Archive für
Prinzipiell läuft Gogs Gogs. Für den Raspi 4 laden Sie via Wget
auch ohne Webserver; den Tarball gogs_0.13.0_linux_armv8.
grundsätzlich genügt tar.gz herunter (Listing 1, Zeile 2) und
es, die Binärdatei aus- entpacken ihn nach /opt (Zeile 3).
zuführen. Zudem be- Damit haben Sie die Arbeiten bezüg-
nötigt man dank SQ­ lich der Gogs-Binärpakete abgeschlossen
Lite theoretisch keine und können sich dem Erstellen eines Sys-
dedizierte Datenbank. tem-Users zuwenden. Wir werden sämt­
Einen Reverse Proxy – liche Dateien unter dem Benutzer Git
ich verwende Nginx – einrichten (Zeile 4).
vor dem eigentlichen
Dienst halte ich aller-
Datenbank einrichten
dings für unverzicht-
bar, insbesondere um Als Nächstes erzeugen Sie einen Daten-
bestimmte Filter zu er- 3
bankbenutzer . Initial verwenden Sie
möglichen. Etwa, dass für die Anmeldung die PostgreSQL-Stan-
das Admin-UI nur von dard-Datenbank template1 (Listing 1,
bestimmten IP-Adres- Zeile 5). Danach legen Sie den User mit
sen überhaupt erreich- zugehöriger Datenbank an (Zeile 7).
2 Die Voreinstellungen über den Pi Imager nehmen nur we- bar sein darf. Dem Datenbankbenutzer weisen Sie
nige Minuten in Anspruch. SQLite mag für ein- via \password gogs ein sicheres Pass-
fache Demosysteme wort zu. Nachdem es im konkreten Fall
ausreichen, ich möchte im Gogs-Setup-Assistenten tatsächlich
Probleme mit bestimmten Sonderzei-
chen gab, empfehle ich, im Passwort auf
Listing 2: Zertifikat erzeugen Anführungszeichen (", ') zu verzichten.
01 $ openssl req ‑x509 ‑newkey rsa:4096 ‑sha256 ‑days 3650 ‑nodes \
Scheinbar gibt es beim (De-)Escaping
dieser Zeichen Probleme auf dem Weg
‑keyout githorst.key ‑out githorst.crt ‑subj "/CN=githorst" ‑addext \
02 
von der Webseite bis in die Datenbank.
"subjectAltName=DNS:githorst.fritz.box,DNS:githorst,IP:192.168.178.33"
03  Statt obskure Sonderzeichen einzubau-
04 
Generating a RSA private key en, setzen Sie besser auf ein längeres
05 ...................................................++++ Passwort. Legen Sie eine leere Daten-
bank an und machen Sie den Gogs-User
06 ............++++
zum Eigentümer (Listing 1, Zeile 9).
07 
writing new private key to 'githorst.key'
Beim Login des PostgreSQL-Benutzers
08 ‑‑‑‑‑ kann noch der Fehler FATAL: Peer authen-
09 $ sudo apt install certbot tication failed for user „postgres“ auftau-
10 $ sudo certbot ‑d git.horst.labs ‑‑manual ‑‑preferred‑challenges dns \ chen. In diesem Fall müssen Sie die Datei
/etc/postgresql/13/main/pg_hba.conf
certonly
11 
anpassen. Ist hier kein Authentifizie-
12 [...]
rungsschema für lokale Logins definiert,
13 
Please deploy a DNS TXT record under the name scheitert die Anmeldung . Die Zeile
14 
_acme‑challenge.git.horst.labs with the following value: local all all peer ändern Sie in local
15 667drNmQL3vX6bu8YTquerbou7425234rjF1lSaUndc all all md5, was diesen Fehler beheben
sollte. Damit erlauben Sie passwortge-
16 
Once this is deployed, Press ENTER to continue
schützte lokale Datenbank-Logins.

32 www.linux-user.de 06.2023
Git-Server auf Raspberry-Pi-Basis (Teil 1) Praxis

Reverse Proxy
Um Gogs halbwegs vernünftig nutzen zu
können, benötigen Sie zumindest ein
selbst signiertes Zertifikat. Falls keine ei-
gene Domain vorhanden ist, erzeugen
Sie es mittels OpenSSL in einem Rutsch
(Listing 2). Das Zertifikat legen Sie in ­
/etc/ssl/certs/ ab, den Key dagegen
in /etc/ssl/private/. 3 Der frisch erzeugte PostgreSQL-Benutzer bekommt ein sicheres Passwort zugewiesen.
Wesentlich sinnvoller ist es jedoch,
durch Let’s Encrypt  ein richtiges Zerti-
fikat ausstellen zu lassen. Dazu benöti- oder ein Zertifikat von Let’s Encrypt ver-
gen Sie allerdings eine eigene Domain. wenden, benötigen Sie den vollständi-
Let’s Encrypt kann keine Zertifikate für gen Pfad zu den entsprechenden Daten
Subdomains wie git.​­fritz.​­box anlegen. im nachfolgenden Schritt.
Diese nutzen Fritzboxen zwar typischer- Jetzt legen Sie noch eine Site in Nginx
weise für das jeweilige LAN, sie gehört an: Unter /etc/nginx/sites‑availa‑
aber der AVM Computersysteme Ver- ble/ erzeugen Sie die Datei gogs mit
triebs GmbH. Eine Domain erstehen Sie dem Inhalt aus Listing 3. Für diese Datei
schon für jährlich wenige Euros – umso kreieren Sie einen Symlink in /etc/
besser, wenn Sie bereits eine besitzen. nginx/sites‑enabled/ (Listing 4). Sie
In diesem Fall legen Sie sich einfach können die Einstellungen daraufhin mit-
eine Subdomain für den Git-Server an, tels sudo nginx ‑t testen. Im Erfolgsfall
zum Beispiel git.​­horst.​­labs. Nachdem das erhalten Sie schließlich die Rückmel-
ein paar Minuten dauern kann, haben dung … test is successful.
Sie jetzt Zeit, den Let’s-Encrypt-Certbot Im darauffolgenden Schritt richten Sie
zu installieren, der sich um das Erzeugen einen Systemd-Service ein, sodass Gogs
und Erneuern des Zertifikats kümmert automatisch startet und stoppt. Dazu
(Listing 2, Zeile 9). Ihn weisen Sie an- packen Sie den Inhalt aus Listing 5 in die
schließend an, ein neues Zertifikat für
die eben angelegte Subdomain anzufor-
dern (Zeile 10 und 11). Der Certbot fragt
noch einige Informationen ab und gibt
im Rahmen der Zertifikatsanforderung
dann den Text aus den letzten vier Zeilen
des Listings aus.
Danach wechseln Sie in die DNS-Ver-
waltung Ihres Domain-Providers und fü-
gen für die Subdomain git.horst.labs
einen TXT-Eintrag hinzu. Wichtig: Der
Name des TXT-Records muss ­
_acme‑challenge.git.horst.labs
(oder eben wie Ihre Subdomain) lauten.
Als Wert dient die von Certbot ausgege-
bene Zeichenkette (Listing 2, Zeile 15).
Nachdem Sie den Eintrag gespeichert
haben, sollten Sie kurz warten, bis er sei-
nen Weg in die DNS-Server gefunden
hat. Nach einigen Minuten Wartezeit
drücken Sie in Certbot schließlich auf die
Eingabetaste. Sofern der Eintrag sauber
im DNS hinterlegt ist, installiert Certbot
jetzt ein ordentliches Zertifikat und gibt
die Pfade zum Server-Zertifikat, zur Zer-
tifikatskette und zum Private Key aus. Je 4 In die Gogs-Konfiguration tragen Sie unter anderem den Typ der
nachdem, ob Sie ein selbst signiertes Datenbank, den Anwendungsnamen und den ausführenden User ein.

06.2023 www.linux-user.de 33
Praxis Git-Server auf Raspberry-Pi-Basis (Teil 1)

Datei /etc/systemd/system/gogs.ser‑ Diese Mühen lohnen sich, haben wir es nun Markdown-Notizen, Hausarbeiten
vice. Den neuen Dienst starten Sie wie doch nun ein leistungsfähiges Git-Sys- oder Korrespondenz in LaTeX2e.
gewohnt (Listing 6, erste zwei Zeilen). tem zur Hand, in dem wir nicht nur unse- In Teil 2 des Projekts sehen wir uns die
Der letzte Handgriff vor dem initialen re Shell- und Python-Skripte oder Go- unterschiedlichen Features und Konfigu-
Setup von Gogs ist der Start von Nginx Quellcodes ablegen können: Es lassen rationsmöglichkeiten von Gogs genauer
(letzte Zeile). sich hier jegliche Art von Textdateien kol- an. Darüber hinaus kümmern wir uns um
Haben Sie alles richtig gemacht und laborativ und verteilt bearbeiten, seien das Thema Backups. (csi) █
der DNS-Name wird im Heimnetz aufge-
löst, erreichen Sie nun über die Subdo-
main oder den internen Namen die Kon- Listing 3: Nginx-Site erzeugen
4
figurationsmaske von Gogs . Sind Sie server {
sich hier bei Themen wie dem E-Mail-Ver-
listen 80;
sand unsicher, deaktivieren Sie die ent-
sprechenden Optionen zunächst. Alle server_name git‑horst;
Einstellungen lassen sich später noch in return 302 https://$server_name$request_uri;
der Konfigurationsdatei /opt/gogs/cus‑ }
tom/conf/app.ini anpassen.
Bei Domain hinterlegen Sie bitte den
server {
FQDN des Git-Servers, also etwa git.
listen 443 ssl;
fritz.box, git.horst.labs und so wei-
ter. Beim HTTP-Port lassen Sie 3000 ste- server_name git‑horst;
hen. Hier versucht Nginx ja die Verbin-
dung zu Gogs herzustellen. Als Anwen- ssl_certificate /etc/ssl/certs/githorst.crt;
dungs-URL verwenden Sie https://Do-
ssl_certificate_key /etc/ssl/private/githorst.key;
main:443/, wobei Sie für Domain den In-
halt von Domain einsetzen. Diese URL
wird später die HTTPS-Links für den Git- location / {
Zugriff steuern. proxy_set_header X‑Real‑IP $remote_addr;
proxy_pass http://localhost:3000;
Fazit und Ausblick }
}
Wir haben jetzt den selbst gehosteten
Git-Service Gogs auf einem Raspberry Pi
installiert und grundkonfiguriert. Dabei
galt es, in Form von SSL-Zertifikaten, Listing 4: Symlink erzeugen
Nginx als Reverse Proxy und dem ausge- $ sudo ln ‑s /etc/nginx/sites‑available/gogs /etc/nginx/sites‑enabled/
wachsenen, leistungsfähigen DBMS Post-
gogs
greSQL einige Hürden zu nehmen.

Listing 6: Dienste starten Listing 5: Systemd-Service für Gogs


# systemctl enable gogs.service [Unit] WorkingDirectory=/opt/gogs
# systemctl start gogs.service Description=Gogs ExecStart=/opt/gogs/gogs web
# systemctl start nginx After=syslog.target Restart=always
After=network.target Environment=USER=git HOME=/home/
After=mariadb.service mysql. git
Dateien zum Artikel service mysqld.service
herunterladen unter
postgresql.service memcached. ProtectSystem=full
www.linux-user.de/dl/49266 service redis.service PrivateDevices=yes
PrivateTmp=yes
[Service] NoNewPrivileges=true
Weitere Infos und Type=simple
interessante Links
User=git [Install]
www.linux-user.de/qr/49266
Group=git WantedBy=multi‑user.target

34 www.linux-user.de 06.2023
WISSEN, WIE DER
HASE LÄUFT!

Jetzt kostenfrei anmelden für den


COMMUNITY NEWSLETTER!
www.linux-community.de/newsletter
© Lars Christenen / 123RF.com
Mit Fdupes Dubletten aufspüren

Doppelt gemoppelt
Das Kommandozeilentool Fdupes hilft Ihnen dabei, doppelte belegen und sich oft nur schwer finden
lassen. Um solche Dubletten aufzuspü-
Ordner und Verzeichnisse zu finden. Ferdinand Thommes ren und zu entfernen, gibt es unter Linux
mehrere grafische Anwendungen sowie
einige weitere für die Kommandozeile.
Festplatten besitzen die unangenehme
Eigenschaft, sich schneller zu füllen als
GUI oder CLI?
gedacht. Dabei liegt nicht immer sofort
auf der Hand, warum das so ist. Der Ord- Bekannte Tools mit grafischer Oberflä-
nungsfaktor spielt in diesem Kontext che für die Aufräumarbeit sind Fslint und
eine nicht zu unterschätzende Rolle. Un- Dupeguru. In diesem Artikel beschäfti-
aufgeräumte, schlecht organisierte Fest- gen wir uns allerdings mit dem im
platten laufen gemeinhin schneller voll, Jahr 2000 erstmals veröffentlichten
README als gut organisierte. Da das Leben aber ­Fdupes für die Kommandozeile . Die
aus einer Mischung aus Ordnung und meisten Distributionen führen das kleine
Das Kommandozeilenprogramm Fdupes
Chaos besteht, betrifft das Problem ver- Werkzeug in den Archiven, Sie installie-
dient dazu, Datei-Dubletten auszumachen mutlich die meisten von uns. ren es über das jeweilige Paketmanage-
Für den unerwartet hohen Füllstand ment. Eine Anleitung für Debian, Fedora
und gegebenenfalls zu löschen. Darüber
von Festplatten zeichnen häufig mehr- und Arch Linux zeigt Listing 1.
­hinaus bietet die Software das Umwandeln fach vorhandene Dateien verantwortlich. Die aktuelle Version 2.2.1 vom Septem-
Prädestiniert dafür sind Fotos, Musik ber 2022 steht noch nicht in allen Repo-
in Hard- oder Softlinks an.
oder Videos, die schnell mehrere GByte sitories zur Verfügung . Falls Sie

36 www.linux-user.de 06.2023
Fdupes Praxis

F­ dupes deshalb aus dem Quelltext kom- mal angeben. Um rekursiv in Verzeichnis-
pilieren möchten, nutzen Sie das Tar-­ sen zu suchen, verwenden Sie die Option
Archiv von Github. Nach dem Entpacken ‑r, etwa fdupes ‑r ~/Dokumente 2 .
schließt sich der bekannte Dreisatz aus Auch in diesem Fall findet das Tool ne-
./configure, make und make install ben einigen anderen Dubletten unsere
an. Ab Fdupes 2.0 existieren zwei Abhän- zehn Textdateien. Mit der Option ‑R ge-
gigkeiten, die Sie je nach Distribution ben Sie den Pfad von Unterverzeichnis-
ebenfalls selbst erstellen müssen. Dazu sen an, die Sie einbeziehen möchten.
folgen Sie den Anweisungen der Datei Der Schalter ‑S (Size) zeigt Ihnen die
INSTALL aus dem entpackten Archiv. Größe der jeweiligen Fundstellen an. Mit
Nach der Installation lässt sich das Tool ‑t oder ‑‑time erfahren Sie, wann eine
sofort ohne Konfiguration einsetzen. Es Datei zuletzt geändert wurde. Über ‑G 1 Die einfachste Methode zum Aufspü-
identifiziert Dateidubletten in den ange- oder ‑‑minsize=SIZE und ‑L oder ren von Dubletten gelingt ohne den Auf-
gebenen Verzeichnissen mithilfe mehre- ‑‑maxsize=SIZE grenzen Sie die Aus- ruf von Parametern unter Angabe des
rer Schritte. Um als Dublette erkannt zu wahl weiter ein. richtigen Verzeichnisses.
werden, spielt der Dateiname keine Rol-
le. Vielmehr müssen zwei Dateien zu-
Vorsicht beim Entfernen
nächst dieselbe Größe aufweisen, wo­
raufhin Fdupes deren Md5-Prüfsummen Doch das Finden ist nur der erste Teil der
vergleicht. Abschließend führt die Soft- Aufgabe, schließlich wollen wir ja Dub-
ware einen Byte-zu-Byte-Abgleich durch, letten löschen, um die Festplatte auf­
der bestimmt, dass es sich zweifellos um zuräumen. Hier kommt die Option ‑d
die gleiche Datei handelt. ­(delete) zum Zug. Schauen wir uns an,
Fdupes verfügt über zahlreiche Optio- was der Befehl fdupes ‑d ~/Dokumente/
nen, um die Suche und das darauf fol- fdupes macht. Stellen Sie dabei stets
gende Entfernen der Dubletten zu steu- ­sicher, dass Ihre Pfadangabe genau
ern. Initial sollten Sie sich dementspre- stimmt – mit Fdups gelöschte Dateien
chend mithilfe des Befehls fdupes lassen sich nicht wiederherstellen.
‑‑help damit vertraut machen und die Das Kommando listet zunächst die Da-
passenden Optionen identifizieren. teien nummeriert auf. Bitte beachten Sie,
dass die Zahl am Zeilenanfang nicht
zwingend mit der Nummerierung im
Testparcours
­Namen der Datei übereinstimmen muss.
Wir haben für unseren Test im Verzeich-
nis Dokumente das Verzeichnis fdupesan-
gelegt und darin zehn Textdateien mit
dem Text fdupes findet und entfernt Dub-
letten. erstellt. Wie Sie das auf die Schnel-
le erledigen, veranschaulicht Listing 2.
Ein folgendes ls ‑l bestätigt das Er-
stellen der Dateien. Der einfachste Weg,
um im neuen Verzeichnis nach Dubletten
zu suchen, besteht im Kommando fdu‑
pes ~/Dokumente/fdupes 1 . Indem Sie
die Pfade durch Leerzeichen trennen, las-
sen sich mehrere Verzeichnisse auf ein-

Listing 1: Fdupes installieren


##### Debian und Derivate:
$ sudo apt install fdupes
##### Fedora:
$ sudo dnf install fdupes
#####Arch Linux und Derivate
$ sudo pacman ‑S fdupes 2 Mit dem Parameter ‑R steigen Sie bei der Suche im Verzeich-
nisbaum rekursiv weiter hinab.

06.2023 www.linux-user.de 37
Praxis Fdupes

Geben Sie nun Zahlen durch Komma Nehmen wir an, Sie betreuen einen
­getrennt ein, erhalten diese ein Pluszei- Rechner, den mehrere Nutzer verwen-
chen und bleiben unversehrt, alle mit den. Regelmäßig kommt es vor, dass sie
­einem Minus versehenen Dubletten ent- gleiche Dateien in Ihren Heimatverzeich-
fernt die Software. nissen speichern, zum Beispiel YouTube-
Haben Sie sich vertan, löscht der Be- Videos oder Audiodateien. In diesem Fall
fehl rg Ihre vorherigen Angaben. Das können Sie die Dateien nicht einfach
Drücken von [Entf ] setzt Ihre Eingaben kurzerhand löschen. Die Option ‑H wan-
um. Möchten Sie alle Dubletten außer delt Dubletten allerdings in Hardlinks
der ersten angezeigten beseitigen, nut- um. Löscht ein Nutzer seine Kopie, blei-
3 Der Parameter ‑d dient zum Löschen zen Sie den Befehl fdupes ‑r ‑d ‑N / ben die anderen dennoch erhalten.
gefundener Dubletten und listet diese Pfad. Dabei brauchen Sie nicht [Entf ] zu Trotzdem eignet sich diese Option nicht
nummeriert auf. drücken. Der Schalter ‑N (noprompt) ausnahmslos. Ändert ein Anwender
3
funktioniert ohne Bestätigung . etwa die Metadaten eines Songs oder
Eine weitere Möglichkeit der Auswahl Fotos, ändern sie sich auch in allen ver-
nach dem Aufruf von Fdupes mit der linkten Objekten. Dasselbe gilt für das
­Option ‑d bietet der Parameter sel. Sie Editieren von Textdateien. ‑H eignet sich
wählen alle Dateien mit einem bestimm- dementsprechend eher für nur lesbare
ten Begriff im Pfad durch Eingabe von Dateien. Ebenfalls mit Vorsicht zu genie-
sel <Begriff>. Um alle Dateien, deren ßen, ist der Schalter ‑s oder ‑‑symlink,
Pfad mit dem Begriff beginnt, auszuwäh- der Dubletten einer Datei in symbolische
len, nutzen Sie selb <Begriff>. Mit Links (Softlinks) umwandelt. Mitunter
sele <Begriff> wählen Sie Dateien, de- passiert es hierbei, dass der Nutzer den
ren Pfad mit dem Begriff endet. Alle Da- Symlink speichert und versehentlich die
teien, deren Pfad genau dem Begriff ent- eigentliche Datei löscht.
spricht, wählen Sie mithilfe des Befehls
selm <Begriff>. Danach bestimmen Sie,
Warum CLI?
welche der gefundenen Kandidaten Sie
behalten möchten. Weitere Möglichkei- Warum sollte man sich für eine Komman-
ten liefert Ihnen das Kommando help, dozeilenlösung entscheiden, obwohl es
das die entsprechende Passage der grafische Alternativen gibt, die eventuell
­Manpage zu Fdupes anzeigt. sogar einen besseren Überblick bieten?
Einerseits lassen sich GUI-Anwendungen
auf den meisten Servern nicht einsetzen.
Hard- und Softlinks
Andererseits arbeitet die Terminalvarian-
Mithilfe von Fdupes reduzierten Sie den te speziell bei der Suche in größeren Ver-
Platzanspruch von Dubletten, indem Sie zeichnissen deutlich zügiger. Die früher
diese in Hardlinks umwandeln. Ein Hard- weitverbreitete, in Python verfasste GUI-
link verbindet einen Namen direkt mit ei- Anwendung Fslint ist inzwischen zum
ner bestimmten Datei im System. Dabei Beispiel bei Ubuntu, Debian und anderen
können mehrere Hardlinks auf dieselbe Distributionen aus den Repositories ver-
Datei verweisen, also mehrere Verzeich- schwunden. Dafür steht mit Czkawka 4
niseinträge oder Dateinamen für ein und ein wesentlich schneller arbeitender Fork
dieselbe Datei existieren. Im Gegensatz in der Sprache Rust zur Verfügung. Eine
zu einem Softlink, bei dem sich der Zei- 5
Alternative bietet Dupeguru . Als Er-
ger ändert, sobald Sie die Datei umbe- satz für Fdupes empfiehlt sich Jdupes.
nennen, verweist ein Hardlink weiterhin Behalten Sie dabei allerdings im Hinter-
auf die zugrunde liegende Datei. kopf, dass sich die Befehle beider Werk-
zeuge teilweise unterscheiden.

Listing 2: Textdateien gleichzeitig erstellen Fazit


mkdir /home/"$USER"/Dokumente/fdupes\
Mit Fdupes spüren Sie Dubletten auf,
&& cd /home/"$USER"/Dokumente/fdupes\
entfernen sie oder wandeln sie um. Aller-
&& for i in {1..10}; do echo\
dings gibt es gattungsbedingt einige
"fdupes findet und entfernt Dubletten."\
Fallstricke, die zum Datenverlust führen
> fdupes${i}.txt ; done können. Neben den bereits genannten

38 www.linux-user.de 06.2023
Fdupes Praxis

4 Czkawka ist eine in Rust geschriebene Umsetzung von Fslint. Es ist schneller und belegt weniger Arbeitsspeicher als der Vorgänger.

möglichen Problemen mit Sym- und lassen sich nicht in jedem Kontext be-
Hardlinks gibt es Systemdateien, die in denkenlos löschen. Daher sollten Sie nur
doppelter Version vorliegen müssen, Dateien und Verzeichnisse entfernen,
­jedoch als Dubletten erkannt werden. deren Inhalt und Bedeutung Sie ein-
Auch leere Verzeichnisse oder Dateien schätzen können. (csi/​tle) █

Weitere Infos und


interessante Links
5 Dupeguru heißt eine weitere Alternative, wenn Sie Dubletten über eine GUI finden www.linux-user.de/qr/49274
möchten. Ergebnisse lassen sich mittels Filtern oder Regular Expression einschränken.

06.2023 www.linux-user.de 39
© Chris Curtis / 123RF.com

Praktische Gnome-Erweiterungen erklärt – aber nicht nur – KDE-Anhänger daran


Geschmack finden dürften.

Aufgebohrt
Bei Tumbleweed ist gelegentlich zu
spüren, dass die KDE-Entwickler sich
beim Funktionsumfang zu viel aufgela-
den haben. Ganz anders arbeiten ihre
minimalistischeren Gnome-Kollegen.
Gnome lagert Funktionalität in von Ex-
Schon Linus Torvalds fand den Funktionsumfang von Gnome ternen geschriebene Erweiterungen aus:
weniger Funktionen – weniger Bugs.
karg. Zum Glück stehen viele Erweiterungen für den Desktop
Stabiler Kern
bereit, von denen wir einige nützliche vorstellen. Peter Kreußel
Zwar schaffen die nicht immer optimal
gepflegten Erweiterungen eigene Pro­
bleme, doch es ist etwas anderes, ob der
Kern-Desktop einen nervigen Bug auf-
README Als 2011 Gnome 3 erschien, hat der weist oder eine Erweiterung, die man ab-
Schöpfer des Linux-Kernels, Linus Tor- schalten oder ersetzen kann.
Während unter KDE Erweiterungen eher
valds, unter anderem seine Funktionsar- Gnome-Erweiterungen sind einfach
Gimmicks wie optisch ausgefallene Uhren mut kritisiert . Torvalds räumte jedoch und unabhängig von der eingesetzten
für die Desktop-Oberfläche nachrüsten, po- einige Jahre danach ein, dass Gnome ­Linux-Distribution über die Browser Fire-
nun dank des Gnome Tweak Tools  und fox oder Chrome zu installieren. Besu-
lieren die meisten Gnome-Extensions auf
zahlreicher verfügbarer Erweiterungen chen Sie dazu die Seite https://​
dem offiziellen Portal extensions.​­gnome.​­org seinen Ansprüchen doch wieder genüge ­extensions.​­Gnome.​­org. Tun Sie dies das
Kernfunktionen wie die Fensterverwaltung . Um solche Erweiterungen geht es erste Mal, erscheint über der Liste der
hier: Sie motzen den Gnome-Desktop in Gnome-Erweiterungen ein Kasten mit
oder den Programmstart auf.
Leap und Tumbleweed so auf, dass auch dem Hinweis, dass Sie noch die dafür nö-

40 www.linux-user.de 06.2023
OpenSuse-Tipps: Gnome-Erweiterungen easy LINUX!

tige Browser-Erweiterung installieren


müssen. Das erledigt ein Klick auf den
Link Browser-Erweiterung installieren im
Kasten. Als Gegenstück für die Browser-
Erweiterung auf Ihrem System ist außer-
dem das Paket chrome-Gnome-shell unter
Leap, beziehungsweise Gnome-browser-
connector unter Tumbleweed erforder-
lich, das aber nach dem Einspielen des
Gnome-Desktops vorliegen sollte.
Öffnen Sie im Browser dann die Detail-
seite einer Gnome-Erweiterung, ist
rechts oben ein ON/​OFF-Schalter zu se-
hen. Bei Leap-Anwendern erscheint am
Anfang der Liste eine Warnung, dass der
lokale Host-Connector die API v6 nicht un-
terstützt. Dies liegt daran, dass der Gno-
me-Desktop unter Leap in einer alten
Version von 2021 vorliegt. Trotzdem kön-
nen Sie alle Extensions installieren, die
diese Gnome-Version unterstützen.
Dazu genügt es, den ON/​OFF-Schalter
nach rechts zu ziehen. Ist die Erweite- 1 gSnap bietet vordefinierte und editierbare Kachellayouts, in die ein Fenster nur grob
rung noch nicht installiert wird nachge- hineingezogen werden muss, damit es die Form des Bildschirmausschnitts annimmt.
fragt, ob Sie sie von extensions.​­Gnome.​
­org installieren möchten. Laden Sie nach
Bejahen die Extensions-Seite im Browser Mit Save Layout beenden Sie das Editie-
neu, tauchen neben dem Ein/​Aus-Schal- ren der Kacheln. Sie können darüber
ter ein Schraubenschlüssel-Icon für die ­hinaus neue Layouts erstellen oder be-
Einstellungen und ein roter Button zur stehende umbenennen. Sind an den
Deinstallation auf. Es kommt vor, dass Rechner mehrere Bildschirme ange-
der Konfigurations-Button im Browser schlossen, erscheinen im gSnap-Menü
streikt. Daher verwalten Sie Gnome-Er- Einträge wie Monitor 0 und Monitor 1,
weiterungen am besten in der Erweite- mit denen sich jedem Monitor geson-
rungen genannten Gnome-Anwendung. derte Anordnungen zuweisen lassen.
Ist in den Einstellungen von gSnap die
Option Hold CTRL to Snap windows aus-
Patchwork
gewählt, wird die Erweiterung nur noch
Die Gnome-Erweiterung gSnap  aktiv, wenn beim Ziehen eines Fensters
kommt dem in KDE erst für Tumbleweed die [Strg]-Taste gedrückt ist, ansonsten
verfügbaren neuen Kacheleditor relativ skalieren Sie die Fenster frei. Ganz aus-
1
nahe , steht für Gnome jedoch auch schalten lässt sich gSnap, indem Sie das
unter Leap zur Verfügung. Layout None auswählen. Ziehen Sie
Nach der Installation erscheint in der mehrere Fenster auf eine Kachel, zeigt
oberen Gnome-Leiste ein Kachelsymbol, gSnap am oberen Rand der Kachel But-
mit dessen Hilfe Sie eine Kachelanord- tons zum Umschalten zwischen den da­
nung auswählen 1 (rote Markierung rin abgelegten Fenstern. Letztere fallen
oben). Alternativ beschleunigen die Tas- allerdings optisch grob aus: Sie sind groß
tatur-Shortcuts [Alt] + [Windows/​Super] und zeigen lediglich den Fenstertitel als
+ [Tastenblock 1 bis 9] diese Auswahl. Text, aber keine Icons, die das Zuordnen
Das Leistenmenü enthält außerdem den erleichtern würden.
Eintrag Edit Layout. In der mit ihm geöff-
neten Layout-Vorschau skalieren Sie die
Immer alles im Blick
Kacheln per Maus. Ein linker Mausklick
auf eine Kachel unterteilt sie vertikal, ein Die Gnome-Erweiterung Forge  be-
Mittelklick horizontal. Ein Rechtsklick wegt sich mehr in Richtung der Tiling-
löscht eine Kachel. Window-Manager, die eine überschnei-

06.2023 www.linux-user.de 41
easy LINUX! OpenSuse-Tipps: Gnome-Erweiterungen

soll. Dabei erscheint ein rotes Rechteck,


das eine Vorschau der Neuaufteilung des
Bildschirms anzeigt.
Forge setzt anders als gSnap auf dyna-
mische, nicht auf statische Layouts: Star-
ten Sie eine neue Anwendung, passt die
Erweiterung sie automatisch ein, indem
sie andere Fenster halbiert. Zum Ändern
der Größe der Kacheln ist kein gesonder-
ter Editier-Modus erforderlich, es genügt,
eine Kante der gekachelten Fenster zu
verschieben. Die angrenzenden Fenster-
kanten folgen dann wie angeklebt.
Tiling Window-Manager finden beson-
ders bei Powerusern Anklang, die ihren
Rechner am liebsten per Tastatur-Short-
cuts steuern. Forge lässt sich zwar intuitiv
per Maus bedienen, jedoch auch per Tas-
tatur. Die aus dem Taskleisten-Icon für
Forge erreichbaren Einstellungen (Prefe-
rences) halten in der Rubrik Keyboard /
Window Shortcuts Kurzbefehle bereit um
2 Ist die Gnome-Erweiterung „Forge“ aktiv und im dann sichtbaren Leistenmenü scharf Fenster ohne Mausklick zu fokussieren
geschaltet, ordnet sie die Fenster automatisch gekachelt an. oder im Kachellayout zu verschieben.
[Windows/​Super] + [C] (toggle float /
Umfließen an/​aus) zieht das aktive Fens-
dungsfreie Anordnung der Fenster ter aus der Kachelanordnung heraus und
durchgängig erzwingen. Nach Aktivie- rückt es in den Vordergrund, wo es sich
rung verformt Forge die Fenster in ein frei skalieren lässt. Erneutes Drücken des
2
Kachellayout . Die Bedienung mit der Shortcuts passt es wieder ein. Fenster
Maus ist einfach. Ziehen Sie die Leiste ei- lassen sich mit [Windows/​Super] wie un-
nes Fensters an den Rand eines anderen, ter Gnome gewohnt maximieren und
an den es sich als Kachel anschließen wiederherstellen, woraufhin sie ihren
­alten Platz im Kachelgerüst einnehmen.
Eine interessante Möglichkeit bietet die
Rubrik Workspace. Hier können Sie Num-
mern virtueller Arbeitsflächen eingeben,
auf denen die Erweiterung inaktiv bleibt.
Global an- und abschalten lässt sich die
Kachelfunktion im Taskleisten-Menü.
Das in Gnome eingebaute Halbfens-
ter-Tiling durch Ziehen der Fensterleiste
an den seitlichen Bildschirmrand bleibt
auch nach Installation von Erweiterun-
gen für das Fenster-Tiling aktiv, schert
sich aber nicht um die dort eingestellten
Layouts. In den Einstellungen (erreichbar
über den Power/​Lautstärke-Button ganz
rechts in der oberen Leiste) unter Multi-
tasking deaktivieren Sie diese Aktiven
Bildschirmkanten .3
Bordwerkzeuge
Gnome öffnet nach Drücken der Win-
3 Die nur zur Bildschirmhalbierung dienlichen „Aktiven Bildschirmkanten“ schalten Sie dows/​Super-Taste seine charakteristische
bei Nutzung einer Tiling-Erweiterung aus, da die beiden Funktionen konkurrieren. Vollbild-Aktivitäten-Ansicht 4
, die An-

42 www.linux-user.de 06.2023
OpenSuse-Tipps: Gnome-Erweiterungen easy LINUX!

wendungsstarter, Fensterumschalter
und Verwaltung der virtuellen Arbeitsflä-
chen kombiniert. Auch wenn sich alle
diese Funktionen zügig mit Tastatur-
Shortcuts oder Mausaktionen bedienen
lassen, verlangt die Gnome-typische Lö-
sung Umsteigern, sei es von Windows
oder aus einer konventioneller gestalte-
ten Linux-Desktop-Umgebung, einiges
an Umgewöhnung ab.
Tatsächlich sind in den Gnome-Umge-
bungen unter OpenSuse einige Erweite-
rungen, die einen Umstieg erleichtern,
schon eingebaut. Die Gnome-Anwen-
dung Erweiterungen listet sie als mitgelie-
fert. Das Applications-Menu 5 gilt es nur
noch per Schiebeschalter zu aktivieren,
um in der oberen Leiste links vom Aktivi-
täten-Button ein klassisches Startmenü
(Anwendungen) hinzuzufügen.
Das Startmenü fällt im Vergleich zu
seinem KDE-Gegenstück relativ simpel
aus. Die Programmkategorien zeigt es 4 Die sich nach Drücken der Windows/​Super-Taste öffnende Aktivitäten-Ansicht kombi-
ohne Icons, die Programmeinträge selbst niert unter Gnome Programmstarter-Dock, Startmenü mit Suchfunktion sowie Fenster-
enthalten allerdings das gewohnte Pro- und Arbeitsflächenverwaltung. Die Komplexität ist gewöhnungsbedürftig.
grammsymbol. Per Rechtsklick lassen
sich die gewünschten Menüeinträge aus
der Rubrik Favoriten hinzufügen. Besitzer breiter Bildschirme müssen die
Unter OpenSuse-Leap klappt das Maus weit bewegen, um am unteren
Rechtsklick-Menü für das Startmenü in Rand rechts gelegene Einträge zu errei-
leider fehlerhafter Weise gleich nach chen. Für sie ist die Erweiterung Vertical
dem Loslassen der rechten Maustaste zu. Window List  praktischer, die eine Fens-
Es lässt sich notdürftig bedienen, indem terleiste mit horizontalen Einträgen an
Sie die rechte Maustaste gedrückt halten der linken Bildschirmkante anzeigt. Die
und erst über dem gewünschten Menü- braucht viel Platz in der Breite, doch der
punkt loslassen. Unter Tumbleweed ist
dieser Bug ausgebügelt. So können Sie
damit der Desktop-Fläche Anwendungs-
starter per Add to Desktop hinzufügen.
Sichtbar werden diese erst nach Aktivie-
rung der mitgelieferten Erweiterung
Desktop Icons, die unter Tumbleweed
nicht mehr funktioniert.
Die Erweiterung Window List, die eine
klassische Fensterleiste am unteren Bild-
6
schirmrand hinzufügt , ist jedoch so-
wohl unter Leap als auch Tumbleweed
standardmäßig an Bord und funktional.
Sie können wählen, ob die Leiste mehre-
re Fenster einer Anwendung immer, le-
diglich bei Platzmangel oder niemals
gruppiert. Ob sie auf allen Bildschirmen
zu sehen ist und ob sie Fenster aller vir-
tuellen Arbeitsflächen oder nur der aktu-
ellen verwaltet, ist auch einstellbar. Sie 5 Die bei OpenSuse mitgelieferte Erweiterung „Applications Menu“ stellt ein simples
lässt sich aber nicht an einen anderen Startmenü ohne Suchfunktion bereit. Die Standard-„Aktivitäten“-Übersicht mit ihrer
Bildschirmrand verschieben. Suchfunktion öffnet sich immer noch per Windows/​Super-Taste.

06.2023 www.linux-user.de 43
easy LINUX! OpenSuse-Tipps: Gnome-Erweiterungen

Unter Gnome stehen beim Zappen mit


[Alt] + [Tabulator] die Fenster aller Ar-
beitsflächen zur Wahl. Dies macht das
Umschalten bei zu vielen geöffneten
Fenstern zur Qual. Abhilfe schafft die Er-
weiterung Coverflow Alt-Tab . Die Ein-
stellung Current Wokrspace only in der
Rubrik Switcher Windows ist durch die
7
vielfältigen grafischen Effekte etwas
in den Hintergrund gedrängt.
Wer eine Erweiterung wünscht, die
den [Alt]+[Tab]-Switcher lediglich auf die
Programme der aktuellen Arbeitsfläche
beschränkt, ohne ihn sonst zu verän-
dern, kann unter Leap 15.4 die nicht
mehr weiterentwickelte Erweiterung Tab
Active Windows  benutzen.
Die Fensterverwaltung unter KDE ord-
6 Die Erweiterung „Window List“, hier wegen eines Updates nicht mehr als „mitgelie- net mit Fensterregeln einzelnen Program-
fert“ geführt, blendet die konventionelle Taskleiste am unteren Bildschirmrand ein. men eine Startgröße, Bildschirmposition
und virtuelle Arbeitsfläche zu. Die Plat-
zierung auf den virtuellen Arbeitsflächen
ist bei großen Monitoren schließlich vor- beim Start übernimmt unter Gnome die
handen. Die Erweiterung ist allerdings Erweiterung Auto Move Windows 8 .
nicht für Gnome 44 von Tumbleweed zu Sie ist aber noch nicht für Gnome 44 un-
haben. Das Datum der letzten Verände- ter Tumbleweed freigegeben.
rung vom August 2022 legt darüber
­hinaus nahe, dass sie auch unter dem im
Rücksichtnahme
Frühsommer verfügbaren Leap 15.5
nicht mehr funktionieren dürfte. Das auf Windows-Umsteiger ausgerichte-
te Ubuntu hat seinen Anwendern 2011
die eigenwillige Bedienung des damals
neuen Gnome 3 nicht zumuten wollen
und stattdessen den Unity-Desktop kre-
iert. Dabei handelte es sich um einen auf
Gnome basierenden Desktop, der jedoch
das sogenannte Dash zur Programmver-
waltung und zum Programmstart dauer-
haft angezeigt hat. 2017 ist Ubuntu zu
Gnome zurückgekehrt, jedoch nicht
ohne per Erweiterung das Dash ebenfalls
dauerhaft einzublenden.
Auch heute noch gibt es mehrere Ex-
tensions, die eine permanent eingeblen-
dete Starterpalette à la macOS nachrüs-
ten. Die bekannteste ist Dash to Dock ,
die die Ubuntu-Symbolleiste inklusive
­ihren charakteristischen Punkten zur Un-
terscheidung von laufenden und nicht
gestarteten Programmen nachbildet . 9
Standardmäßig ist das Dash so einge-
stellt, dass es hinter Vollbildprogrammen
verschwindet. Das lässt sich in den zahl-
reichen Einstellungen ebenso verändern,
7 „Coverflow-Alt-Tab“ motzt die Optik des Alt-Tab-Um- wie die Dock-Größe oder die Bildschirm-
schalters auf, ihre wichtigste Funktion ist aber „Zeige Fens- kante, an der es erscheint. Zum Starten
ter der aktuellen Arbeitsfläche oder aller Arbeitsflächen“. oder Wechseln zu den verwalteten An-

44 www.linux-user.de 06.2023
OpenSuse-Tipps: Gnome-Erweiterungen easy LINUX!

wendungen sind die Shortcuts [Win- vieren und noch in den


dows/​Super] + [Ziffer 1 bis 9] verfügbar, Dash to Panel-Einstellun-
wie es schon bei Unity der Fall war. Sogar gen unter Position die
KDE hat diese praktischen Tastenkürzel Schaltfläche Anwendungen
in seiner Taskleiste übernommen. abschalten, wird die Illusi-
Wer sich wie bei KDE eine den ganzen on sich unter KDE zu befin-
Bildschirmrand abdeckende Taskleiste den mit dem jetzt noch
wünscht, sollte Dash to Panel  benut- hinzugekommenen kon-
zen. Die von dieser Erweiterung bereit- ventionellen Startmenü
gestellte untere Leiste gleicht der Task- fast perfekt. Die Gnome-ty-
leiste mit Symbolen von KDE. Die als Favo- pische obere Leiste blendet
riten markierten Anwendungen sind Dash to Panel standardmä-
dort permanent zu sehen. Alle laufenden ßig ohnehin aus, was sich
Programme kommen mit einer weißen allerdings in ihren Einstel- 8 „Auto Move Windows“ sorgt dafür, dass bestimmte
Linie hervorgehoben hinzu, auch wenn lungen abschalten lässt. Programme direkt auf der in ihren Einstellungen festge-
sie sonst unsichtbar sind. legten virtuellen Arbeitsfläche starten.
Bei Mauskontakt erscheint eine
Fazit
Thumbnail-Vorschau des Programmfens-
ters. Bei mehreren Fenstern des gleichen Linux lebt von Alternativen. Selbst einge-
Programms wählen Sie per Vorschau in- fleischten KDE-Liebhabern ist es zu emp-
tuitiv die gewünschte Instanz. Größe, fehlen, sich als Alternative eine Gnome-
Bildschirmkante, Stil der Hervorhebung Desktop-Umgebung anzusehen und ein-
laufender Anwendungen und viele wei- zurichten. Wenn unter Tumbleweed ver-
tere Details lassen sich in den umfangrei- mutlich noch im Laufe des Jahres die ers-
chen Einstellungen konfigurieren. ten 6.0er-Versionen von KDE anrollen
Die schon vorgestellte mitgelieferte und die noch nicht die gewünschte Sta-
Erweiterung Applications Menu harmo- bilität aufweisen, bietet Gnome eine Aus-
niert mit Dash to Panel. Wenn Sie sie akti- weichmöglichkeit. (uba) █

Weitere Infos und


interessante Links
www.linux-user.de/qr/49049
9 „Dash to Dock“ bringt das Progammstarter-Dock auf den Desktop – wie bei Unity.

06.2023 www.linux-user.de 45
WIEDER AM FALSCH

... nicht mit

www.pcgh-gear.de
EN ENDE GESPART?

DIE PREMIUM-
WÄRMELEITPASTE
FÜR GAMER!

www.pcgh-gear.de
Raspberry Pi Void Linux

Void Linux für ARM- und Intel-CPUs

Schlanker Allrounder
Die meisten Distributionen basieren auf bekannten Vertretern es anpassungsfähiger macht als zahlrei­
che geforkte Distributionen. Anders als
wie Debian, OpenSuse Fedora oder Arch Linux. Native Ver­ viele Mainstream-Distros verzichtet
Void Linux auf einen grafischen Installer
sionen wie Void Linux bedeuten zwar eine steile Lernkurve, und nutzt stattdessen eine Ncurses-ba­
sierte Variante. Sofern Sie Wert auf eine
bieten aber etliche Vorteile. Anzela Minosi grafische Nutzeroberfläche legen, bringt
Void Linux hierfür diverse Desktopum­
gebungen mit.
Oft folgt beim ersten Booten nach der Insgesamt fallen Installation und Be­
Installation die große Ernüchterung: Die trieb bei Void Linux ressourcensparend
gewählte Desktopumgebung belegt die aus. Dementsprechend eignet sich die
Festplatte mit allerlei nicht benötigten Distribution auch für schwächere Rech­
Anwendungen, im Hintergrund laufende ner wie den Raspberry Pi. Allerdings er­
Prozesse schmälern die zur Verfügung wartet der Installer zumindest Grund­
README stehende Rechenleistung. Anders verhält lagenkenntnisse über Linux, womit sich
es sich mit Void Linux . Als Installa­ Void Linux eher an fortgeschrittene An­
Die Allround-Distribution Void Linux basiert
tionsmedium stehen, abgesehen vom wender richtet. Gleiches gilt für den kon­
auf dem nativen Paketverwaltungssystem vorinstallierten XFCE-Desktop, Basisin­ solenbasierten Paketmanager XBPS.
XBPS und nutzt das Rolling-Release-Prinzip. stallationen bereit, mit denen Sie die Dis­
tribution besser an Ihre Bedürfnisse an­
Sie eignet sich für x86_64-basierte Rechner
Installation
ebenso wie für den RasPi. Die aktuelle Ver­ passen und zweckorientierter einsetzen.
Das Installationsmedium besteht le­ Möchten Sie sich die durchaus an­
sion stammt vom Oktober 2022.
diglich aus den nötigsten Paketen, was spruchsvolle Installation erst einmal er­

48 www.linux-user.de 06.2023
Void Linux Raspberry Pi

sparen, laden Sie ein Live-Image mit der nicht bootet. Indem Sie
passenden Desktopumgebung herun­ unter BootLoader | Select
ter . Dabei entscheiden Sie sich zwi­ the disk to install the
schen der Basisversion (base) und der bootloader eine Festplat­
Version mit einem XFCE-Desktop. Der te angeben, legen Sie
Bootmanager gestattet das Laden des den Installationsort des
Systems in den Hauptspeicher, der dazu Bootloaders fest. Zur
allerdings mindestens 4 GByte umfassen Partitionierung stellen
muss. Alternativ wählen Sie die erste Op­ Sie unter Partition | Se-
tion, um das Live-Image auf einem freien lect the disk to partition
Platz auf der Festplatte zu installieren. die entsprechende Fest­
Den Installationsassistenten starten Sie platte ein, unter Select
auf der Konsole, indem Sie sich als root the software for partitio-
oder anon zusammen mit dem Passwort ning die gewünschte 1 Der Ncurses-basierte Void-Installer steht nur in der x86-
voidlinux einloggen und den Befehl Software. Zur Auswahl 64-Variante zur Verfügung.
v­ oid‑installer eingeben. steht unter anderem
Das Installationsmenü besteht aus elf Cfdisk, das speziell Ein­
Unterpunkten, wobei Sie damit begin­ 2
steigern das Einrichten erleichtert .
nen, das Tastaturlayout einzustellen. Un­ Vor der Partitionierung der Festplatte
ter Keyboard | Select your keymap wählen gilt es, die Partitionstabelle unter Modify
Sie das gewünschte aus, in Deutschland Partition Table on … einzurichten. Bei
für gewöhnlich de-latin1-nodeadkeys. Im handelsüblichen Festplatten und micro­
nächsten Schritt geht es unter Network SD-Karten eignen sich vor allem GPT be­
an das Einrichten der Netzwerkumge­ ziehungsweise DOS. Allerdings hängt die
bung. Für eine Standardinstallation mit Wahl unter anderem vom BIOS ab. Zum
einem Router als Gateway ins Internet Beispiel benötigt ein UEFI-BIOS eine Par­
nutzen Sie üblicherweise DHCP. Darauf­ titionstabelle auf GPT-Basis. Handelt es
hin geben Sie an, von welcher Quelle Sie sich um ein Legacy-BIOS, kommt die
die erforderlichen Pakete für die Installa­ ­Partitionstabelle DOS zum Einsatz.
tion verwenden möchten. Sie haben un­ Im nächsten Schritt zeigt der Installer
ter Source | Select installation source die den freien Platz vorhandener Partitionen
Wahl zwischen local, bei der die Pakete an. Zu Testzwecken genügen zwei Parti­
für die Installation vom ISO-Image stam­ tionen, die Boot- und Root-Partition,
men, und Network, das aktuelle Pakete Letztere enthält alle anderen Ordner
vom Online-Repository bezieht . 1 samt Unterordner und
Im Untermenü Hostname vergeben Sie Dateien. Markieren Sie
für den Rechner einen maximal 63 Zei­ zunächst die Zeile mit
chen langen Namen. Rechnernamen mit der Bezeichnung Free
vollem Domainnamen dürfen bis zu Space, danach klicken
253 Zeichen umfassen. Unter Locale | Se- Sie auf New. Nun be­
lect your locale passen Sie die Sprachein­ stimmen Sie die Größe
stellungen an (de_DE.UTF-8). Danach de­ der Partitionen. Für die
finieren Sie unter Timezone | Select area Boot-Partition, die Sie zu
und Select Location die Zeitzone. Beginn anlegen, brau­
Benutzerkonten richten Sie unter chen Sie etwa 1 GByte.
­UserAccount ein. Im Unterfenster Select Den restlichen Platz ver­
group membership … weisen Sie dem wenden Sie für die Root-
neuen Benutzer relevante Gruppen zu, Partition.
wobei die Standardeinstellungen zu­ Nach dem Festlegen
nächst ausreichen. Das generische Root- der Partitionsgröße geht
Passwort bleibt zwar nach der Installa­ es mit dem Partitionstyp
tion erhalten, Sie sollten es aus Sicher­ weiter. Für die Boot-Par­
heitsgründen jedoch zeitnah über das tition eines UEFI-BIOS
Untermenü RootPassword ändern. wählen Sie den Eintrag
Besonderes Augenmerk erfordert das EFI System aus, während
Einrichten der Festplatte, da bei Fehlkon­ sich für das Legacy-BIOS 2 Unter Void Linux lässt sich die Festplatte beispielsweise
figuration möglicherweise das System der Eintrag BIOS boot mittels Cfdisk partitionieren.

06.2023 www.linux-user.de 49
Raspberry Pi Void Linux

Für Boot-Partitionen nutzen Sie VFAT, die


Swap-Partition formatieren Sie üblicher­
weise mit dem Dateisystem Linux Swap.
Für alle weiteren Partitionen leistet Ext4
gute Dienste .4
Den Einhängepunkt legen Sie im Un­
terfenster Please specify the mount point
for … fest. Als Mount-Point der Boot-Par­
3 Einstellungen der Partitionierung übernimmt das System erst nach dem Bestätigen. tition eines UEFI-Systems kommt für ge­
wöhnlich /boot/efi zum Einsatz, bei
Rechnern mit Legacy-BIOS /boot. Für die
eignet. Für alle anderen Partitionen wie Root-Partition verwenden Sie in der Re­
Root- oder Heimatverzeichnis taugt der gel /, um darüber auf sämtliche Unter­
Partitionstyp Linux filesystem besser . 3 ordner einer Linux-Festplatte zuzugrei­
Optional richten Sie noch eine Swap- fen. Die eigentliche Installation erfolgt
Partition mit dem Partitionstyp Linux im Anschluss, indem Sie im Untermenü
swap ein. Nach Abschluss der Partitionie­ Install die zuvor vorgenommenen Ein­
rung markieren Sie jede Partition in der stellungen bestätigen . 5
Übersicht und drücken anschließend auf
den Schalter Write. Dadurch schreibt der
Installation auf dem RasPi
Installer für jede Partition die Änderun­
gen auf die Festplatte. Zurück zum Auf der Download-Seite von Void Linux
Hauptmenü gelangen Sie via Quit. steht unter anderem ein Image für den
Unter Filesystems defi­ RasPi bereit , das im AARCH64-Bit-Mo­
nieren Sie die Einhänge­ dus läuft. Mit dem Befehl aus der ersten
punkte der Partitionen, Zeile von Listing 1 kopieren Sie das
wobei die folgenden Image auf die microSD-Karte.
Einstellungen für jede Um den aktuellen Kernel zu ersetzen,
Partition gelten. Wählen mounten Sie anschließend die Boot-Par­
Sie unter Select the parti- tition mithilfe des Befehls aus der zwei­
tion to edit eine Partition ten Zeile. Falls Sie die Boot-Partition nicht
aus und geben Sie unter sofort finden, zeigt das Kommando
Select the filesystem type lsblk alle am Rechner angeschlossenen
das Dateisystem an. Laufwerke an. Den Kernel laden Sie ent­

4 Wie bei anderen Distributionen üblich legen Sie in 5 Der Void-Installer beginnt mit der Installation erst nach dem Bestäti-
Void Linux das Dateisystem für jede Partition einzeln fest. gen der Einstellungen.

Listing 1: Image und Kernel transferieren


01 
# xzcat void‑rpi‑aarch64‑Datum.img.xz | dd bs=4M of=Laufwerk status=progress; sync
02 
# mount Gerätename Einhängepunkt
03 
# cp kernel8.img Einhängepunkt

50 www.linux-user.de 06.2023
Void Linux Raspberry Pi

weder herunter  oder kompilieren ihn Des Weiteren über­


selbst . In beiden Fällen erhalten Sie prüfen Sie in der Da­
dadurch den Kernel als Image, den Sie in tei /etc/fstab, ob
das System kopieren (dritte Zeile). die Bezeichnungen
Für die Root-Partition besteht eben­ der einzelnen Parti­
falls Handlungsbedarf, da sie sich nicht tionen stimmen und
automatisch an die Größe der microSD- passen Sie gegebe­
Karte anpasst. Dem heruntergeladenen nenfalls wie zuvor für
Image fehlt ein Resize-Tool, weshalb die die Datei /boot/
Karte nicht voll ausgenutzt wird. Hierfür cmdline.txt an. Da­
weisen Sie über ein Tool wie GParted den nach hängen Sie die
verfügbaren Speicher der Root-Partition gemounteten Lauf­
zu. Des Weiteren fügen Sie dem System werke wieder aus
bei Bedarf außerdem eine Swap-Partition (Listing 3, erste zwei
nach der Root-Partition hinzu. Zeilen), und booten
Schließlich gilt es, die zwei bekannten, den RasPi von der
vom Raspberry Pi benötigten Konfigura­ ­microSD-Karte.
tionsdateien zu bearbeiten. In der Datei Im Prinzip unter­ 6 Mittels PulseAudio richten Sie die Tonausgabe von Void ­Linux
/boot/cmdline.txt sollten Sie die Iden­ scheidet sich das ein. Dazu benötigen Sie zunächst das Tool Pavucontrol.
tifikation der Root-Partition anpassen, Raspberry Pi Image
damit sie nach dem Booten gefunden nicht so sehr von der
wird. Dazu verwenden Sie entweder die weiter oben beschriebenen Basis-Instal­
UUID oder die PartUUID, die das Kom­ lation für x86-64-basierte Computer. Es
mando # blkid Gerätename ermittelt. beherbergt ebenfalls keine grafische
Die Konfigurationsdatei /boot/con‑ Oberfläche. Zudem existiert kein Benut­
fig.txt enthält unter anderem Angaben zerkonto, sodass Sie es erst noch erstel­
bezüglich des Monitors. Zusätzlich lassen len müssen (Listing 3, Zeilen 3 und 4).
sich darüber unter anderem die CPU Damit der Benutzer über ausreichend
übertakten und Einstellungen zu den Rechte verfügt, ordnen Sie ihn unter­
USB-Anschlüssen sowie Einstellungen an schiedlichen Gruppen zu (Zeilen 5 und 6
der Hardware wie Grafik-Chip oder von Listing 3).
Sound-Chip vornehmen (Listing 2).
Multimedia
Listing 2: /boot/config.txt In der Regel bestehen beide Images nach
## /boot/config.txt
der Installation aus veralteten Paketen,

## USB‑Ports mit maximalen Strom


versorgen Verfügbare Desktops
max_usb_current=1
Desktop Version Softwarepakete
## GPU‑Größe einstellen
Cinnamon 5.4.9 cinnamon, cinnamon-all
gpu_mem=RAM
Enlightenment 0.25.4 enlightenment
## Onboard‑Sound anschalten
Gnome 43.0 gnome, gnome-apps
dtparam=audio=on
## Monitor‑Einstellungen bei HDMI LXDE 0.5.0 lxde

hdmi_drive=HDMI‑Anschluss LXQt 1.2.0 lxqt


hdmi_group=HDMI‑Gruppe Mate 1.26.0 mate, mate-extras
hdmi_mode=HDMI‑Mode XFCE 4.18.0 xfce4, xfce4-plugins

Listing 3: Image aushängen und Nutzer anlegen


01 
# umount Gerätename 04 #
 passwd Benutzername
02 
# sync 05 #
 cat /etc/group
03 
# useradd ‑m Benutzername 06 #
 usermod ‑a Benutzername ‑G Gruppe

06.2023 www.linux-user.de 51
Raspberry Pi Void Linux

weswegen sich eine dio und pavucontrol. Danach öffnen Sie


Systemaktualisierung Pavucontrol, welches Sie im Startmenü
via # xbps‑install unter PulseAudio Volume Control finden.
‑Su empfiehlt. Die Einstellungen Sound Settings | Output
Grundsätzlich brau­ erlauben es, das Standard-Audiogerät an­
chen Sie für die Desk­ zuzeigen oder zu testen. Sollte beim Ab­
topumgebung einen spielen einer Audio- oder Videodatei kein
Display-Manager, der Ton erklingen, wählen Sie im Tab Applica-
das Anmeldefenster tions das passende Audiogerät aus .6
und einen Window-
Manager realisiert,
Zahlen, Daten, Fakten
der die Desktop-Um­
7 Laut der Systeminformationen handelt es sich bei gebung bereitstellt Etliche Werkzeuge ermöglichen es, Infor­
Void L­ inux um eine Rolling-Release-Distribution. (siehe Tabelle Verfüg­ mationen zu Void Linux zu beziehen. Bei­
bare Desktops). spielsweise gibt der Befehl uname ‑a die
Um beispielsweise Kernel-Version aus, mit dem das System
den Cinnamon-Desktop zusammen mit gebootet wird – zum Testzeitpunkt
SDDM zu installieren, gehen Sie wie in 5.15.72_1. Daneben überprüfen Sie mit
Listing 4 beschrieben vor. Damit SDDM glxinfo | grep OpenGL, ob der instal­
nach der Installation das Anmeldefenster lierte Grafikkartentreiber OpenGL unter­
startet, benötigt das System diverse Ver­ stützt. Desktop-Umgebungen bringen
linkungen mit dem Sitzungsmanager, teilweise grafische Tools mit, um System­
bekannt als Init-System. Dadurch teilen informationen anzuzeigen. Bei Cinna­
Sie Void Linux explizit mit, dass SDDM 7
mon erledigt das System Info .
nach dem Booten startet. Um später die Im Leerlauf beansprucht die ARM-Vari­
Einstellungen des Netzwerks auf der gra­ ante einschließlich dem Cinnamon-Desk­
fischen Oberfläche vorzunehmen starten top lediglich knapp 500 MByte an Ar­
Sie den Networkmanager als Hinter­ beitsspeicher. Void Linux eignet sich
grundprozess. Außerdem müssen Sie demzufolge gut für weniger leistungs­
­D-Bus nach dem Booten starten. starke Rechner wie den RasPi. Außerdem
Abgesehen von der passenden Desk­ nimmt die Basisinstallation samt Desk­
topumgebung müssen Sie den Grafik­ topumgebung nur wenig Platz in An­
kartentreiber mesa‑dri einbinden. Da­ spruch, sodass die Distribution für den
nach schalten Sie in der Konfigurations­ Servereinsatz infrage kommt.
datei /boot/config.txt den Grafikkar­
tentreiber des Kernels mit dtover‑
Fazit
lay=vc4‑kms‑v3d ein. Ein # reboot akti­
viert die Einstellungn. Einsteiger sollten sich eher für die x64-
Im Grunde handelt es sich bei Variante entscheiden, da sie sich ver­
Void ­Linux um eine abgespeckte Linux- gleichsweise einfach installieren lässt.
Distribution, wovon Sie sich selbst ein Fortgeschrittene Anwender, die eine
Bild machen können, indem Sie das maßgeschneiderte Installation gemäß
Startmenü etwa von Cinnamon öffnen. der Dokumentation von Void Linux vor­
Üblicherweise müssen Sie weitere Stan­ nehmen möchten, müssen weitere Infor­
dardanwendungen wie ein Screenshot- mationsquellen konsultieren. Die Anlei­
Tool oder Bildbetrachter nachinstallieren. tungen fallen nicht so zahlreich und voll­
Dasselbe gilt für Audio: Um beispielswei­ ständig aus, wie etwa bei Arch Linux.
Dateien zum Artikel se den Ton von PulseAudio regeln zu las­ ­Dafür arbeitet der native Paketmanager
herunterladen unter sen, installieren Sie die Pakete pulseau‑ XBPS flott und simpel. (tle) █
www.linux-user.de/dl/48556

Listing 4: Desktop installieren


# xbps‑install sddm cinnamon cinnamon‑all xorg mesa‑dri
Weitere Infos und # ln ‑s /etc/sv/sddm /var/service
interessante Links
# ln ‑s /etc/sv/NetworkManager /var/service
www.linux-user.de/qr/48556
# ln ‑s /etc/sv/dbus /var/service

52 www.linux-user.de 06.2023
PROBELESEN
OHNE RISIKO
TESTEN SIE JETZT 3 AUSGABEN FÜR 19 €
OHNE DVD 15 €

Abo-Vorteile

33%
-G UTSCH
EIN
Rabatt
5 EURO
Günstiger als am Kiosk
Versandkostenfrei
SICHERN SIE SICH bequem per Post
Pünktlich und aktuell
JETZT IHR GESCHENK! Keine Ausgabe verpassen
EIN AMAZON-GUTSCHEIN ÜBER 5,00 €

Telefon: 0911 / 993 990 98 E-Mail: computec@dpv.de


Einfach bequem online bestellen: shop.linuxuser.de
Künstliche Intelligenz auf dem Raspberry Pi

© Nadiya Prokhorova / 123RF.com


Lernfähig
Für den Einsatz von KI braucht es nicht unbedingt leistungs- vorgefertigten Methoden und Anwen-
dungen, in denen KI dazu dient, sie in der
starke Computersysteme. Wir zeigen, was KI auf dem Rasp- Praxis einzusetzen.
Die Grundlage der Prozesse bildet das
berry Pi voraussetzt, und für welche Aufgaben sich der Klein- maschinelle Lernen (ML), das auf selbst-
adaptiven Algorithmen beruht, die mit-
computer eignet. Erik Bärwaldt hilfe von Referenzdaten Informationen
verarbeiten. Deep Learning als Teilbe-
reich nutzt dabei künstliche neuronale
Netze, die aus mehreren hierarchischen
Künstliche Intelligenz (KI) ist nicht zu- Verarbeitungsschichten bestehen. Die
letzt dank ChatGPT in aller Munde. Die Neuronen des Netzes sind vielfältig un-
Fähigkeiten, die KI entwickelt hat, gehen tereinander verbunden, wobei die einzel-
selbstverständlich über kleine Schwätz- nen Schichten die erhaltenen Referenz-
chen mit einem Chatbot hinaus – bei- daten zunehmend abstrahieren. Am
README spielsweise lassen sich mit ihrer Hilfe Ende werden aus den Ergebnissen Lö-
akustische Sprachsignale verarbeiten, au- sungen oder Aktionen abgeleitet.
Der Hype um KI und ML macht auch vor
tonomes Fahren funktioniert erst durch
dem Raspberry Pi nicht halt. Der Kleincom- sie. Für einige Anwendungen ebenso wie
TensorFlow
für das Generieren von KI-Modellen sind
puter eignet sich in diesem Kontext durch-
Rechner mit leistungsstarken Prozesso- Hinter dem im Jahr 2015 von Google AI
aus für produktive Anwendungen im Em- ren, viel Speicherplatz und ausreichend veröffentlichten TensorFlow  steckt ein
RAM nötig. Kleincomputer wie der Rasp- Open-Source-Framework, das verspricht,
bedded- und IoT-Bereich.
berry Pi profitieren dagegen eher von die Entwicklung und das Training von

54 www.linux-user.de 06.2023
TensorFlow-KI und RasPi Raspberry Pi

Deep-Learning-Modellen zu vereinfa- dd if=<I>/<Pfad>/<zum>/<Betriebs


chen. TensorFlow unterstützt zahlreiche systemabbild>\<I> of=/dev/mmcblk0
Programmiersprachen und lässt sich zu bs=4M
unterschiedlichen Zwecken gebrauchen:
Es kommt bei der linguistischen Daten- Achten Sie darauf, dass die microSD-Kar-
verarbeitung in Form verschiedener te einen schnellen Lese- und Schreib­
Google-Dienste zum Einsatz, lässt sich modus erlaubt: Sie sollten mindestens
aber genauso zur Erkennung und Klassi- die Class-10-Spezifikation verwenden.
fizierung von Mustern und Objekten in Starten Sie den Raspberry Pi von der SD-
Bildern heranziehen. Karte und wenden Sie sich der grafischen
TensorFlow Lite  ist eine speziell für Grundkonfiguration des Systems zu. Da-
den Embedded- und IoT-Bereich entwor- bei sollten Sie mithilfe der Befehle sudo
fene Lösung, die deren hardwareseitige apt‑get update und sudo apt‑get up‑
Einschränkungen adressiert. Die Version grade das Betriebssystem aktualisieren.
kommt ohne Internetzugang aus, da sie Möchten Sie eine externe Kamera für
keine Daten an Server sendet. Das trägt die Objekterkennung nutzen, schließen
nicht nur dem Datenschutz Rechnung, Sie diese an den Kleincomputer an und
sondern vermeidet zudem Latenzen und installieren eine Anwendung, die auf die
der Energiebedarf sinkt. Allerdings taugt Kamera zugreift. Hierzu kommen etwa
TensorFlow Lite nicht zum Training von das grafische Tool Cheese oder das Kom-
Modellen, sondern lediglich dazu bereits mandozeilenwerkzeug Fswebcam infra-
trainierte Modelle anzuwenden. Dabei ge. Zudem sollten Sie sich bei einer exter-
nutzt das Framework reduzierte Modell- nen USB-Kamera vergewissern, dass sie
größen, wobei die Modelle sich jedoch eine ausreichende Auflösung bietet. Hier
ebenfalls für verschiedene Zwecke ver- gilt die Regel: Je weniger deutliche Un-
wenden lassen. Google stellt darüber terscheidungsmerkmale die zu erken-
­hinaus eine Webseite zum Generieren nenden Objekte aufweisen, desto höher
von Modellen anhand von Objektklassifi- sollte die Auflösung der Kamera sein. Ver-
zierungen zur Verfügung, mit deren Hilfe wenden Sie die RasPi-Kamera, muss sie
Sie Ihr eigenes Modell anlegen und in bereits vor dem ersten Hochfahren des
TensorFlow Lite nutzen können. Systems an den Kameraport des Einplati-
Um auf dem Raspberry Pi mithilfe von nencomputers angeschlossen sein.
TensorFlow Lite Objekte erkennen zu
können, benötigen Sie ein Gerät der vier-
Installieren
ten Generation mit einer zusätzlich ange-
schlossenen Kamera. Zwar eignen sich Aufgrund der rasanten technischen Ent-
Vertreter der dritten Generation prinzipi- wicklung im Bereich des Deep Learning
ell für KI-Anwendungen, arbeiten aber und der vielen benötigten Komponen-
aufgrund ihrer Hardwareeinschränkun-
gen vor allem beim Arbeitsspeicher da-
bei sehr langsam. Bei der Kamera für KI-
Applikationen spielt es keine Rolle, ob Sie
sich für eine speziell für den Kleincompu-
ter entwickelte und direkt an diesen an-
geschlossene Kamera oder eine beliebige
USB-Kamera entscheiden. Wenn Sie eine
externe Kamera bevorzugen, sollten Sie
allerdings darauf achten, dass Raspber-
ry Pi OS Ihr Modell unterstützt.
Im ersten Schritt laden Sie sich die ak-
tuelle 64-Bit-Release von Raspberry Pi OS
 herunter und transferieren sie auf eine
mindestens 16 GByte umfassende mi-
croSD-Karte. Dazu bedienen Sie sich ent-
weder eines grafischen Werkzeugs wie
Balena Etcher oder geben am Prompt
folgenden Befehl ein. 1 Raspberry Pi OS braucht für die Nutzung mit KI Anpassungen.

06.2023 www.linux-user.de 55
Raspberry Pi TensorFlow-KI und RasPi

Treffen diese Vorausset-


zungen zu, müssen Sie
die Swap-Größe des Sys-
tems anpassen. Voreinge-
stellt werden beim Rasp-
berry Pi 4 lediglich
100 MByte als Swap-Lauf-
werk reserviert. Diesen
Wert sollten Sie, sofern Sie
einen Raspberry Pi 4 mit
4 GByte RAM nutzen, auf
4 GByte Swap-Umfang er-
höhen. Da Raspber-
ry Pi OS den Swap-Spei-
cher jedoch auf maximal
2 GByte limitiert, müssen
Sie dazu zwei Dateien be-
arbeiten. Zunächst deakti-
vieren Sie den Swapspei-
2 Mithilfe der Entwicklungsumgebung Code::Blocks nutzen Sie KI-Modelle. cher mit dem Befehl sudo
dphys‑swapfile swa‑
poff. Danach öffnen Sie
ten gestaltet sich die Installation von mit einem Editor die Datei /sbin/
TensorFlow Lite auf dem Raspberry Pi dphys‑swapfile und suchen darin den
nicht trivial und ist kaum schnell erle- Parameter CONF_MAXSWAP. Den dahinter
digt. Wegen ständig wechselnder Ab- angegebenen Wert setzen Sie auf 4096
hängigkeiten und neuer Versionen, lässt und speichern Ihre Änderung. In einer
sich an dieser Stelle keine universelle An- zweiten Datei /etc/dphys‑swapfile hal-
leitung geben. Allerdings sollten Sie un- ten Sie Ausschau nach der Option CONF_
bedingt sicherstellen, dass Sie die 64-Bit- SWAPSIZE=100. Den Wert 100 ersetzen Sie
Variante von Raspberry Pi OS einsetzen. dann bei einem Raspberry Pi 4 mit
Der Befehl uname ‑a am Prompt über- 4 GByte RAM durch 4096. Bei einem Ge-
prüft die korrekte Version des Betriebs- rät mit lediglich 2 GByte RAM sollte die
systems. In der Ausgabe muss daraufhin Swap-Größe ebenfalls 4096 MByte betra-
der Parameter aarch64 auftauchen. Fehlt gen, bei einem Modell mit 8 GByte RAM
er, liegt die 32-Bit-Variante von Raspber- genügen dagegen 2048 MByte. Nach
ry Pi OS vor, die ein befriedigendes Ar- dem Sichern der modifizierten Datei akti-
beiten mit TensorFlow Lite ausschließt. vieren Sie die neue Swap-Größe mithilfe
Außerdem muss die korrekte, dazu pas- des Befehls sudo dphys‑swapfile swa‑
sende Version des C++-Compilers instal- pon. Letztlich überprüfen Sie die Größe
liert sein. Diese liefert Ihnen das Einge- via free ‑m im Terminal .1
ben des Befehls gcc ‑v am Prompt. Die Entspricht alles den Vorgaben, können
Ausgabe hierbei muss ‑‑tar‑ Sie TensorFlow Lite installieren. Die Soft-
get=aarch64‑linux‑gnu lauten. ware kann mit Python arbeiten, aller-
dings sind die C++-API-Bibliotheken we-
gen der wesentlich besseren Verarbei-
Listing 1: Installieren von TensorFlow Lite tungsgeschwindigkeit vorzuziehen.
$ sudo apt‑get install cmake curl
­Listing 1 zeigt, wie Sie TensorFlow Lite in
der Version 2.6.0 inklusive aller Abhän-
$ wget ‑O tensorflow.zip \ https://github.com/tensorflow/tensorflow/
gigkeiten beziehen und mithilfe von C++
archive/v2.6.0.zip
kompilieren. Der Kompiliervorgang be-
$ unzip tensorflow.zip ansprucht eine gute halbe Stunde Zeit.
$ mv tensorflow‑2.6.0 tensorflow Nach dem Kompilieren müssen Sie
$ cd tensorflow modifizierte TensorFlow-Lite-Flatbuf-
$ ./tensorflow/lite/tools/make/download_dependencies.sh fers  installieren, weil ansonsten zahl-
reiche GCC-Fehlermeldungen auftau-
$ ./tensorflow/lite/tools/make/build_aarch64_lib.sh
chen. In Listing 2 sehen Sie, wie Sie die

56 www.linux-user.de 06.2023
TensorFlow-KI und RasPi Raspberry Pi

alten Flatbuffers entfernen, und sie durch


eine fehlerbereinigte Version ersetzen.
Diese Anpassung ist nötig, da die ur-
sprünglichen TensorFlow-Flatbuffers
nicht mehr mit aktuellen GCC-Versionen
harmonieren. Die fehlerbereinigte Varian-
te ersetzt die veralteten Serialisierungsbi-
bliotheken durch angepasste Versionen.

Optionen
TensorFlow Lite bietet Anwendern die
Option, anhand vorgefertigter Modelle
Objekte zu erkennen. Darüber hinaus las-
sen sich Gegenstände in Bildern klassifi-
zieren. Eigene Modelle können Sie jedoch
nur in der „ausgewachsenen“ Variante
TensorFlow anlegen. TensorFlow Lite und
ein Raspberry Pi scheiden aus, da es hier-
zu sehr viel Rechenleistung braucht. Viel-
fach wird daher empfohlen, neue Model-
le anhand von Referenzdaten mithilfe
von GPU-Prozessoren kreieren zu lassen,
da diese die nötigen Berechnungen deut- 3 Die Elemente der Objekterkennung sehen Sie im originalen Bild mitsamt einer Pro-
lich schneller ausführen als CPUs. Die in zentangabe, die die Wahrscheinlichkeit der korrekten Erkennung ausdrückt.
TensorFlow generierten Modelle sind zu-
dem nicht kompatibel mit Tensor-
Flow Lite, sodass Sie sie erst konvertieren des Skript auf Github publiziert, mit dem
müssen, bevor Sie sie in der Lite-Variante Sie diese Arbeitsschritte umgehen. Dazu
gebrauchen können. ­Google hat für Ten- nutzen Sie den Code aus Listing 3.
sorFlow Lite bereits zahlreiche Modelle In einem letzten Schritt müssen Sie die
angelegt, die Sie auf dem Raspberry Pi grafische Code::Blocks-Entwicklungsum-
verwenden können. Für die Konvertie- gebung  in das System integrieren. Mit
rung von Modellen in das TensorFlow-­ ihrer Hilfe können Sie anschließend unter
Lite-Format stellt Ihnen die Webseite des Mitwirkung von TensorFlow Lite und
TensorFlow-Projekts detaillierte Informa- OpenCV verschiedene Beispielnetze dazu
tionen zur Verfügung . heranziehen, Objekte zu erkennen und
zu klassifizieren. Darüber hinaus wenden
OpenCV
Mit der Open Source Computer Vision Listing 2: Flatbuffers installieren
­Library (OpenCV)  können Sie ein wei- $ cd tensorflow/lite/tools/make/downloads
teres Set von Bibliotheken mit Ihrem
$ rm ‑rf flatbuffers
Raspberry Pi nutzen. OpenCV dient der
Gesten-, Gesichts- und Objekterkennung $ git clone ‑b v2.0.0 ‑‑depth=1 ‑‑recursive \ https://github.com/
sowie der Klassifizierung von Objekten. google/flatbuffers.git
Das DNN-Modul von OpenCV kann dazu $ cd flatbuffers
mit vortrainierten Netzen arbeiten und $ mkdir build
lässt sich gemeinsam mit TensorFlow Lite $ cd build
einsetzen. Um OpenCV auf dem Rasp­
$ cmake ..
berry Pi zu installieren, müssen Sie ex­
$ make ‑j4
trem viele Abhängigkeiten berücksichti-
gen. Zusätzlich müssen Sie beim Kompi- $ sudo make install
lieren sehr viele Flags manuell angeben. $ sudo ldconfig
Der niederländische KI-Spezialist Q-engi- $ cd ~
neering  hat deswegen ein frei verfüg-
$ rm tensorflow.zip
bares und unter einer BSD-Lizenz stehen-

06.2023 www.linux-user.de 57
Raspberry Pi TensorFlow-KI und RasPi

sammeln . Anstelle der mitgelieferten


Beispielfotos und MP4-Videos können Sie
selbstverständlich eigene Bilder oder Vi-
deodateien von der Raspberry-Pi-Kamera
verwenden. Dazu brauchen Sie sie ledig-
lich in die entsprechenden Verzeichnisse
zu kopieren und in Code::Blocks als Para-
meter anzugeben . 3
Eigene Modelle generieren
Da sich eigene Modelle auf Kleincompu-
tern nicht trainieren lassen, bietet
­Google Anwendern mit der Webseite
https://​­teachablemachine.​­withgoogle.​
­com/​­train/​­image ein webbasiertes Werk-
zeug, mit dessen Hilfe sie eigene Modelle
kreieren. Das Tool eignet sich für ver-
schiedene Modelltypen und gibt sie an-
4 Mithilfe eines webbasierten Werkzeugs können Sie auch eigene Modelle anlegen. schließend als Datei im TensorFlow-For-
mat aus, sodass Sie das Modell nach einer
entsprechenden Konvertierung in der Li-
Sie diese Möglichkeiten nicht nur auf te-Variante nutzen können. Bitte beach-
­Fotos an, sondern auch in einem Live- ten Sie jedoch, dass für das Generieren ei-
Stream von der angeschlossenen Kame- nes Modells beispielsweise für die Ob-
ra. Code::Blocks harmoniert mit den Pro- jekterkennung auf Bildern und Fotogra-
grammiersprachen C und C++ und eig- fien mehrere Hundert Vorlagen erforder-
net sich deswegen hervorragend für KI- lich sind, die Sie hochladen müssen. Die
Anwendungen. Der Befehl sudo apt‑get Vorlagen sollten zudem hochauflösend
install codeblocks installiert das Paket. sein, um später eine hohe Treffergenauig-
Dabei legt die Routine auf dem Desktop keit zu erzielen. Für die Nutzung des
und in der Menühierarchie von Raspber- Werkzeugs sollten Sie daher mehrere
2
ry Pi OS selbsttätig einen Starter an . Stunden Zeitaufwand einplanen . 4
Beispiele Fazit
Nach Abschluss der Installationsarbeit, KI-Anwendungen mit TensorFlow Lite
können Sie einige Beispielszenarien tes- und OpenCV gelten als etablierte Werk-
ten. Dazu können Sie auf eine ganze Rei- zeuge und lassen sich produktiv einset-
he bereits vorgefertigter und trainierter zen. Doch die einzelnen Bibliotheken
Codebeispiele von Q-engineering zu- und Frameworks auf dem Raspberry Pi
rückgreifen, die auf dem Raspberry Pi 4 zu installieren, verlangt viel Zeit und
sogar bei Live-Streams sehr gute Ergeb- Mühe – zumal die Dokumentationen
nisse erzielen . Auch hier kommt häufig entweder veraltet sind oder dürf-
­Code::Blocks zum Einsatz, wobei es in tig ausfallen. Deswegen empfiehlt es
den englischsprachigen Tutorials sogar sich, auf Tutorials aktuellen Datums und
Slide-Shows von Screenshots gibt, um Beispiele zurückzugreifen, um sich suk-
Dateien zum Artikel Programmierlaien zu ermöglichen, erste zessive in KI-Anwendungen auf dem
herunterladen unter Erfahrungen mit KI-Anwendungen zu Kleincomputer einzuarbeiten. csi █
www.linux-user.de/dl/49260

Listing 3: OpenCV-Skript installieren und ausführen


$ wget https://github.com/Qengineering/
Weitere Infos und Install‑OpenCV‑Raspberry‑Pi‑64‑bits/raw/main/OpenCV‑4‑5‑5.sh
interessante Links
$ sudo chmod 755 ./OpenCV‑4‑5‑5.sh
www.linux-user.de/qr/49260
$ ./OpenCV‑4‑5‑5.sh

58 www.linux-user.de 06.2023
MAGAZIN -GUT SCHEIN
5 EURO

SICHERN SIE SICH JETZT IHR GESCHENK!


EIN AMAZON-GUTSCHEIN ÜBER 5,00 €

33 %
Rabatt
TESTEN SIE
3 AUSGABEN
FÜR 21,00 €
OHNE DVD 17,00 €

ABO-VORTEILE
• Günstiger als am Kiosk
• Versandkostenfrei
bequem per Post
• Pünktlich und aktuell
Telefon: 0911 / 9939 90 98
• Keine Ausgabe verpassen
E-Mail: computec@dpv.de

Einfach bequem online bestellen: shop.linux-magazin.de


© Anna Vaczi / 123RF.com

Tipi hat nicht zuletzt der Raspberry Pi beige-


tragen, indem er viele Nutzer zum Experi-

Schaltzentrale
mentieren anregte. Das Spektrum geeig-
neter Hardware reicht selbstverständlich
deutlich weiter: von Geräten wie dem be-
reits außer Dienst gestellten Notebook
oder PC über virtuelle Maschinen bis hin
zum gemieteten V-Server im Netz.
Mit Tipi haben Sie über 100 Anwendungen und Dienste kom- Um nicht jeden Dienst selbst in einen
Container packen und konfigurieren zu
plett unter Ihrer Kontrolle. Zur Installation der Apps genügt müssen, tauchten vermehrt Homeser-
ver-Manager auf, beispielsweise die
ein Mausklick. Ferdinand Thommes Werkzeuge DietPi sowie ­Yunohost, Mist-
born oder Nethserver, über die wir in frü-
heren LinuxUser-Ausgaben  be-
reits berichtet haben. Seit dem Som-
mer 2022 gibt es mit Tipi  vom Schwei-
README Um Ihre Daten unter eigener Kontrolle zer Entwickler Nicolas Meienberger 
zu behalten und nicht auf unbekannte eine weitere Alternative.
Der Homeserver-Manager Tipi bietet mehr
Server auszulagern, besteht der gängige
als 100 Apps zur Installation in Docker-Contai- Weg darin, die Dienste selbst zu hosten.
Verwaltungsschnittstelle
nern an. Vertiefte Kenntnisse über Netzwerke Inzwischen fällt es auch technisch weni-
ger affinen Anwendern leichter, einen Hinter Tipi steckt im Wesentlichen eine
und Container braucht es dabei nicht.
kleinen Homeserver zu betreiben. Dazu Verwaltungsschnittstelle für Anwendun-

60 www.linux-user.de 06.2023
Tipi Netz&System

gen und Dienste, die Sie auf Ihrem Heim-


server betreiben möchten, ohne dabei
als Einsteiger in die Welt der Homeserver
tiefere Fachkenntnisse über das Aufset-
zen und Verwalten des Server-Betriebs-
systems mitbringen zu müssen. Das Tool
bietet derzeit über 100 Apps im Ein-Klick-
Verfahren zur Installation an . Sie müs-
sen sich zunächst weder um das Aufset-
zen des Netzwerks noch um die Konfigu-
ration der Apps kümmern, können je-
doch später die Einstellungen jeder ein-
zelnen Anwendung anpassen.
Tipi selbst setzt vier Container auf, die
Apps landen alle in jeweils eigenen
­Docker-Containern. Unter der Webadres-
se demo.​­runtipi.​­com können Sie das Pro-
gramm vorab als Demo testen. Als User- 1 Am Ende der kurzen Installation setzt Tipi die vier benötigten Container auf.
name tragen Sie user@runtipi.com ein,
das Passwort lautet runtipi.
Vor der Installation gilt es zu entschei- alle gängigen Router finden Sie auf der
den, ob Sie die angebotenen Anwendun- Webseite https://​­portforward.​­com/.
gen und Dienste auf Ihr Heimnetzwerk
beschränken, oder ob Sie zudem von au-
Installation
ßen zugreifen möchten. Im letzteren Fall
geben Sie für das jeweilige Gerät neben Das Tool zu installieren, gestaltet sich
Port 80 auch Port 443 per Portforwarding denkbar einfach. Als Grundlage emp-
in Ihrem Router frei. Anleitungen dazu für fiehlt der Entwickler ein aktuelles Ubuntu
ab Version 18.04 vorzugsweise in der Ser-
ver-Variante, andere Distributionen soll-
Domain für das Tipi-Dashboard ten aber genauso gut funktionieren. Da­
hinzufügen rüber hinaus laden Sie lediglich ein In­
stallationsskript herunter und führen es
Im ersten Schritt laden Sie das Installa­
aus. In wenigen Augenblicken erhalten
tionsskript herunter.
Sie eine URL für die Benutzeroberfläche.
git clone https://github.com/
Sollten Sie Docker und Docker Compose
meienberger/runtipi.git bereits installiert haben, übernimmt das
Danach erstellen Sie eine Konfigurations- Skript Ihre Vorgaben. Ansonsten bezie-
datei sudo nano /runtipi/state/ hen Sie beide Anwendungen während
settings.json und fügen dort folgende der Installation von Tipi. Tipi wird stan-
Zeilen ein. dardmäßig auf Port 80 ausgeführt 12 .
{
"domain": "yourdomain.com"
}
In den hinteren Anführungszeichen steht
selbstverständlich statt des Platzhalters
Ihre eigene Domain. Um eine gültige JSON-
Datei zu erhalten, muss die Textzeile genau
einen Tabulatorstopp vom Rand entfernt
sein. Zum Schluss speichern Sie die Datei
zum Beispiel in Nano mit [Strg]+[O] und
schließen die Konfigurationsdatei mit
[Strg]+[X]. Jetzt starten Sie die Installa­
tion aus dem Verzeichnis runtipi mittels
sudo ./scripts/start.sh.
2 Letztlich verrät Tipi Ihnen die URL, unter der Sie die Bedienoberfläche erreichen.

06.2023 www.linux-user.de 61
Netz&System Tipi

./scripts/start.sh ‑‑port 8001 oder


einen anderen ungenutzten Port einge-
ben. Diesen müssen Sie daraufhin eben-
falls per Portforwarding im Router freige-
ben. Wie Sie schon vor der Installation
Ihre Domain an das Tipi-Dashboard bin-
den, erfahren Sie im Kasten Domain für
das Tipi-Dashboard hinzufügen.
Bevor Sie zu installieren beginnen,
kontrollieren Sie, ob Ihre Distribution das
Paket Curl enthält. Bei Ubuntu trifft das
beispielsweise nicht zu. Wir haben für un-
seren Test einen LXC-Container in Prox-
mox mit Ubuntu 22.04 in der Server-Ver-
3 Das Dashboard zeigt Speichermedium, CPU-Auslastung und Arbeitsspeicher an. sion genutzt. Während der rund zwei Mi-
nuten dauernden Installation erstellt Tipi
vier Container: für die Tipi-Datenbank, für
Möchten Sie einen anderen Port wählen, Redis, den Reverse-Proxy für die SSL-Ver-
führen Sie das Startskript mit dem zu- schlüsselung sowie das Tipi-Dashboard.
sätzlichen Argument ‑‑port aus. Sie la- Am Ende erhalten Sie eine URL und lan-
den es mithilfe eines Befehls herunter den, nachdem Sie sich registriert haben,
und führen es gleichzeitig aus. in der Benutzeroberfläche von Tipi.

curl ‑L https://setup.runtipi.com |
Die Weboberfläche
bash
Das Dashboard als erster Reiter infor-
Falls Sie den Port ändern möchten, be- miert Sie über den Platz auf der Festplat-
ziehen Sie im ersten Schritt das Skript te, die CPU-Last und die verwendete
Menge an RAM. Der zweite Reiter My
clone https://github.com/ Apps ist naturgemäß noch leer und ver-
meienberger/runtipi.git weist auf den Reiter App Store. Der vierte
und letzte Reiter Settings teilt sich in
Starten Sie es dann von Hand, indem Sie ­Actions für Updates und Neustart und in
aus dem Verzeichnis runtipi etwa sudo die eigentlichen Settings auf. Rechts un-
ter Source code geht es zur GitHub-Seite
des Projekts, unter Sponsors unterstützen
Sie das Projekt finanziell. Der Halbmond
daneben wechselt zum Dark Mode,
rechts davon loggen Sie sich aus 34 .
Besuchen Sie initial den App Store, um
einige Anwendungen und Dienste zu
­integrieren. Tipi listet die Apps mit ihren
jeweiligen Icons und einer kurzen Be-
schreibung sowie der Kategorie auf. Da­
rüber befindet sich eine Suchmaske, da-
neben reduzieren Sie die Anzeige der
Apps auf eine von 14 Kategorien.

Anwendungen
Tipi offeriert zahlreiche bekannte An-
wendungen wie DokuWiki, Home Assis-
tant, Joplin, Jellyfin, Nextcloud, Pi-hole,
Plex, Syncthing oder WireGuard. Klicken
Sie auf eines der Icons, öffnet sich eine
4 Die Settings vereinen die wichtigsten Einstellungen für Domain, DNS, IP und Reposi- Infoseite zur dahinterliegenden App. Ne-
tory. Hier vergeben Sie zudem einen anderen Speicherpfad für Apps und erstellte Daten. ben der Version finden Sie dort Links zur

62 www.linux-user.de 06.2023
Tipi Netz&System

Homepage und zur Lizenz. Klicken Sie Eine weitere erwäh-


auf Install und wählen Sie anschließend nenswerte App heißt
über den Schalter Expose app, ob sich Tailscale. Dahinter
Tipi ebenfalls außerhalb Ihres Netzwerks verbirgt sich ein VPN-
erreichen lassen soll. Dazu muss aller- Dienst, den Sie auf je-
dings die verwendete Domain (echt dem Gerät installieren
oder per DynDNS) mit einem A-Record können, ohne Einstel-
versehen sein. Die Entscheidung darüber lungen vornehmen zu
können Sie alternativ später in den Set- 7
müssen . Tailscale
tings der Anwendung treffen . 4 setzt ­WireGuard als
Im Beispielfall haben wir zuerst die VPN auf und verbin-
App File Browser installiert, um Zugriff det sämtliche betei-
auf Dateien auf unserem Homeserver zu ligte Geräte in einem
erlangen. Danach folgt die Rezeptdaten- Mesh.
bank Mealie, in die wir für einen Test Re-
zepte aus unserem eigenen Bestand im-
Aktualisierung
5
portieren . Um zu sehen, welche Con-
tainer installiert sind, setzten wir darüber Im Hauptmenü unter
6
hinaus Portainer auf . Je nach Applika- Settings informiert
tion nahm das Installieren über lediglich Tipi Sie, ob eine neue 5 In Mealie lassen sich Rezepte aus den gängigen Blogs recht
zwei Mausklicks von wenige Sekunden Version zur Verfü- einfach importieren. Sie können des Weiteren Essenspläne er-
bis zu einige Minuten in Anspruch. Die gung steht. Trifft das stellen und daraus Einkaufslisten generieren.
Konfigurationsdateien der installierten zu, genügt ein Maus-
Apps liegen in Ihrem Heimatverzeichnis klick auf Update, das
im Ordner runtipi unter app‑data in Tool erledigt den Rest. Es stoppt, aktuali-
der Datei app.env. siert und startet die Container im Hinter-
ONLINE

MAGAZIN
NEWSLETTER FÜR IT-PROFIS

Sie sind IT-Profi für Linux und Open Source? Bleiben Sie informiert mit
dem werktäglichen Newsletter für IT-Profis vom Linux-Magazin!

Newsletter
n Tagesaktuelle IT-News
n Security-Infos des

DFN-CERT
n Online-Stellenmarkt

Jetzt kostenfrei abonnieren! www.linux-magazin.de/subscribe


Netz&System Tipi

geben, ergibt es Sinn, im


Vorfeld Subdomains an-
zulegen, falls Ihre Domain
nicht über eine Wildcard-
Funktion verfügt. Wäh-
rend der Installation einer
App aktivieren Sie dann
zur Freigabe den Schalter
Expose app und tragen
dort Ihre Subdomain ein.
Ausführlich beschreibt
der Entwickler, wie Sie
­Tipis Webserver kostenlos
über einen Tunnel des
CDN-Anbieters Cloudflare
6Wenn Sie viele Apps in Tipi installieren, ergibt es Sinn, sie mit Portainer zu administrieren. freigeben. Dabei entfallen
die Freigaben im Router
ebenso wie das Anpassen
grund automatisch wieder. Einen Neu- der DNS-Records beim jeweiligen Provi-
start des Tipi-Servers lösen Sie über Re- der. Ein weiterer Abschnitt erklärt
start aus. Der Befehl sudo ./scripts/ schließlich, wie Sie Tipi in Systemd ein-
stop.sh im Ordner runtipi stoppt die binden, um es beim Hochfahren des
Anwendung. Um Tipi ganz zu entfernen, Rechners zu starten.
löschen Sie daraufhin die Datei runtipi.
Dateien zum Artikel Dort finden Sie in der Datei docker‑com‑
Fazit
herunterladen unter pose.yml zudem Informationen zu den
www.linux-user.de/dl/49063 verwendeten Containern. Tipi ist der bisher am schnellsten aufzu-
Die Dokumentation von Tipi ist zwar setzende uns bekannte Heimserver-Ma-
noch nicht abgeschlossen, unterstützt nager. Das gilt für die Verwendung im
aber bei Themen wie dem Anpassen von Heimnetz, hier steht Tipi in wenigen Mi-
Weitere Infos und Apps . Der Abschnitt zur Freigabe von nuten und ohne weitere Sachkenntnisse
interessante Links Apps außerhalb des Heimnetzes fehlt bereit, um Apps mit einem Klick zu in­
www.linux-user.de/qr/49063 bislang, der Vorgang bereitet jedoch kei- stallieren. Wenn es um den Zugriff von
ne Probleme. Sind mehrere Apps freizu- außerhalb des Heimnetzes geht, braucht
es gattungsbedingt zwingend grundle-
gende Kenntnisse über Netzwerke und
Domains. Immerhin steht dabei die Si-
cherheit Ihres Servers auf dem Spiel. Die
Vorbereitungen dafür sind durch die Be-
reitstellung eines Reverse Proxys bereits
gegeben. Sie müssen lediglich eine eige-
ne Domain und falls nötig Subdomains
zur Verfügung stellen. Hierzu genügt je-
doch ein DynDNS-Dienst, der möglichst
über eine Wildcard-Funktion verfügt, so-
dass Sie Subdomains einfach bei der
­App-Installation angeben, ohne diese
vorher erstellt zu haben.
Während unserer Tests für diesen Arti-
kel funktionierte Tipi tadellos. Das Pro-
jekt befindet sich in ständiger Entwick-
lung, neue Apps kommen regelmäßig
hinzu. Neben der offiziellen Dokumenta-
tion erhalten Sie Unterstützung auf Tele-
gram  oder Discord . Dort können
7 Der VPN-Dienst Tailscale lässt sich auf jedem Gerät installieren, nutzt Sie außerdem selbst neue Apps zur Auf-
WireGuard als VPN und verbindet die Geräte in einem Mesh. nahme vorschlagen. csi █

64 www.linux-user.de 06.2023
ANZEIGE

Fractal Design
Define 7 PCGH Edition

Testsieger unter den Midi-Tower-Gehäusen


jetzt als PCGH-Edition

3 × 140 mm Venturi-HF-Lüfter (3-pin)


statt Dynamic-Lüfter

Lüfter in einer speziellen PCGH-Version


mit nur 800 U/min.

5,25-Zoll-Halterung vorinstalliert

Fronttür öffnet standardmäßig nach rechts

PCGH-Metallaufkleber im Lieferumfang

www.pcgh.de/define7
© murrstock / 123RF.com
Grafische Backup-Tools für den Desktop

Sicher ist sicher


Backups von persönlichen Daten lassen sich längst bequem lokalen oder entfernten Datenträgern,
das inkrementelle Sicherungen anfer-
grafisch mit wenigen Mausklicks anfertigen. Wir stellen Ihnen tigt . Wir haben sich einige einfach zu
bedienende grafische Applikationen für
hier sechs handliche Werkzeuge dafür vor. Erik Bärwaldt den Linux-Desktop angesehen.

■ Back In Time
Das regelmäßige Anfertigen von Daten-
sicherungen des lokalen Computers Back In Time  ist ein bereits seit 2008
empfinden viele Anwender immer noch entwickeltes Backup-Programm, das so-
als lästige Angelegenheit. Doch inzwi- wohl in einer Version für die Kommando-
schen gibt es auch unter Linux so viele zeile als auch in einer auf den Qt-Biblio-
grafische Lösungen, dass ein Backup kei- theken basierenden grafischen Variante
README ne komplizierte Parametereingabe am vorliegt. Die in Python 3 geschriebene
Prompt mehr erfordert, sondern sich Anwendung findet sich in den Reposito-
An grafischen Frontends für die Sicherung
meist mit wenigen Mausklicks erledigen ries aller gängigen Linux-Distributionen.
einer Desktop-Umgebung oder persönlicher lässt. Dabei fokussieren die einzelnen Sie arbeitet mit Profilen, sodass Sie nach
Daten mangelt es unter Linux nicht. Die Anwendungen auf unterschiedliche Be- dem einmaligen Anlegen eines entspre-
dürfnisse und weisen daher auch ver- chenden Profils unterschiedliche Siche-
­Palette reicht dabei von Anwendungen zum
schiedene Funktionen auf. rungsaufgaben bequem per Mausklick
Anfertigen kompletter System-Snapshots Die meisten der grafischen Werkzeuge erledigen können.
bis hin zu kompakten Applikationen für das basieren auf dem Programm Rsync, ein Nach der Installation finden Sie in der
Kommandozeilenprogramm zum Ab- Menühierarchie Ihrer Arbeitsumgebung
Sichern persönlicher Daten.
gleich von Dateien auf unterschiedlichen zwei neue Einträge für Back In Time vor.

66 www.linux-user.de 06.2023
Backup-Tools Netz&System

Der erste startet die Software mit den Dort geben Sie bei-
Rechten des angemeldeten Benutzers, spielsweise an, wie das
der zweite mit Root-Rechten. So lassen Tool mit unvollständi-
sich auch Laufwerke und Verzeichnisse in gen Schnappschüssen
die Sicherung einbeziehen, auf die Be- verfährt, wie viele De-
nutzer nicht zugreifen dürfen, oder kom- tails es protokolliert und
plette Snapshots anfertigen. ob es Benachrichtigun-
Beim ersten Start öffnet die Anwen- gen einblendet. Auf
dung zunächst ein Einstellungsfenster dem letzten Reiter Ein-
1 . Darin legen Sie das Hauptprofil an stellungen für Experten
und konfigurieren es in sechs Options- ändern Sie verschiedene
gruppen. Unter Allgemein legen Sie den Parameter zu Cronjobs
Speicherort und den Modus fest, in dem und zu Rsync. Das erfor-
die Software arbeitet. Dazu stehen das dert allerdings einige
lokale Backup und eine Sicherung auf Vorkenntnisse. 1 Back In Time arbeitet mit leicht einzurichtenden Profilen.
­einem entfernten Laufwerk zur Auswahl,
jeweils inklusive optionaler Verschlüsse-
Datensicherung
lung. Sie können außerdem in diesem
Reiter über die Auswahlliste Zeitplan Nach Fertigstellung aller Einstellungen
­Sicherungsintervalle definieren. Bitte klicken Sie unten rechts auf den OK-But-
­beachten Sie, dass das Zielmedium mit ton. Die Software sichert nun das Profil
dem Dateisystem Ext3 oder Ext4 forma- und öffnet den Sicherungsdialog. Das
tiert sein sollte. Das bei USB-Speicher­ Fenster enthält eine konventionelle
sticks übliche FAT32-Dateisystem unter- Menü- und Schalterleiste sowie eine
stützt keine Hardlinks und taugt daher Schnappschussliste, die in einer Spalte
nicht zum Sichern von Linux-Dateisyste- links im Fenster erscheint. Daneben be-
men. finden sich zwei Bereiche mit einem Da-
Die zu sichernden Datenbestände defi- teimanager, in dem Sie das Quelllaufwerk
nieren Sie in den Reitern Einbeziehen und samt aller versteckten Dateien sehen.
Ausschließen. Unter Einbeziehen legen Sie Per Rechtsklick auf Dateien und Ver-
die zu sichernden Verzeichnisse und Da- zeichnisse rufen Sie ein Kontextmenü
teien fest, unter Ausschließen finden sich auf, über das Sie das jeweilige Verzeich-
bereits einige vordefinierte Ausschluss- nis oder die markierte Datei aus der
muster. Letztere umfassen Verzeichnisse ­Sicherung ausschließen. Haben Sie hier
und diverse Dateinamenserweiterungen, noch weitere Änderungen vorgenom-
die der Sicherungslauf nicht berücksich- men, dann klicken Sie oben links in der
tigt. Hier fügen Sie wahlfrei weitere Ver-
zeichnisse, Dateien oder Templates hin-
zu. Außerdem können Sie Dateien über
einer bestimmten Größe vom Backup
ausschließen, voreingestellt ist hier ein
Umfang von 500 MByte. Die jeweilige
Option müssen Sie erst durch Setzen
­eines Häkchens aktivieren.
Auf dem Reiter Automatisch entfernen
bietet die Software Parameter an, die das
automatisierte Entfernen von obsoleten
Datenbeständen ermöglichen. Als Kriteri-
en dazu dienen der vorhandene freie
Speicherplatz auf dem Zielmedium, das
Alter von Dateien oder die Anzahl der
freien Inodes. Überdies können Sie in der
Gruppe Intelligentes Löschen Schnapp-
schüsse eines bestimmten Zeitraums an-
geben, die Back In Time behalten soll.
Allgemeine Einstellungen nehmen Sie
dagegen auf dem Reiter Optionen vor. 2 Das Sicherungsfenster von Back In Time ist selbsterklärend.

06.2023 www.linux-user.de 67
Netz&System Backup-Tools

Schalterleiste auf das Derivate führen die Software in ihren Re-


Diskettensymbol und positories. Die Webseite des Projekts hält
starten damit die Da- jedoch auch Pakete des recht kleinen
tensicherung. Wurde Programms für diverse Debian-, Ubuntu-,
im Einstellungsdialog Fedora- und Arch-Varianten bereit.
ein Zeitplan aktiviert, Nach der Installation finden Sie zwei
fertigt Back In Time neue Einträge in der Menühierarchie des
künftig die Backups Desktops: Einer dient zur Einstellung der
automatisch an. Bitte Sicherungsläufe, der andere zur Rekon­
beachten Sie, dass je struktion vorhandener Backups. Im Ein-
nach Umfang der zu gangsbildschirm klicken Sie auf Jetzt ein-
sichernden Daten und richten, um in den Konfigurationsdialog
der Arbeitsgeschwin- zu gelangen. Cronopete öffnet daraufhin
digkeit des Ziellauf- ein einfach zu bedienendes Einstellfens-
werks das Backup län- ter, in dem Sie die automatischen Back-
gere Zeit beanspru- ups sowie die zu sichernden Datenbe-
chen kann . 2 stände und die Zielordner angeben . 4
Anschließend schieben Sie links unten
3 Back In Time gibt per Protokoll ausführlich Auskunft über
Wiederher- im Fenster den Regler Enable backups
die einzelnen Schritte während der Datenwiederherstellung. nach rechts, um die automatische Siche-
stellung rung zu aktivieren. Dann schließen Sie
Um ein vorhandenes das Fenster, woraufhin Cronopete im Sys-
Backup wiederherzu- tem-Tray ein Steuersymbol ablegt. Mit
stellen, markieren Sie ­einem Rechtsklick darauf öffnen Sie ein
den gewünschten Kontextmenü und klicken darin auf die
Schnappschuss oben Option Jetzt sichern. Die Anwendung
links in der Tabelle nimmt nun ein Backup der gewünschten
Schnappschüsse und Daten vor. Möchten Sie an der Konfigura-
klicken anschließend tion später noch Änderungen vorneh-
auf die Option Wie- men, klicken Sie im Kontextmenü des
derherstellen in der Steuersymbols auf die Option Backupre-
Menüleiste. Im sich geln einstellen. Danach öffnet sich erneut
nun öffnenden Kon- das primäre Fenster auf dem Desktop.
textmenü wählen Sie Für jeden neuen Sicherungslauf fertigt
den Eintrag Wieder- Cronopete ein kurzes Protokoll an, wobei
4 Cronopete bedarf kaum einer Einarbeitung. herstellen, sofern Sie es alte Protokolle löscht. Im Reiter Log
die Daten am Ur- des Hauptfensters können Sie sich das
sprungsort ablegen aktuelle Protokoll ansehen.
möchten. Soll Back In Time die Daten an
einem anderen Ort als dem Quellver-
Rücksicherung
zeichnis ablegen, wählen Sie stattdessen
die Option Wiederherstellen zu. Zum Wiederherstellen gesicherter Daten-
In einem weiteren Dialog in einem ge- bestände finden Sie in der Menühierar-
sondert geöffneten Fenster blendet das chie der Arbeitsumgebung einen geson-
Tool eine Sicherheitsabfrage ein und si- derten Starter mit der Bezeichnung
chert nach der entsprechenden Bestäti- ­Cronopete: restore backup. Stattdessen
gung die Daten zurück. Dabei gibt ein können Sie auch im System-Tray auf das
Protokollfenster Auskunft über den Fort- Cronopete-Symbol klicken und im sich
gang, sodass Sie eventuell auftretende öffnenden Kontextmenü die Option
Probleme korrigieren können . 3 ­Dateien wiederherstellen auswählen.
Es öffnet sich im Vollbildmodus ein op-
■ Cronopete 5
tisch sehr ungewöhnliches Fenster . Es
zeigt links eine vertikale Zeitleiste, mittig
Das freie Backup-Tool Cronopete  legt erscheinen übereinander die vorhande-
ebenso wie Back In Time den Fokus auf nen Sicherungen in eigenen Fenstern
eine einfache, weitgehend automatisier- des Dateimanagers. Rechts oben im Bild
te Datensicherung. Die gängigen Linux- finden Sie zwei blaue Pfeile, mit denen

68 www.linux-user.de 06.2023
Backup-Tools Netz&System

Sie zwischen den einzelnen Sicherungen


in den Dateimanagern hin und her schal-
ten. In der Zeitleiste stellt zusätzlich ein
kleiner roter Balken den aktuellen Siche-
rungsstand dar. Sie können so die einzel-
nen Sicherungen durchblättern und sich
in den dargestellten Dateimanagern in-
nerhalb der gesicherten Verzeichnisse
frei bewegen. Dateien lassen sich hier je-
doch anders als in herkömmlichen Datei-
managern nicht öffnen.
Durch einen Klick auf die Schaltfläche
Dateien wiederherstellen oben links in der
Titelleiste spielen Sie das aktuell im Vor-
dergrund befindliche Backup zurück an
die Ursprungsorte. Ein Klick auf den
Schalter Exit oben rechts in der Titelleiste
beendet das Programm. 5 Die Rücksicherung stoßen Sie in einem optisch höchst ungewöhnlichen Fenster an.
■ Déjà Dup
reichen Sie über das Hamburger-Menü
Eines der eingängigsten Programme zur oben rechts in der Titelleiste, wo Sie die
lokalen Datensicherung ist Déjà Dup . Option Einstellungen wählen. Der sich da-
Nahezu alle größeren Linux-Distributio- raufhin öffnende Dialog weist nur weni-
nen führen die aus dem Gnome-Fundus ge Optionen auf. Neben der Pfadangabe
stammende App in ihren Repositories, stellen Sie im Reiter General nur die Ver-
sodass sie sich bequem installieren lässt. wahrdauer der einzelnen Sicherungen
Daraufhin findet sich ein Starter in der und die Konfiguration von automati-
Menühierarchie der Arbeitsumgebung. schen Sicherungsläufen ein. Für Letztere
Nach dem Start der Applikation gelan- können Sie lediglich zwischen wöchentli-
gen Sie in eine sehr schlichte Bedien- chen und täglichen Sicherungen wählen.
oberfläche, die neben einem Tresorsym- In der Voreinstellung legt die Software
bol lediglich zwei Optionen anbietet, das Backup in der Google-Drive-Cloud
nämlich das Anlegen und das Wiederher- an. Stattdessen können Sie aber auch ei-
stellen einer Datensicherung. Die Ober- nen Rechner im LAN oder einen lokalen
fläche von Déjà Dup folgt dem traditio- Ordner angeben. Letzteres ergibt aller-
nellen Gnome-Konzept ohne Menü- oder dings nur dann Sinn, wenn Sie im sich an-
Schalterleiste mit in die Titelleiste inte­ schließend öffnenden Dateimanager ein
grierten Bedienoptionen. externes Laufwerk als Ziel angeben, etwa
Zunächst sollten Sie einige Einstellun- ein USB-Laufwerk oder einen Speichers-
gen vornehmen, damit das Backup über- tick: Nur solche Laufwer-
haupt funktioniert. Den Dialog dafür er- ke können Sie vom Com-
puter getrennt an einem
sicheren Ort aufbewah-
ren. Nach Auswahl des
Ziellaufwerks geben Sie
einen Zielordner an, der
auf dem Laufwerk be-
reits vorhanden sein
muss.
Im Reiter Folders, den
Sie über die Titelleiste
der Anwendung im
Hauptfenster erreichen,
geben Sie im nächsten
6 Bei Déjà Dup sichern Sie Ihre Daten Schritt die zu sichernden
per Passwort gegen unbefugte Zugriffe. und die von der Siche- 7 Déjà Dup verzichtet auf jeglichen Schnickschnack.

06.2023 www.linux-user.de 69
Netz&System Backup-Tools

rung auszuschließen- Passwort erlauben, klappt das Restore


den Verzeichnisse an. auch ohne Authentifizierung. Nach ei-
Dabei öffnet die Soft- nem Klick auf Weiter startet im nächsten
ware nach einem Fenster die Sicherung, bei der ein Fort-
Klick auf das Plussym- schrittsbalken über den jeweiligen Status
bol den integrierten informiert. Danach erscheint erneut das
Dateimanager, sodass Hauptfenster .7
Sie keine Ordnerna- Um die Daten wiederherzustellen, kli-
men eintippen müs- cken Sie im Hauptfenster oben in der
sen, sondern diese ­Titelleiste auf Wiederherstellen. Déjà Dup
Verzeichnisse be- zeigt dann die gesicherten Ordner an,
quem per Mausklick und Sie wählen die gewünschten Ver-
auswählen. zeichnisse per Mausklick aus. Anschlie-
Im Anschluss führt ßend klicken Sie unten links im Pro-
Déjà Dup die zu si- grammfenster auf die Schaltfläche Wie-
chernden Ordner in derherstellung. In einem weiteren Dialog
Form einer Tabelle legen Sie fest, ob die Anwendung die Da-
auf. Haben Sie mehre- ten am ursprünglichen Ort oder in einem
re Partitionen auf dem wahlfreien Verzeichnis wiederherstellt.
8 Das Programmfenster von LuckyBackup fällt durch viele Laufwerk des Rech- Beim Zurücksichern gibt ein Fortschritts-
bunte Icons und Meldungen auf. ners eingerichtet, balken Auskunft über den Ablauf.
können Sie im Datei-
manager auch partiti-
■ LuckyBackup
onsübergreifend Verzeichnisse sichern, so-
fern die entsprechenden Parti­tionen ein- LuckyBackup  gehört zu den etablier-
gehängt sind. Über einen Klick auf das Lu- ten Backup-Lösungen für Desktop-Rech-
pen-Symbol oben rechts in der Titelleiste ner und findet sich daher in den Soft-
können Sie zudem durch die Eingabe von warearchiven aller gängigen Linux-Distri-
Suchbegriffen schnell Funktionen errei- butionen. Die Installationsroutine gene-
chen, die das Programm unten im Fenster riert einen entsprechenden Starter, der
in tabellarischer Form anzeigt. ein ungewöhnlich aufgebautes Pro-
Haben Sie alle Einstellungen vorge- grammfenster öffnet: Neben einer kon-
nommen, schließen Sie das Fenster. Die ventionellen Menü- und Schalterleiste
Anwendung öffnet finden Sie darin eine Aufgabenliste mit
nun das Sicherungs- einigen Steuerelementen sowie ein Infor-
fenster, in dem Sie mationsfenster, das Benachrichtigungen
per Schieberegler die und Meldungen der Anwendung anzeigt.
automatisierte Siche- Nach der Installation ist LuckyBackup
rung aktivieren kön- zunächst englisch lokalisiert. Sie klicken
nen. Möchten Sie daher im Menü auf Settings | Language
stattdessen ein ma- und stellen die Sprache auf Deutsch um,
nuelles Backup star- 8
was direkt ohne Neustart greift . An-
ten, klicken Sie auf schließend definieren Sie ein Profil.
Jetzt sichern. LuckyBackup arbeitet mit Profilen, in
Danach fragt Déjà denen Sie unterschiedliche Sicherungs-
Dup in einem über- aufgaben konfigurieren, um so Quell-
lappenden Fenster, und Zielverzeichnisse nicht bei jedem
ob Sie das Backup neuen Start der Applikation von Hand
durch ein Passwort anlegen zu müssen. Zwischen den ein-
schützen möchten. zelnen Profilen schalten Sie über ein Aus-
Dieses Kennwort wahlfeld links oben neben der Schalter-
müssen Sie später bei leiste hin und her. Zunächst gibt es ledig-
der Wiederherstel- lich das Profil default. Um ein neues Profil
6
lung angeben . Kli- anzulegen, klicken Sie in der Menüzeile
cken Sie auf den Op- links auf den Eintrag Profile und wählen
tionsschalter vor Wie- daraufhin im Menü die Option Neu. In ei-
9 LuckyBackup gestattet auch Trockenläufe. derherstellung ohne nem überlappenden Fenster geben Sie

70 www.linux-user.de 06.2023
Backup-Tools Netz&System

dann den Namen des neuen Profils ein, file die Option Zeit-
das LuckyBackup anschließend in die planer.
Profilliste übernimmt. Im sich öffnenden Ein-
Im nächsten Schritt beginnen Sie mit stellungsdialog legen
der Definition von Aufgaben für das Sie für jedes Profil ei-
neue Profil. Dazu klicken Sie in der Spalte nen Ausführungsplan
Aufgabe auf den Schalter Hinzufügen. Im an, indem Sie die ent-
sich daraufhin öffnenden Fenster geben sprechenden Felder
Sie den Namen der Aufgabe ein und le- ausfüllen. Dabei kön-
gen die Quell- und Zielverzeichnisse fest. nen Sie neben der Uhr-
Zusätzlich können Sie die Zahl der aufzu- zeit auch die Wochen-
bewahrenden Schnappschüsse angeben. tage, Monate oder al-
Haben Sie eine oder mehrere Aufgaben ternativ Tage im Monat
hinzugefügt, lassen sich diese in einem festlegen, an denen
Simulationsmodus auf ihre korrekte ein Backup erfolgen
Funktion hin überprüfen. Dazu setzen Sie 0
soll . Haben Sie die
zunächst in der Aufgabenliste ein Häk- Termine für die Daten-
chen vor der Aufgabe, deren Sicherungs- sicherung festgelegt,
lauf es zu simulieren gilt. klicken Sie zunächst 0 Per Zeitplaner führen Sie Sicherungen automatisch aus.
Anschließend setzen Sie ein weiteres auf Okay und dann auf
Häkchen rechts oben in der Schalterleis- In Cron-Datei eintragen,
te vor Simulation und klicken rechts da- um die Werte zu sichern. Über die Schal-
neben auf die Schaltfläche Ausführen. Es ter Bearbeiten und Entfernen können Sie
öffnet sich nun das Informationsfenster, vorhandene Einträge jederzeit wahlwei-
in dem Sie in einem großen Bereich alle se modifizieren oder löschen.
Ausgaben der Anwendung im Kontext Nach Abschluss der Konfiguration sto-
mit dem zu simulierenden Sicherungs- ßen Sie gegebenenfalls eine manuelle
9
auftrag sehen . Im unteren Bereich Datensicherung an, indem Sie das Häk-
­erscheint zudem ein Fortschrittsbalken. chen vor der Option Simulation im pri-
Das Ende des Tests signalisiert Lucky­ mären Fenster der Anwendung wieder
Backup durch eine Meldung in lilafarbe- entfernen und anschließend auf Ausfüh-
ner Schrift. Sie klicken abschließend auf ren klicken. LuckyBackup zeigt in der
Fertig oben rechts im Fenster und gelan- Kommandoausgabe alle anfallenden
gen damit zurück ins Hauptfenster. Meldungen sowie einen Fortschrittsbal-
Möchten Sie eine Aufgabe modifizie- ken an. Je nach Umfang der zu sichern-
ren, klicken Sie nach dem Markieren der den Dateien und Ordner sowie der Ge-
jeweiligen Aufgabe rechts auf Bearbeiten. schwindigkeit der Quell- und Zielmedien
Im sich erneut öffnenden Eigenschaften- kann das Backup längere Zeit in An-
dialog der markierten Aufgabe nehmen spruch nehmen. Die gesicherten Daten
Sie links unten nach einem Klick auf Er- können Sie im Anschluss auf dem Ziel-
weitert bei Bedarf zusätzliche Einstellun- medium einsehen.
gen vor. In mehreren Reitern schließen
Sie nun Verzeichnisse von der Sicherung
Rekonstruktion
aus oder beziehen bestimmte Dateien
mit ein. Zudem können Sie verschiedene Für das Wiederherstellen gesicherter Da-
Optionen zu Links einstellen sowie einen tenbestände bietet LuckyBackup keine
entfernten Rechner als Ziel oder Quelle gleichnamige Option an. Sie nutzen
angeben. Dazu lässt sich eine verschlüs- stattdessen Verwalte Sicherungen im
selte SSH-Verbindung aufbauen. Menü Aufgabe, um Daten zu rekonstruie-
ren. Im entsprechenden Fenster finden
Sie links eine Liste vorhandener Siche-
Planvoll
rungen samt Profil und Aufgabendefini-
LuckyBackup ermöglicht darüber hinaus q
tion . Rechts erscheinen in zwei Berei-
vollautomatisierte Datensicherungen chen die zugehörigen Dateien in den
nach Zeitplan. Dazu klicken Sie entwe- Quell- und Zielverzeichnissen. Das zuge-
der oben in der Schalterleiste auf das hörige Protokoll sehen Sie in einem extra
Uhrensymbol oder wählen im Menü Pro- Fenster ein, indem Sie unten links auf

06.2023 www.linux-user.de 71
Netz&System Backup-Tools

■ Timeshift
Timeshift  gehört zu den bekanntesten
Backup-Programmen für Linux-Desktops
und findet sich darum in den Software-
Repositories faktisch aller gängigen Dis-
tributionen. Nach der Installation finden
Sie einen Starter in der Menüstruktur der
Arbeitsumgebung. Timeshift setzt beim
Anlegen von Schnappschüssen ebenfalls
auf Rsync, kann aber auch mit dem Btrfs-
Dateisystem umgehen, das von Haus aus
Schnappschüsse unterstützt.
Nach dem ersten Start von Timeshift
und der Authentifizierung als Systemver-
walter werden Sie zunächst gefragt, ob
Sie Rsync oder Btrfs als Schnappschuss-
typ auswählen möchten. Danach kalku-
q Datenrekonstruktionen können Sie variabel einstellen. liert das Programm die Systemgröße und
zeigt im nächsten Bildschirm die Kapazi-
tät sowie den freien Speicherplatz aller
den Schalter Siehe Logdatei klicken. Um im System eingehängten Speichermedi-
sich einen Überblick über die Unterschie- en sowie der darauf befindlichen Partiti-
de zwischen Quell- und Zielverzeichnis zu onen an. Sie wählen aus dieser Liste den
verschaffen, nutzen Sie den Schalter Kal- Ort, an dem Sie die neu anzufertigenden
kuliere Unterschiede. Anstelle des Ziels er- Schnappschüsse sichern möchten.
scheint nun rechts oben eine Tabelle der Dateisysteme anderer Betriebssysteme
Unterschiede zwischen vorhandenem Da- unterstützt Timeshift nicht. Möchten Sie
tenbestand und seinem Backup. Um das einen Wechseldatenträger wie einen
markierte Backup wiederherzustellen, kli- USB-Stick als Zielmedium verwenden,
cken Sie dagegen auf die Schaltfläche müssen Sie ihn zunächst mit einem
Wiederherstellen unten links im Fenster. In ­Linux-kompatiblen Dateisystem formatie-
einem gesonderten Dialog fragt LuckyBa- ren. Nach Auswahl der Zielpartition kli-
ckup nun noch einmal den Wiederherstel- cken Sie unten im Fenster auf Weiter. An-
lungspfad ab, den Sie bei Bedarf noch än- schließend legen Sie fest, wie oft das Sys-
dern. Außerdem können Sie im Quellver- tem gesichert werden soll und wie viele
zeichnis vorhandene Dateien, die im Back- Sicherungen Timeshift jeweils beibehält.
up fehlen, löschen lassen, indem Sie ein Ihre Konfiguration speichert das Tool
Häkchen vor der gewünschten Option nach einem Klick auf Weiter als Cronjob.
­setzen. Im nächsten Dialog des Assistenten le-
Möchten Sie zunächst gen Sie fest, welche Daten es zu sichern
feststellen, ob die Rück­ gilt. Voreingestellt schließt Timeshift die
sicherung problemlos persönlichen Verzeichnisse der Anwen-
funktioniert, simulieren der aus dem Backup aus, an dieser Stelle
Sie die Datenwiederher- lassen sie sich jedoch miteinbeziehen.
stellung, indem Sie einen Daneben können sie nur versteckte Da-
Haken vor den Eintrag teien oder alle Dateien in das Backup
­Simulation setzen. An- aufnehmen. Damit ist die Konfiguration
schließend klicken Sie auf vollständig, und Sie gelangen in das ei-
Start. Das Tool nimmt da- gentliche Programmfenster . w
raufhin einen Trockenlauf Hier greifen Sie über eine Schalterleis-
der Rücksicherung vor. In te schnell per Mausklick auf die wichtigs-
einem überlappenden ten Funktionen zu. Das Hauptsegment
Fenster erhalten Sie ein des Fensters listet die vorhandenen
Protokoll des Vorgangs Schnappschüsse auf, eine Statusleiste am
inklusive möglicherweise unteren Bildschirmrand gibt die Zahl der
w Timeshift ist nach wenigen Mausklicks einsatzbereit. aufgetretener Fehler. Schnappschüsse und den auf dem Ziel-

72 www.linux-user.de 06.2023
Backup-Tools Netz&System

medium verfügbaren Speicherplatz an. fenster. Darin nehmen Sie in


Über den Schalter Erstellen legen Sie den mehreren Reitern die kom-
ersten Schnappschuss manuell an. plette Konfiguration des
­Timeshift sichert dabei das komplette Werkzeugs vor, wobei Sie
System inklusive manuell aktivierter verschiedene Profile für un-
Home-Verzeichnisse. In einem gesonder- terschiedliche Sicherungs-
ten Fenster zeigt die Anwendung in Echt- zwecke definieren. Das ak-
e
zeit den Fortschritt der Sicherung an . tuelle Profil Default ergän-
Die Snapshots legt Timeshift in einem zen Sie durch weitere Profi-
gleichnamigen Verzeichnis auf dem Ziel- le, indem Sie oben neben
datenträger an, wobei die Snapshots je dem Auswahlfeld für die
nach konfigurierten Cronjobs in unter- Profile auf den Schalter mit
schiedlichen Ordnern liegen. dem Pluszeichen klicken.
Das neue Profil löst dann in
der Anzeige das Vorgabe-
Restore
profil ab, sodass es sich kon-
Zur Datenwiederherstellung wählen Sie t
figurieren lässt .
zunächst aus der Liste den gewünschten Im Reiter Repository ge-
Schnappschuss aus und klicken dann auf ben Sie das Archiv an, in
Wiederherstellen. Es öffnet sich ein Dialog, dem Vorta die Datensiche-
in dem Sie die zurückzusichernden Gerä- rungen ablegt. Dabei kön- e Über eine Fortschrittsanzeige benachrichtigt
te und Pfade auswählen. Dabei stellt die nen Sie auch Online-Spei- ­Time­shift Sie über den laufenden Prozess.
Routine das gesamte System wieder her. cher nutzen. Für das ge-
Lediglich nicht in die Sicherung einge- wählte Repository legen Sie
schlossene Anwenderverzeichnisse blei- anschließend die Zugriffsmethode fest,
ben erhalten. Sie können jedoch in dem wobei die Datenübertragung stets über
Dialog als Ziel auch wahlfreie Verzeich- eine gesicherte SSH-Verbindung verläuft.
nisse auf allen eingehängten Datenträ- Zudem können Sie in diesem Dialog eine
gern angeben. Achten Sie dabei aber auf Kompressionsmethode definieren, um
die freien Speicherkapazitäten. Nach Aus- die Menge der übertragenen Daten zu
wahl der Zielmedien klicken Sie unten in senken. Sie können dabei zwischen meh-
Fenstermitte auf Weiter .r reren Kompressionsmethoden wählen
Im nächsten Schritt nimmt Timeshift oder aber die vorhandenen Daten auch
zunächst einen Trockenlauf vor. Dann ohne Komprimierung sichern. Im Reiter
zeigt es in einem weiteren Fenster alle Quellen geben Sie danach
anstehenden Aktionen zur Rücksiche- an, welche Datenbestände
rung an, die Sie durch einen erneuten das Tool sichern soll. Dabei
Klick auf Weiter bestätigen. Nach einer können Sie Dateien und Ver-
­Sicherheitsabfrage wechselt Timeshift in zeichnisse einschließen so-
den Textmodus und sichert die Daten wie Files ausschließen. Das
­zurück. Danach erfolgt automatisch ein klappt auch anhand von
Warmstart des Computers. Wildcard-Mustern.
Der Reiter Zeitplan er-
■ Vorta möglicht ein Terminieren
der Datensicherungen, auch
Vorta  fungiert als grafisches Frontend in Form automatischer Si-
für das Kommandozeilenprogramm cherungen zu festgelegten
BorgBackup . Die plattformübergrei- Zeiten. Außerdem können
fend verfügbare Anwendung liegt in den Sie hier einen Zeitraum an-
Repositories vieler Linux-Distributionen, geben, in dem Vorta das
zusätzlich gibt es auf der Projektseite vorhandene Repository vali-
den Quellcode und auf Flathub ein ent- diert. Das verhindert, dass
sprechendes Flatpak. die Daten versehentlich in
Nach der Installation rufen Sie Vorta einem korrupten Archiv lan-
aus der Menühierarchie der Arbeitsum- den und sich daraufhin an-
gebung auf und gelangen in ein optisch schließend nicht mehr wie- r Auch bei Timeshift haben Sie die Möglichkeit, va­
äußerst schlicht gehaltenes Programm- derherstellen lassen. riable Zielverzeichnisse für das Restore auszuwählen.

06.2023 www.linux-user.de 73
Netz&System Backup-Tools

unten links im Programmfenster auf


­Datensicherung starten klicken. Im Reiter
Repository zeigt Vorta während der Si-
cherung im unteren Fensterbereich ver-
schiedene statistische Daten an, nach er-
folgreichem Abschluss des Backups se-
hen Sie die ursprüngliche und kompri-
mierte Größe der Sicherung. Im Bedarfs-
fall veranlassen Sie im Reiter Archive eine
Prüfung der gesicherten Daten, indem
Sie in der Listenansicht das fragliche Ar-
chiv anwählen und anschließend unter-
halb der Liste auf den Schalter Prüfen kli-
cken. Das Tool prüft das Archiv und zeigt
das Ergebnis daraufhin unterhalb der
z
Listenansicht an .
Vorta erstellt bei mehrmaligem An-
wenden eines Profils nicht bei jedem
einzelnen Durchlauf eine Vollsicherung,
sondern speichert stattdessen in den
Folgesicherungen nur die Unterschiede
zum Original. Um die Unterschiede zwi-
schen einzelnen Backups ausfindig zu
t Bei Vorta legen Sie zunächst in einem Assistenten ein Profil an. machen, markieren Sie die gewünschten
Sicherungen in der Archivliste und kli-
cken anschließend darunter auf den
Die Reiter Archive und Diverses gewähren Schalter Unterschiede. Die Anwendung
Zugriff auf einige allgemeine Einstellun- öffnet nun ein weiteres Fenster, das die
gen, erfordern jedoch zunächst keine Stammverzeichnisse anzeigt, in denen
Eingaben oder Modifikationen. Nach sie Differenzen festgestellt hat. Durch
­Abschluss der Konfiguration nehmen Sie ­einen Klick auf das vorangestellte Plus-
eine erste Datensicherung vor, indem Sie symbol klappen Sie den Verzeichnis-
baum aus, wobei die differierenden
­Dateien in grüner Farbe erscheinen.

Diät
Um die Liste der vorhandenen Archive
nicht unkontrolliert ausufern zu lassen,
können Sie diese ausdünnen. Dazu kli-
cken Sie im ersten Schritt auf die Schalt-
fläche Ausdünnungs-Optionen und Ar-
chiv-Namensgebung unten im Reiter Ar-
chive. Im sich öffnenden Einstellungsdia-
log geben Sie an, wie viele Archive Sie
behalten möchten, indem Sie deren An-
zahl je nach Alter differenziert definie-
ren. Die wählbaren Intervalle reichen
von den stündlichen Archiven bis zu den
jährlichen Sicherungen, von denen Sie
jeweils unterschiedlich viele beibehalten
können. Außerdem ändern Sie in diesem
Dialog bei Bedarf auch die Konventio-
nen zur Namensvergabe.
Während des Installationsvorgangs
legt Vorta ein kleines Festplattensymbol
z Vorta kann auch bei Bedarf die Integrität von Dateiarchiven prüfen. im System-Tray des Desktops an. Ein

74 www.linux-user.de 06.2023
Backup-Tools Netz&System

Linksklick darauf öffnet das Anwen- packen des Archivs oder der gewählten
dungsfenster, mit einem Rechtsklick lässt Bestandteile. Nach einem Klick auf
sich die Anwendung wieder beenden. ­Choose entpackt die Software das Archiv
Ebenfalls über das Kontextmenü wählen respektive dessen ausgewählte Bestand-
Sie ein Profil aus oder nehmen eine ma- teile im Zielverzeichnis. Danach blendet
nuelle Datensicherung vor. die Software im Reiter Archive unten eine
entsprechende Statusmeldung ein.
Archive öffnen
Fazit
Um Zugriff auf die gesicherten Daten zu
erhalten, können Sie die Archive wie ein An grafischen Frontends für das Sichern
herkömmliches Laufwerk im laufenden einer Desktop-Umgebung oder persönli-
Linux-System einhängen. Dazu wählen cher Daten mangelt es unter Linux zwei-
Sie im Reiter Archive das fragliche Archiv felsohne wahrlich nicht. Die Palette er-
aus und klicken dann auf das kleine Drei- streckt sich dabei von Anwendungen
eck rechts neben der Schaltfläche Ausge- zum Anfertigen kompletter System-
wähltes Archiv. Im sich daraufhin öffnen- Snapshots wie Timeshift bis hin zu sehr
den Kontextmenü klicken Sie auf die Op- kompakten Applikationen für das Back-
tion Mount und legen in einem sich an- up persönlicher Daten wie Déjà Dup.
schließenden Dialog letztlich den ge- Manche der Werkzeuge können sogar Si-
wünschten Einhängepfad fest. cherungen auf entfernten Rechnern ab-
Um ein Archivs wiederherzustellen, kli- legen, alle unterstützen am lokalen Sys-
cken Sie im selben Kontextmenü auf den tem angeschlossene externe Datenträ-
Schalter Extract, woraufhin Vorta im fol- ger. Als Anwender haben Sie die Qual
genden Dialog nach den zu extrahieren- der Wahl und sollten Ihren Bedarf vor In- Weitere Infos und
den Bestandteilen des Archivs fragt. Zu stallation einer Backup-Lösung genau interessante Links
guter Letzt definieren Sie noch in einem prüfen, um ein funktional passgenaues www.linux-user.de/qr/48656
kleinen Dateimanager den Pfad zum Ent- Programm zu finden. (jlu) █

Anwendungen für das Desktop-Backup im Überblick


Back In Time Cronopete Déjà Dup LuckyBackup Timeshift Vorta
Lizenz GPLv2 GPLv3 GPLv3 GPLv3 LGPLv3 GPLv3
Profile ■ ■ ■ ■ ■ ■
zeitgesteuerte Backups ■ ■ (1)
■ (1)
■ ■ ■
System-Snapshots ■ ■ ■ ■ ■ ■
Remote-Sicherung ■ ■ ■ ■ ■ (1)

verschlüsselte Backups ■ ■ ■ (1)
■ ■ ■
manuelles Ein- und Aus-
■ ■ ■(1) ■ ■ ■
schließen von Daten
maximale Dateigröße für
■ ■ ■ ■ ■ ■
Backup einstellbar
Dateikomprimierung
■ ■ ■ ■ ■ ■
­einstellbar
Entfernen veralteter
■ ■ ■ ■ ■ ■
­Sicherungen nach Plan
verschiedene Dateisysteme
■(1) ■ ■ ■ ■(1) ■
auf Zielmedien
Dateirücksicherung an
■ ■ ■ ■ ■ ■
­verschiedene Orte
Simulationslauf ■ ■ ■ ■ ■ ■
Protokollfunktion ■ ■ ■ ■ ■ ■
(1) eingeschränkt

06.2023 www.linux-user.de 75
MANUEL | PCGH LUKAS | Games Group
Notebook-Nerd SciFi-Nerd

VERONIKA | E-Commerce
CosPlay-Nerd

JOHANNES | N-Zone
Nintendo-Nerd
LEO | PCGH
Video-Nerd

TANJA | PC Games MMore


MMORPG-Nerd

MATTHIAS | PC Games SASCHA | play5,


Action-Nerd PC Games
Fantasy-Nerd

Folgt uns:
Wir lieben es.
Wir leben es.
_ Lieblingsthemen: Gaming. IT. Entertainment.

_ Mehr Stories. Mehr Hintergründe. Mehr Herz.

_ Gründlicher. Übersichtlicher. Unterhaltsamer.

_ Magazine. Apps. Webseiten. Streams. Podcasts.


Und mehr.

Computec Media.
Von Nerds für Nerds.

shop.computec.de | Oder in eurem Store nach dem Magazin-Namen suchen:


© Marina Varnava / 123RF.com
Individuelle ISO-Abbilder erstellen

Selbst gedengelt
Linux-Derivate bringen viel Software mit, die nicht jeder Nut-
zer benötigt. Mit verschiedenen grafischen Werkzeugen und
speziellen Distributionen erstellen Sie ein individuelles Be-
triebssystem ohne überflüssige Anwendungen. Erik Bärwaldt

README Für nahezu jeden Anwendungszweck platz und – sofern sie im Hintergrund
gibt es spezialisierte Linux-Distributio- mitlaufen – auch CPU-Ressourcen. So
Ein schlankes Grundsystem, individuell mit
nen. Doch ähnlich wie die gängigen All- mancher Anwender wünscht sich des-
genau der richtigen Software bestückt – das rounder für den täglichen Einsatz schlep- halb ein schlankes Grundsystem ohne
wünschen sich viele. Mithilfe einiger grafi- pen diese häufig sehr viel Ballast mit sich Zusatzsoftware, das er individuell mit
scher Tools kommen Sie unkompliziert zum herum – meist in Gestalt von Applikatio- den Programmen bestücken kann, die er
nen, die man nur selten oder gar nicht tatsächlich benötigt. Wir haben uns grafi-
eigenen Linux-Abbild.
benötigt. Solche Apps belegen Speicher- sche Lösungen angesehen, die schnell

78 www.linux-user.de 06.2023
DIY-Distrubutionen Know-how

und ohne viele Aufwand zu einem


selbstgestrickten Linux-Abbild führen.

Konzept
Individuell anpassbare Linux-Distributio-
nen basieren meist auf einem herkömm-
lichen ISO-Abbild. Es enthält idealerweise
bereits eine grafische Oberfläche oder
bietet am Prompt die einfache Installa­
tion eines grafischen Desktops an. Dazu
sollte es eine integrierte Paketverwaltung
geben. Bei einem anpassbaren System-
abbild stehen häufig mehrere Kernel-Ver-
sionen zur Wahl. Gängige Standardappli-
kationen wie LibreOffice, Firefox, Gimp
oder VLC fehlen dagegen, lassen sich je-
doch bei Bedarf via Paketverwaltung
nachinstallieren. Um ein solches System
später auf mehreren Computern einset-
zen zu können, muss es möglich sein, da-
raus mithilfe eines Werkzeugs ISO-Abbil- 1 Der Startbildschirm von Cubic erfordert nur die Angabe eines Arbeitsverzeichnisses.
der anzulegen. Damit nicht nur Linux-
Profis damit umgehen können, sollte sich
ein solches Tool leicht bedienen lassen. les Linux-System benötigen. Danach le-
gen Sie mithilfe eines Werkzeugs zum
Generieren von ISO-Abbildern aus dem
Vorgehensweise
laufenden System ein Image an, in das
Es gibt zwei Möglichkeiten, um ein indivi- Sie das komplette laufende System inte­
duelles ISO-Image einer Distribution zu grieren, einschließlich der frisch installier-
generieren. Im ersten Fall installieren und ten zusätzlichen Anwendungen.­
starten Sie aus einem Live-System heraus Im zweiten Fall dient ein vorhandenes,
zunächst die gewünschte Distribution aus dem Internet bezogenes ISO-Abbild
auf Ihrem Rechner und entfernen alle ohne vorherige Installation als Grundlage
­unerwünschten Applikationen. In dieses für ein maßgeschneidertes System. Dabei
Rumpfsystem installieren Sie dann alle generiert das Werkzeug das individuelle
Anwendungen, die Sie für Ihr individuel- System aus dem Standardabbild, indem
es dieses lädt und zum Bearbeiten tem-
porär entpackt. Anschließend legt es aus
Nicht berücksichtigt dem von Ihnen modifizierten Abbild das
individuelle Image an.
Unter Linux gibt es seit Langem diverse
Je nachdem, ob Ihr individuelles Linux-
grafische Werkzeuge zum Erstellen indivi-
Derivat von einem optischen Medium
dueller ISO-Abbilder. Viele Projekte der oder einem USB-Wechseldatenträger
ersten Stunde wurden jedoch inzwischen starten soll, benötigen Sie unterschied­
eingestellt. Dazu zählen beispielsweise das liche Werkzeuge zum Generieren des
seit vier Jahren inaktive Customizer , ein ISO-Abbilds. Daher sollten Sie prüfen, ob
Programm zum Remastern eines Ubuntu- Sie mit dem Werkzeug zum Anlegen hyb-
Live-Systems, sowie Bodhibuilder , ein in ride Images erstellen können, also solche,
Bodhi Linux integriertes Programm, des- die sowohl von einem optischen als auch
sen Einsatz unter aktuellen Ubuntu- und einem Flash-Medium starten. Listing 1: Cubic einrichten
Linux-Mint-Varianten aufgrund nicht mehr $ sudo apt‑add‑repository
auflösbarer Abhängigkeiten scheitert. Pro- ■ Cubic ppa:cubic‑wizard/release
gramme wie Penguins’ Eggs  oder das $ sudo apt update
­Linux Live Kit  fallen mangels grafischer Der Custom Ubuntu ISO Creator oder
$ sudo apt install
kurz Cubic  lässt sich unter Ubuntu,
Bedienoberfläche aus der Konkurrenz. ‑‑no‑install‑recommends cubic
Debian sowie deren Derivaten zum Anle-

06.2023 www.linux-user.de 79
Know-how DIY-Distrubutionen

tems he­raus und gelangen in ein nahezu


1
leeres Fenster .
Dort wählen Sie zunächst ein Projekt-
verzeichnis, in dem die Daten für das zu
generierende ISO-Image landen. Klicken
Sie dazu auf das Ordnersymbol unten
rechts im Fenster neben der noch leeren
Pfadanzeige, und wählen Sie danach im
Dateimanager das gewünschte Verzeich-
nis aus. Sie übernehmen es mit einem
Klick auf den grünen Select-Button oben
rechts im Dateimanager. Anschließend
klicken Sie im primären Fenster oben
rechts auf Next.
Im nächsten Dialog legen Sie das
Quell- und das Zielabbild fest. Cubic ge-
neriert das neue Image nicht aus einem
laufenden System, sondern aus einem
bereits vorhandenen ISO-Image. Sie
­können beliebige Abbilddateien nutzen.
­Idealerweise setzen Sie dabei auf ein
2 Das Quellabbild müssen Sie vor dem Bearbeiten entpacken. möglichst ohne viel Ballast vorliegendes
Image als Grundlage auf.
Bei der Auswahl des Quellabbilds füllt
gen eines individuellen ISO-Abbilds nut- Cubic die meisten Felder im Dialog auto-
zen. Sie beziehen die Software aus ei- matisch aus. Dabei setzt es hinter jedem
nem gesonderten Repository. Um das vollständig und korrekt ausgefüllten Feld
Archiv in die Paketverwaltung einzupfle- ein Häkchen. Treten Probleme auf oder
gen, öffnen Sie zunächst ein Terminal kann Cubic bestimmte Daten aus dem
und aktualisieren Ihr System. Dann bin- Quellabbild nicht ermitteln, setzt es ein
den Sie das Cubic-Repo in Ihr laufendes Fragezeichen hinter das jeweilige Feld.
System ein und installieren die Software Optionale Angaben wie die Release-URL
(Listing 1). Anschließend starten Sie das dürfen Sie ignorieren und die entspre-
Tool aus der Menühierarchie des Sys- chenden Felder freilassen.

3 Cubic listet alle in einem Abbild vorhandenen Anwendungen auf.

80 www.linux-user.de 06.2023
DIY-Distrubutionen Know-how

Nach einem Klick auf Next analysiert


­Cubic das Quellabbild. Treten während-
dessen Probleme auf, etwa weil es sich
nicht um ein Ubuntu- oder Debian-Deri-
vat handelt, zeigt das Programm eine
Fehlermeldung an. Erfolgreich identifi-
zierte Abbilder öffnet es und extrahiert
die Daten. Anschließend klicken Sie
oben rechts im Fenster auf Customize
und gelangen in ein virtuelles Terminal,
wobei Cubic ein chroot ausführt.
Sie können nun am Prompt mit dem
2
extrahierten ISO-Abbild arbeiten . Da
Sie im virtuellen Terminal mit Adminis­
tratorrechten agieren, können Sie alle
Befehle ohne vorangestelltes sudo direkt
eingeben. Es empfiehlt sich, in einem
ersten Schritt via apt update && apt
upgrade das ISO-Abbild auf den aktuel-
len Stand zu bringen. Dabei kann je nach
Alter des Images ein erhebliches Down-
load-Volumen anfallen. 4 Cubic zeigt grafisch, welche Komprimierungsmethode am effizientesten arbeitet.
Nach dem Update des Systems entfer-
nen Sie mit dem Befehl apt purge Pro-
gramm alle Applikationen, die zwar im Mit einem anschließenden Klick auf Ge-
Standard-ISO-Abbild eingepflegt, für Sie nerate starten Sie das Anlegen des neu-
aber nicht von Nutzen sind. Umgekehrt en ISO-Abbilds. Dabei führt Cubic meh-
integrieren Sie über apt install Pro- rere Schritte aus, die die Software ein-
gramm von Ihnen benötigte Anwendun- zeln anzeigt und mit einem Fortschritts-
gen in das maßgeschneiderte Image. balken dokumentiert. Je nach Umfang
Wissen Sie nicht genau, welche Pro- des zu erzeugenden Abbilds und der
gramme im Quell-ISO vorliegen, installie- Ressourcen des PCs kann das einige Zeit
ren Sie nach Beendigung des Updates in Anspruch nehmen. Nachdem Sie die
die neuen Anwendungen und klicken einzelnen Schritte erfolgreich abge-
dann oben rechts im Terminal auf Next. schlossen haben, präsentiert Ihnen das
Die Software analysiert das aktualisierte Tool in einem Übersichtsfenster einige
Abbild und geleitet Sie weiter in ein Daten zum neuen Image.
Fenster mit einer Liste der vorhandenen Für einen ersten Test öffnen Sie durch
3
Programme . Darin gehen Sie die auf- einen Klick auf den grünen Schalter Test
geführten Anwendungen durch und set- oben links im Fenster eine Qemu-VM, in
zen ein Häkchen vor jene, die Sie löschen der Cubic das neue Live-System startet.
wollen. Zu den typischen Kandidaten Nachdem Sie die virtuelle Umgebung
zählen etwa die vielen zusätzlichen Pake- geschlossen haben, gelangen Sie zurück
te zur Lokalisierung von LibreOffice. in den letzten Dialog von Cubic und be-
Danach schalten Sie weiter in den enden die Anwendung durch einen Klick
nächsten Dialog, wo Sie zwischen ver- auf Close. Das neue Abbild ist schließlich
schiedenen Kerneln für das neue Abbild funktionsfähig generiert.
wählen. Im letzten Dialog geben Sie die
Komprimierung für das neue Dateisys-
■ MX Linux
tem an. Sie haben hier die Auswahl zwi-
schen mehreren Methoden, wobei Cubic Bei der auf Debian sowie AntiX Linux ba-
deren Kompressionseffizienz und die re- sierenden Distribution MX Linux haben
lative Größe des entstehenden Abbilds in Sie die Wahl zwischen einer Reihe von
4
einem Graphen darstellt . Die ge- Desktop-Umgebungen. Als primäre Ar-
wünschte Kompressionsmethode mar- beitsoberfläche dient dabei der schlanke
kieren Sie durch Anwahl des Radiobut- XFCE-Desktop, der in einer optisch auf-
tons vor der jeweiligen Option. gemöbelten Variante zum Einsatz kommt.

06.2023 www.linux-user.de 81
Know-how DIY-Distrubutionen

dem Schnappschuss übergehen. Die


Ausschlussdatei /etc/mx‑snapshot‑ex‑
clude.list enthält bereits eine umfang-
reiche Liste mit auszuschließenden Ver-
zeichnissen inklusive versteckter Dateien
und Ordner. In diese Textdatei können
Sie leicht weitere Inhalte eintragen –
auch in Form von Platzhaltern -, die Sie
nicht einbeziehen wollen.
Haben Sie die Ausschlussliste ergänzt,
passen Sie im Dialog zum Anlegen des
ISO-Abbilds die Komprimierungsmetho-
de an. Dabei bietet Ihnen das Werkzeug
mehrere verschiedene Optionen in ei-
5
nem Auswahlfeld an . Unter Art des
Snapshots modifizieren Sie durch Setzen
eines Radiobuttons zudem den Typ des
ISO-Abbilds. Zur Auswahl stehen außer-
dem das Beibehalten der Benutzerkon-
5 MX-Snapshot gestattet das detaillierte Bearbeiten der Inhalte des neuen ISO-Abbilds. ten und das Generieren eines Abbilds
ohne Nutzer-Accounts. Der komplette
Snapshot mit Nutzerkonten ist vor allem
MX Linux fällt vor allem durch zahlreiche dann sinnvoll, wenn es Anwenderdaten
eigenentwickelte Werkzeuge aus dem mitzusichern gilt. Die Variante ohne
Rahmen. Dazu zählt ein Tool, mit dem Sie ­Accounts eignet sich vor allem zum An­
aus dem laufenden System heraus ein in- legen eines Abbilds, das als installierbare
dividuelles Abbild zusammenstellen. Es Distribution auf Computern mit unter-
findet sich in der Menü­hierarchie der ein- schiedlichen Anwendern dienen soll.
zelnen Desktop-Umgebungen unter dem Nach einem erneuten Klick auf Weiter
Namen MX Schnappschuss . Die App verweist das Tool darauf, dass das Anle-
generiert einen Snapshot zum Transfer gen der Abbilddatei eine Weile dauern
auf einen USB-Speicherstick oder opti- kann. Mit einem Klick auf OK starten Sie
schen Datenträger, der sich anders als bei das Generieren des Images. Die Routine
einer herkömmlichen Systemsicherung zeigt den Verlauf in einem eigenen Fens-
wie ein Live-System nutzen lässt. ter mit einem Fortschrittsbalken an und
Nach dem Aufruf der Applikation ge- blendet zudem Protokolleinträge ein . 6
langen Sie in einen Dialog, der anzeigt, Nach dem Fertigstellen des Abbilds er-
ob auf dem Datenträger genügend freier scheint ein kleines Fenster mit einer Er-
Speicherplatz zur Generierung des ISO- folgsmeldung, das Sie schließen und da-
Abbilds bereitsteht. Gegebenenfalls nach auch MX-Snapshot beenden. Das
wechseln Sie für den anzulegenden generierte ISO-Abbild übertragen Sie
Schnappschuss in ein anderes Verzeich- nun beispielsweise mit dem Werkzeug
nis. Im selben Dialog legen Sie den Na- MX Live Usb-Maker als Live-System auf
men des ISO-Abbilds fest und können ­einen USB-Stick.
Boot-Optionen für den Bootmanager
Grub definieren. Haben Sie alle Angaben
■ PCLinuxOS
überprüft und bei Bedarf modifiziert, kli-
cken Sie unten rechts auf Weiter. Das aus den USA stammende PCLinuxOS
Im nächsten Dialog nehmen Sie bei gibt es seit vielen Jahren in unterschied-
Bedarf einige vorgegebene Verzeichnisse lichsten Varianten mit diversen Arbeits-
durch Setzen eines Häkchens von der umgebungen. Die ursprünglich von
­Integration in den Schnappschuss aus. Mandrake Linux abgeleitete Distribution
Hierbei handelt es sich größtenteils um läuft ausschließlich auf 64-Bit-Hardware,
Unterordner im persönlichen Verzeich- wobei sie alle gängigen Anwendungen
nis. Darüber hinaus können Sie durch ei- für den täglichen Einsatz im Büro anbie-
nen Klick auf die Schaltfläche Ausschluss- tet. Neben für den jeweiligen Desktop
Datei bearbeiten wahlfreie Ordner bei spezifischen Tools bringt PCLinuxOS

82 www.linux-user.de 06.2023
DIY-Distrubutionen Know-how

v­ iele ursprünglich aus Mandrake Linux


stammende grafische Werkzeuge mit.
Als Paketverwaltungssystem dient Apt-
RPM, das grafische Frontend Synaptic er-
möglicht die bequeme Installation zu-
sätzlicher Software. Zum Erstellen indivi-
dueller Images bringt PCLinuxOS vorin­
stalliert das Kommandozeilenprogramm
Mylivecd mit. In den Repositories findet
sich daneben MyLiveUSB als grafisches
Werkzeug zum Anlegen eines multiboot-
fähigen USB-Wechseldatenträgers. Hinzu
kommt das grafische Frontend MyLive­
GTK, das beim Anlegen von bootfähigen
ISO-Abbildern hilft . Anders als Cubic
unter Ubuntu oder Debian benötigen die
Tools unter PCLinuxOS kein externes ISO-
Abbild als Arbeitsbasis. Stattdessen ge-
nerieren die Tools das Abbild direkt aus
einem laufenden System heraus. 6 MX-Snapshot liefert beim Erstellen des neuen ISO-Images genaue Protokolle.
PCLinuxOS weist je nach verwendetem
Abbild Besonderheiten auf. Auf jeden Fall
müssen Sie zunächst die deutsche Lokali- im Fenster Pfade zu einzelnen Verzeich-
sierung einrichten. Dazu dient das bereits nissen und Dateien, die es aus dem zu
vorinstallierte Paket addlocale, das mithil- generierenden ISO-Image auszuschlie-
fe einer grafischen Oberfläche die Ar- ßen gilt. Dazu dienen die Schaltflächen
beitsumgebung auf die deutsche Spra- Add Directory und Add Files unter den
che umstellt. Vor dem Aufruf von Add­ beiden Listenbereichen für die Ordner
locale müssen Sie allerdings erst einmal und Dateien. Ein Klick darauf öffnet ei-
ein System-Update vornehmen. Dann nen Dateimanager, in dem Sie die kom-
starten Sie die Routine durch Eingabe pletten Pfade für die auszuschließenden
von addlocale am Prompt. Mit wenigen Dateien und Ordner angeben.
Mausklicks passen Sie nun die Lokalisie-
rung an und gelangen nach einem an-
schließenden Neustart auf den deutsch-
sprachigen Desktop. In den kleineren
Community-Versionen des Mandrake-­
Derivats sind allerdings noch nicht alle
Menübezeichnungen eingedeutscht.
Nun löschen Sie mithilfe von Synaptic
obsolete Programme und installieren
­danach die individuell gewünschten An-
wendungen in das laufende System. Da-
bei dürfen Sie nicht vergessen, auch die
beiden Pakete mylivegtk und myliveusb
ins laufende System zu ziehen. Um da-
nach ein Abbild des laufenden Systems
zu generieren, öffnen Sie über die Menü-
hierarchie der jeweils aktuellen Arbeits-
umgebung das Tool MyLiveGTK.
Daraufhin erscheint ein zunächst un-
übersichtlich wirkender, bei näherer Be-
trachtung jedoch einfach zu bedienen-
der Dialog, in dem Sie oben den Namen
des zu generierenden ISO-Abbilds und
den Arbeitspfad für temporäre Dateien 7 Bei MyLiveGTK legen Sie alle Einstellungen zum Anlegen
angeben. Danach definieren Sie mittig ­eines neuen ISO-Abbilds in nur einem Dialog fest.

06.2023 www.linux-user.de 83
Know-how DIY-Distrubutionen

Haben Sie alle Daten eingepflegt, legen an. Zugleich entsteht ein persistenter Be-
Sie die Kompression für das neue Abbild reich für das spätere Sichern von Anwen-
fest und bestimmen die zu verwendende derdaten. Im nächsten Dialog geben Sie
Kernel-Version, falls mehrere zur Auswahl den Inhalt des auf den USB-Flash-Stick zu
stehen. Voreingestellt übernimmt das transferierenden ISO-Abbilds an. Dazu
Tool den aktuellen Kernel in das ISO-Ab- erscheint ein Auswahlfeld, das Sie mithil-
bild. Klicken Sie unten links im Fenster fe eines Dateimanagers bestücken.
auf Go!, generiert es anhand Ihrer Einstel- Im letzten Dialog definieren Sie, wel-
lungen das ISO-Abbild. Dabei blendet es che Boot-Optionen für den USB-Spei-
in einem kleinen Infobereich Meldungen cherstick das Tool im Bootmanager Grub
aus den laufenden Aktionen ein . 7 anlegt. Hier aktivieren Sie die gewünsch-
Die Fertigstellung des individuellen ten Settings jeweils durch Setzen eines
Abbilds kann abhängig von Softwarebe- 8
Häkchens . Danach transferiert My­
stand und Rechnerkapazität mehr als LiveUSB das ISO-Abbild auf den Stick.
8 Die Boot-Optionen von MyLiveUSB. eine Stunde dauern. Die Software signa- Um das individualisierte ISO-Abbild auf
lisiert den Verlauf der Aktion mithilfe ei- einen optischen Datenträger zu transfe-
nes Fortschrittsbalkens. Um das neue rieren, nutzen Sie eines der herkömmli-
ISO-Abbild auf einen USB-Stick zu trans- chen grafischen Frontends zum Anlegen
ferieren, nutzen Sie anschließend das optischer Medien wie Brasero oder K3b.
ebenfalls in der Menüstruktur des Desk-
tops vorhandene Programm MyLiveUSB.
Fazit
Nach dem Start und einer entspre-
chenden Authentifizierung als Systemad- Grafische Frontends zum individuellen
ministrator weist das Tool Sie an, einen Anpassen startfähiger ISO-Abbilder sind
Speicherstick mit dem Computer zu ver- unter Linux erstaunlich rar gesät. Anders
binden. Kommen Sie dieser Aufforde- als die entsprechenden konsolenbasier-
rung nach, erkennt es den Datenträger ten Werkzeuge erlauben sie eine intuiti-
automatisch und zeigt ihn in einem ge- ve Bedienung und lassen kaum Wünsche
sonderten Dialog an. Bereits vorher an- offen. Allerdings entstammen die Tools
gesteckte USB-Sticks identifiziert die An- in aller Regel einer speziellen Distribu­
wendung nicht. Die Erkennung schlägt tionsfamilie und funktionieren nur in
auch dann fehl, wenn der Datenträger ­deren Rahmen. Appimage- oder Flatpak-
keine FAT32-Partition enthält. Pakete der hier vorgestellten Anwendun-
Sobald MyLiveUSB den Speicherstick gen gibt es noch nicht. Anwender von
anzeigt, klicken Sie auf Restructure, um Debian, Ubuntu und deren Derivaten so-
das vorhandene Dateisystem zu löschen wie von PCLinuxOS und einigen weite-
und ein neues Partitionsschema auf dem ren Distributionen mit RPM-Paketverwal-
Medium erzeugen zu lassen. Das Tool in- tung können jedoch dank der grafischen
tegriert dabei ein EFI-Boot-System auf Front­ends unkompliziert individuelle
den Stick und legt mehrere Partitionen ISO-Images erstellen. (jlu) █

Programme zum Anlegen individueller ISO-Images


Cubic MX-Snapshot MyLiveGTK
Lizenz GPLv3 GPLv3 GPLv3
Funktionen
Architektur 64 Bit 64 Bit 64 Bit
ISO-Image aus ISO-Image ■ ■ ■
ISO-Image aus laufendem System ■ ■ ■
ISO-Image mit definiertem Nutzer ■ ■ ■
ISO-Image ohne Nutzerkonten ■ ■ ■
Weitere Infos und Kernel-Auswahl ■ ■ ■
interessante Links
Auswahl Komprimierungsmethode ■ ■ ■
www.linux-user.de/qr/49141
Angabe Grub-Boot-Parameter ■ ■ ■

84 www.linux-user.de 06.2023
PCGH – Das IT-Magazin für Gamer.
Immer aktuell mit Kaufberatung,
Hintergrundartikeln und Praxistipps.

HARDCORE
FÜR SCHRAUBER

WWW.PCGH.DE PCGH bequem online bestellen: shop.pcgh.de


Programmieren in der Cloud mit Github Codespaces

Völlig losgelöst
Sie möchten ein Programm aus den Quellen bauen und stellen fest, dass Ihrer Distribution die
nötigen Tools und Softwarepakete in den gewünschten Versionen fehlen. Statt auf eine eigene
virtuelle Maschine können Sie jetzt auf Githubs Codespaces ausweichen. Bernhard Bablok

© Yuri Kuzmin / 123RF.com

86 www.linux-user.de 06.2023
Github Codespaces Know-how

2 Über Templates richten Sie kurzerhand


die passende Umgebung ein.

1 Codespaces erlaubt den Zugriff auf die Entwicklungsplattform per Webbrowser.

Vereinfacht gesagt, bestehen Codespa- übernehmen Sie das manuell selbst.


ces aus einem Docker-Container mit ei- ­Gestoppte Codespaces beanspruchen
nem Linuxsystem und dem Editor Visual ­lediglich Speicherplatz, kosten jedoch
Studio Code als alleiniger Benutzerober- ­keine CPU-Zeit. Wenn Sie das Standard-
1
fläche . VSC besitzt ein integriertes Image nutzen, berechnet Github nur den
Terminal und verfügt dementsprechend Platz, den Ihre eigenen Dateien samt
über eine Kommandozeile. Dank Root- nachinstallierter Software belegen.
Zugriff installieren Sie damit vor allem Die Hürden für den Einsatz von Code-
beliebige Software nach. spaces liegen niedrig: Sie benötigen da-
Ein Codespace stellt Rechenleistung für zwar ein Github-Konto, müssen aber
(CPUs) und Speicherplatz bereit. Dafür zum Beispiel keine Kreditkartennum-
verlangt der Betreiber selbstverständlich mern hinterlegen. Den aktuellen Ver-
Geld, in diesem Fall Microsoft als Github- brauch sehen Sie in Ihrem Profil unter
Besitzer. Das kostenlose Einsteigerange- den Einstellungen.
bot besteht aus pro Monat 120 CPU-Stun- Den Link zu den Codespaces  plat-
den und 15 GByte Plattenplatz. Da das ziert Github prominent im Zentrum der
kleinste System zwei CPUs mitbringt, ste- Webseiten. Von dort starten Sie einen
hen Ihnen de facto 60 Stunden Rechen- neuen Codespace über Templates 2
zeit zur Verfügung. Das genügt für täglich oder verwalten bereits existierende.
etwa zwei Stunden Programmieren. Schneller als mit dem Blank getauften
Ein einmal erstellter Codespace geht Template kommen Sie nirgends an ein
nicht verloren. Damit die Kostenuhr nicht lauffähiges Ubuntu heran – ideal, um et-
weitertickt, wird er nach einer halben was auszuprobieren, ohne den eigenen
Stunde ohne Eingaben gestoppt. Github
löscht gestoppte Codespaces nach 30 Ta-
gen Inaktivität automatisch. Alternativ Listing 1: devcontainer.json
01 {
02  "name": "CircuitPython Cortex‑M Build‑Environment",
README
03  "image": "mcr.microsoft.com/devcontainers/universal:2‑linux",
Hinter Githubs Codespaces steckt ein kos- 04  "postCreateCommand": ".devcontainer/cortex‑m/on‑create.sh",
tenpflichtiges Angebot, das Github seit 05  "remoteEnv": {
­November 2022 allen Entwicklern bereit- 06  "PATH": "/workspaces/gcc‑arm‑none‑eabi/
stellt. Das Projekt bietet den Service als bin:${containerEnv:PATH}"
Freemium-Modell an, dementsprechend 07  }
gibt es ein kostenloses Basisangebot. 08 }

06.2023 www.linux-user.de 87
Know-how Github Codespaces

Rechner zuzumüllen. Mehr Nutzen bie- startet das Skript aus Zeile 4. Zu guter
ten allerdings für den Anwendungs- Letzt passen die Zeilen 5 bis 7 den Such-
zweck maßgeschneiderte Codespaces. pfad für ausführbare Dateien an.
Das Beispiel stammt aus dem offiziel-
len CircuitPython-Repository. Das Ein-
Codespace einrichten
richten einer Build-Umgebung für dieses
Wer Projekte hostet, den interessiert häu- Projekt gestaltet sich nicht ganz trivial.
fig die Mitarbeit der Community. Mitent- Mit der Definitionsdatei dagegen baut
wicklern fällt das leichter, wenn das Pro- das Projekt eine direkt einsatzfähige
jekt eine angepasste Konfiguration für ­Umgebung – nach wenigen Klicks und
den Codespace enthält. Das reicht von ungefähr zehn Minuten Wartezeit.
Initialisierungsskripten bis hin zu völlig Normalerweise klonen Sie ein Projekt
eigenen Docker-Containern als Basis. lokal auf Ihre Festplatte, indem Sie den
Listing 1 zeigt eine solche Definitions- Projektpfad kopieren und git clone auf-
datei mit dem Namen devcontainer. rufen. Bei einem Codespace nutzen Sie
3 Mithilfe einiger weniger Mausklicks json, sie liegt im Wurzelverzeichnis des den Button Code, wählen dann Codespa-
klonen Sie bequem Ihr Projekt. Projekts. Alternativ gibt es ein verstecktes 3
ces statt Local und klicken dort auf + .
Verzeichnis .devcontainer. Als dritte Wenn das Projekt Varianten anbietet, ge-
­Variante lassen sich mehrere alternative hen Sie über das Dreipunktemenü + New
Konfigurationen in einer weiteren Ver- with options… und spezifizieren die pas-
zeichnisebene anbieten, etwa .devcon‑ senden Optionen im Folgedialog . 4
tainer/cortex‑m/devcontainer.json
oder .devcontainer/esp32/devcontai‑
Anwendungsbeispiel
ner.json. Eine tiefere Schachtelung ge-
stattet das Projekt derzeit nicht, zudem Zu den typischen Anwendungsfällen für
fehlen Vererbungsmechanismen. Codespaces gehören Webanwendungen.
Die Anpassungen aus Listing 1 sind Sie benötigen oft eine spezifische Version
schnell erklärt: Der Container basiert auf von Node.js samt Zusatzpaketen. Auf ei-
dem Standard-Image (Zeile 3). Nach dem nem gewöhnlichen Entwicklerrechner
Erstellen und dem Klonen des Projekts entsteht schnell Chaos, sobald Sie darauf

5 Der Timeserver gibt die lokale Zeit samt etlicher


­Zusatzinformationen im JSON-Format aus. 4 Im Auswahldialog legen Sie die Eckdaten für Ihr Projekt fest.

88 www.linux-user.de 06.2023
Github Codespaces Know-how

mehrere Anwendungen parallel betreu- Obwohl es sich ledig-


en. Ein abgeschotteter, projektspezifi- lich um eine kleine
scher Codespace schafft da Abhilfe. Da- Konfigurationsdatei
mit das Testen funktioniert, müssen Sie handelt, erstellt Visual
den Server-Port allerdings für den Brow- Studio Code sie über
ser des Entwicklers zugänglich machen. einen kleinen Dialog,
Das hier gezeigte Beispiel stammt aus den Sie über die Kom-
einem meiner Projekte . Es geht um ei- mandopalette errei- 6 Die integrierte Suchfunktion hilft Ihnen dabei, die pas-
nen Miniserver, dessen einzige Funktion 6
chen . Am ein- sende Konfigurationsdatei zu finden.
darin besteht, die lokale Zeit in einer fachsten funktioniert
5
JSON-Struktur auszugeben . Im heimi- das, indem Sie in der
schen Netz versorgt er dementsprechend Kommandopalette dev container ein-
Mikrokontroller mit der aktuellen Zeit, geben und die Option Add Dev Container
ohne dass diese mit Zeitzonen und Som- Configuration Files auswählen. Der fol-
merzeit/​Winterzeit herumrechnen müs- gende Dialog bietet verschiedene Varian-
sen. Der Server bildet die Schnittstelle ten für das Feintuning an. Die generierte
von worldtimeapi.​­org nach, die grund- Datei enthält auskommentiert eine Reihe
sätzlich dasselbe leistet, sich jedoch als
notorisch unzuverlässig erweist.
Das Projekt stellt zwar keine besonde- Listing 2: Python-Container
ren Anforderungen an die Entwicklungs- {
umgebung, aber Codespaces eignen sich "name": "Python 3",
trotzdem gut für Tests. Die Definitionsda-
"image": "mcr.microsoft.com/devcontainers/python:0‑3.9",
tei aus Listing 2 startet ein passendes
"postCreateCommand": "pip3 install ‑‑user pytz"
Image und installiert ein noch nicht im
}
Image enthaltenes Paket nach.

Hier finden Sie Linux-Profis


ganz in Ihrer Nähe!
Service IT-Profimarkt

ITMARKT
PROFI
hochwertige Produkte und Leistungen.
Weitere Informationen:
Die exakten Angebote jeder Firma ent-
nehmen Sie deren Homepage. Der ers- Computec Media GmbH
ten Orientierung dienen die Kategorien
Anzeigenabteilung
Hardware, Software, Seminaranbieter,
Systemhaus, Netzwerk/TK sowie Schu- Dr.-Mack-Str. 83
lung/Beratung. Der IT-Profimarkt-Eintrag D-90762 Fürth
Sie fragen sich, wo Sie maßgeschneider-
ist ein Service von Linux-Magazin und
te Linux-Systeme sowie kompetente An-

Online
LinuxUser.
sprechpartner zu Open-Source-Themen Tel.: +49 (0) 911 / 2872-252
finden? Der IT-Profimarkt weist Ihnen Besonders komfortabel finden Sie einen
hier als zuverlässiges Nachschlagewerk Linux-Anbieter in Ihrer Nähe online über Fax: +49 (0) 911 / 2872-241
den richtigen Weg. Die im Folgenden die Umkreis-Suche. Schauen Sie einfach
gelisteten Unternehmen beschäftigen mal rein unter:
E-Mail: anzeigen@linux-user.de
Experten auf ihrem Gebiet und bieten http://www.it-profimarkt.de.

IT-Profimarkt
Firma Anschrift Telefon Web 1 2 3 4 5 6
Schlittermann internet & unix support 01099 Dresden, Tannenstr. 2 0351-802998-1 www.schlittermann.de 3 3 3 3

imunixx GmbH UNIX consultants 01468 Moritzburg, Heinrich-Heine-Str. 4 0351-83975-0 www.imunixx.de 3 3 3 3 3

Heinlein Support GmbH 10119 Berlin, Schwedter Straße 8/9b 030-405051-0 www.heinlein-support.de 3 3 3 3 3

TUXMAN Computer 10369 Berlin, Anton-Saefkow-Platz 8 030-97609773 www.tuxman.de 3 3 3 3 3

PC-COLLEGE Training GmbH 10963 Berlin, Stresemannstraße 78 0800 5777 333 linux.pc-college.de 3 3

Compaso GmbH 13125 Berlin, Achillesstraße 61 030-3269330 www.compaso.de 3 3 3 3 3

mpex GmbH 12101 Berlin, Werner-Voß-Damm 62 030-780 97 180 www.mpex.de 3 3 3

Sybuca GmbH 20459 Hamburg, Herrengraben 26 040-27863190 www.sybuca.de 3 3 3 3 3

talicom GmbH 30169 Hannover, Calenberger Esplanade 3 0511-123599-0 www.talicom.de 3 3 3 3

Linux-Systeme GmbH 45277 Essen, Langenbergerstr. 179 0201-298830 www.linux-systeme.de 3 3 3 3 3

Linuxhotel GmbH 45279 Essen, Antonienallee 1 0201-8536-600 www.linuxhotel.de 3

dass IT GmbH 50674 Köln, Händelstr. 25-29 0221 / 35 65 666-0 www.dass-it.de 3 3 3 3 3

os-cillation GmbH 57072 Siegen, Hohler Weg 75 0271 313680 www.os-cillation.de 3 3 3

Print, im Marktteil
LinuxHaus Stuttgart 70565 Stuttgart, Hessenwiesenstraße 10 0711-2851905 www.linuxhaus.de 3 3 3 3 3

Manfred Heubach EDV und Kommunikation 73730 Esslingen, Hindenburgstr. 171 0711-4904930 www.heubach-edv.de 3 3 3 3

in-put GbR - Das Linux-Systemhaus 75179 Pforzheim, Kurze Steig 31 07231 / 440785 -0 www.in-put.de 3 3 3 3 3 3

Tralios IT GmbH 76133 Karlsruhe, Douglasstr. 24-26 0721-94269664 www.tralios.de 3 3 3 3 3

Bodenseo 78224 Singen, Pomeziastr. 9 07731-1476120 www.bodenseo.de 3 3

Concat AG 81829 München, Konrad-Zuse-Platz 8 089-89080500 www.synergysystems.de 3 3 3 3 3

B1 Systems GmbH 85088 Vohburg, Osterfeldstraße 7 08457-931096 www.b1-systems.de 3 3 3 3 3

Tuxedo Computers GmbH 86343 Königsbrunn, Zeppelinstr. 3 08231 - 99 19 001 www.linux-onlineshop.de 3 3 3 3

OSTC Open Source Training and Consulting GmbH 90425 Nürnberg, Waldemar-Klink-Str. 10 0911-3474544 www.ostc.de 3 3 3 3 3 3

Thomas-Krenn.AG 94078 Freyung, Speltenbach-Steinäcker 1 08551-9150-400 www.thomas-krenn.com 3

LinuxCampus.net A-2700 Wiener Neustadt, Brodtischgasse 4 +43 (0)2622 42255-20 www.LinuxCampus.net 3 3

Siedl Networks GmbH A-3500 Krems a. d. Donau, Dr.-Franz-Wilhelm-Str. 2 +43 (0)2732 71545-0 www.siedl.net 3 3 3 3 3

CATATEC CH-3013 Bern, Dammweg 43 +41-31-3302630 www.catatec.ch 3 3 3

1 = Hardware 2 = Netzwerk 3 =Systemhaus 4 = Seminaranbieter 5 = Software 6 = Schulung/Beratung

92 www.linux-user.de 01.2021

IT PROFI
092-092_it-profimarkt.indd 92 30.11.2020 16:16:35

MARKT www.it-profimarkt.de
Know-how Github Codespaces

7 Erst eine funktionierende Portweiterleitung erlaubt den Remote-Zugriff auf das Projekt.

von Attributen wie den Befehl postCrea‑ Vorteil dieses Setups liegt in einer merk-
teCommand, den Sie entsprechend Ihrer lich flüssigeren Bedienung und dem Ver-
eigenen Bedürfnisse einfügen. wenden ihrer vertrauten lokalen Konfigu-
Wenn Sie das Anwendungsprogramm ration, etwa der Tastaturbelegung.
aus dem Codespace heraus starten, gibt
es den passenden Port gleich frei. Klicken
Fazit
Sie unter Ports mit der Maus darauf, ruft
der Browser anschließend die Anwen- Dank der geringen Hemmschwellen, die
7
dung auf . Zudem erlaubt das Projekt, Github für die Codespaces setzt, verwan-
Ports manuell freizugeben. delt sich das Aufbauen einer Wegwerf-
Die technischen Voraussetzungen für umgebung in ein Kinderspiel. CPU- und
Codespaces sind minimal, ein zeitgemä- Speicherausstattung reichen an moderne
ßer Browser genügt. Wenn Sie den Quell- Desktoprechner und Laptops zwar nicht
texteditor lokal vorhalten, nutzen Sie den heran, aber für typische Entwickleraufga-
direkten Weg, indem Sie das Plugin Code‑ ben genügt die Rechenleistung häufig.
spaces installieren, um die Browser- Entwicklerteams profitieren vermut-
schicht zu überspringen. Zusätzlich zum lich am stärksten, denn ein Codespace
Explorer-Fenster für lokale Dateien (links definiert eine exakte Arbeitsumgebung.
oben in der Seitenleiste) verfügen Sie da- Die Abhängigkeit von individuell instal-
nach über einen Remote-Explorer für den lierten Softwarevarianten fällt damit weg
8
Zugriff auf Codespaces . Einmal über und die Ergebnisse lassen sich einfacher
einen Klick auf den stilisierten Stecker reproduzieren. Außerdem sinken die
verbunden, sehen Sie dort den Datei- Hardwareanforderungen an den Client –
baum des Remoteprojekts. Der große ein Rasperry Pi der vierten Generation
mit lokal installiertem Visual Studio Code
trägt ihnen vollkommen Rechnung. Auf
dieser schlanken Client-Maschine kön-
nen Sie sogar problemlos klassischen
x64-Code entwickeln. (tle/csi) █

Der Autor
Bernhard Bablok arbeitet bei der Allianz
Technology SE als SAP-HR-Entwickler.
Wenn er nicht Musik hört, mit dem Radl
oder zu Fuß unterwegs ist, beschäftigt er
sich mit Themen rund um Linux, Program-
mierung und Kleincomputer. Sie erreichen
ihn unter mail@bablokb.​­de.

Weitere Infos und


interessante Links
8 Nutzer von Visual Studio Code können direkt auf Codespaces www.linux-user.de/qr/48847
unter Umgehung des Browsers zugreifen.

90 www.linux-user.de 06.2023
COMMUNITY-
EDITION CC-Lizenz:
Frei kopieren und
weiter verteilen!

Jeden Monat 32 Seiten als kostenloses PDF!

Jetzt bestellen unter:


http://www.linux-user.de/ce
Service IT-Profimarkt

IT PROFI
hochwertige Produkte und Leistungen.
Weitere Informationen:
Die exakten Angebote jeder Firma ent-

MARKT
nehmen Sie deren Homepage. Der ers- Computec Media GmbH
ten Orientierung dienen die Kategorien
Anzeigenabteilung
Hardware, Software, Seminaranbieter,
Systemhaus, Netzwerk/TK sowie Schu- Dr.-Mack-Str. 83
lung/Beratung. Der IT-Profimarkt-Eintrag D-90762 Fürth
Sie fragen sich, wo Sie maßgeschneider-
ist ein Service von Linux-Magazin und
te Linux-Systeme sowie kompetente An-
­LinuxUser.
sprechpartner zu Open-Source-Themen Tel.: +49 (0) 911 / 2872-252
finden? Der IT-Profimarkt weist Ihnen Besonders komfortabel finden Sie einen
hier als zuverlässiges Nachschlagewerk Linux-Anbieter in Ihrer Nähe online über Fax: +49 (0) 911 / 2872-21
den richtigen Weg. Die im Folgenden die Umkreis-Suche. Schauen Sie einfach
­gelisteten Unternehmen beschäftigen mal rein unter:
E-Mail: anzeigen@linux-user.de
­Experten auf ihrem Gebiet und bieten http://www.it-profimarkt.de.

IT-Profimarkt
Firma Anschrift Telefon Web 1 2 3 4 5 6

Schlittermann internet & unix support 01099 Dresden, Tannenstraße 2 0351-802998-1 www.schlittermann.de ✔ ✔ ✔ ✔

imunixx GmbH UNIX consultants 01468 Moritzburg, Heinrich-Heine-Straße 4 0351-83975-0 www.imunixx.de ✔ ✔ ✔ ✔ ✔

Heinlein Support GmbH 10119 Berlin, Schwedter Straße 8/​9b 030-405051-0 www.heinlein-support.de ✔ ✔ ✔ ✔ ✔

TUXMAN Computer 10369 Berlin, Anton-Saefkow-Platz 8 030-97609773 www.tuxman.de ✔ ✔ ✔ ✔ ✔

PC-COLLEGE Training GmbH 10963 Berlin, Stresemannstraße 78 0800-5777333 linux.pc-college.de ✔ ✔

Compaso GmbH 13125 Berlin, Achillesstraße 61 030-3269330 www.compaso.de ✔ ✔ ✔ ✔ ✔

Sybuca GmbH 20459 Hamburg, Herrengraben 26 040-27863190 www.sybuca.de ✔ ✔ ✔ ✔ ✔

talicom GmbH 30169 Hannover, Calenberger Esplanade 3 0511-123599-0 www.talicom.de ✔ ✔ ✔ ✔

HECKER CONSULTING 40231 Düsseldorf, Erkrather Str. 401 0211-54248040 www.hco.de ✔ ✔

Linux-Systeme GmbH 45277 Essen, Langenberger Straße 179 0201-298830 www.linux-systeme.de ✔ ✔ ✔ ✔ ✔

1 = Hardware 2 = Netzwerk 3 =Systemhaus 4 = Seminaranbieter 5 = Software 6 = Schulung/Beratung

AUSGABE VERPASST?
Alle Artikel aus den LU-Ausgaben 01/2022 bis 12/2022 (HTML + PDF)

6,50 € zzgl. Versandkoste


n

Alle Artikel
des Jahrgangs
2022 auf DVD

Bequem online Telefon: 0911 / 993 990 98 E-Mail: computec@dpv.de


bestellen: shop.linuxuser.de/jahres-dvd/2022
IT-Profimarkt Service

IT-Profimarkt
Linuxhotel GmbH 45279 Essen, Antonienallee 1 0201-8536-600 www.linuxhotel.de ✔

dass IT GmbH 50674 Köln, Händelstraße 25-29 0221-3565666-0 www.dass-it.de ✔ ✔ ✔ ✔ ✔

os-cillation GmbH 57072 Siegen, Hohler Weg 75 0271-313680 www.os-cillation.de ✔ ✔ ✔

GONICUS GmbH 59755 Arnsberg, Möhnestraße 55 02932-916 0 www.gonicus.de ✔ ✔

LinuxHaus Stuttgart 70565 Stuttgart, Hessenwiesenstraße 10 0711-2851905 www.linuxhaus.de ✔ ✔ ✔ ✔ ✔

Manfred Heubach EDV und Kommunikation 73730 Esslingen, Hindenburgstraße 171 0711-4904930 www.heubach-edv.de ✔ ✔ ✔ ✔

in-put – Das Linux-Systemhaus GmbH 75179 Pforzheim, Kurze Steig 31 07231- 440785 ‑0 www.in-put.de ✔ ✔ ✔ ✔ ✔ ✔

Tralios IT GmbH 76133 Karlsruhe, Douglasstraße 24-26 0721-94269664 www.tralios.de ✔ ✔ ✔ ✔ ✔

Bodenseo 78224 Singen, Pomeziastraße 9 07731-1476120 www.bodenseo.de ✔ ✔

Concat AG 81829 München, Konrad-Zuse-Platz 8 089-89080500 www.synergysystems.de ✔ ✔ ✔ ✔ ✔

B1 Systems GmbH 85088 Vohburg, Osterfeldstraße 7 08457-931096 www.b1-systems.de ✔ ✔ ✔ ✔ ✔

Tuxedo Computers GmbH 86159 Augsburg, Alter Postweg 101 0821-89982992 www.tuxedocomputers.com ✔ ✔ ✔ ✔

OSTC Open Source Training and Consulting GmbH 90425 Nürnberg, Waldemar-Klink-Straße 10 0911-3474544 www.ostc.de ✔ ✔ ✔ ✔ ✔ ✔

Thomas-Krenn.AG 94078 Freyung, Speltenbach-Steinäcker 1 08551-9150-400 www.thomas-krenn.com ✔

LinuxCampus.net A-2700 Wiener Neustadt, Brodtischgasse 4 +43 (0)2622-42255-20 www.LinuxCampus.net ✔ ✔

Siedl Networks GmbH A-3500 Krems a. d. Donau, Dr.-Franz-Wilhelm-Str. 2 +43 (0)2732-71545-0 www.siedl.net ✔ ✔ ✔ ✔ ✔

CATATEC CH-3013 Bern, Dammweg 43 +41 (0)31-3302630 www.catatec.ch ✔ ✔ ✔

Anzeigen

MEHR SPASS MIT ● Linux-Erfahrung seit 1992

OPEN SOURCE!
● Ihr Dienstleister seit 1998
・GNU / Linux
・Netzwerke
・Systeme

● Mailsysteme
・sicher: DANE, DNSSEC, TLS/SSL
・flexibel: Exim (SMTP),
Dovecot (POP3/IMAP)

● Exim - MTA
・Consulting
・Schulung
・Entwicklung

internet & unix support


Tannenstr. 2, 01099 Dresden

Tel./Fax: +49 351 8029981/83

Jetzt kostenfrei anmelden für den


COMMUNITY NEWSLETTER!
www.linux-community.de/newsletter
Service Impressum

ABONNEMENT
Probeabo (3 Ausgaben) Deutschland Österreich Schweiz
No-Media-Ausgabe 15,00 € 15,00 € 15,00 €
DVD-Ausgabe 19,00 € 19,00 € 19,00 €
Ein Unternehmen der MARQUARD MEDIA GROUP AG Jahres-Abo (12 Ausgaben) Deutschland Österreich Schweiz
Verleger: Jürg Marquard
No-Media-Ausgabe 81,00 € 89,00 € 96,00 €
Redaktion/Verlag Computec Media GmbH
DVD-Ausgabe 102,00 € 110,00 € 117,00 €
Redaktion LinuxUser
Dr. -Mack-Straße 83 Jahres-DVD zum Abo * 6,70 € 6,70 € 6,70 €
90762 Fürth
Telefon: (0911) 2872-110 Preise Digital Deutschland Österreich Schweiz
E-Mail: redaktion@linux-user.de Heft-PDF Einzelausgaben 7,50 € 7,50 € 7,50 €
Web: www.linux-user.de Digital
Geschäftsführer Christian Müller, Rainer Rosenbusch Digital-Abo (12 Ausgaben) 74,99 € 74,99 € 74,99 €
Chefredakteur, Jörg Luther (jlu, v. i. S. d. P.), Kombi Digital + Print 93,00 € 101,00 € 108,00 €
Brand/Editorial Director joerg.luther@computec.de (No-Media-Ausgabe,
12 Ausgaben)
Redaktion Uli Bantle (uba), ulrich.bantle@computec.de
Thomas Leichtenstern (tle), thomas.leichtenstern@computec.de Kombi Digital + Print 114,00 € 122,00 € 129,00 €
Carina Schipper (csi), carina.schipper@computec.de (DVD-Ausgabe, 12 Ausgaben)
Linux-Community Jörg Luther, joerg.luther@computec.de
Die Probe-, Jahres- und Digital-Abos erhalten Sie in unserem Webshop unter
Datenträger Thomas Leichtenstern (tle), cdredaktion@linux-user.de https://shop.computec.de. Die Auslieferung erfolgt versandkostenfrei.
Ständige Mitarbeiter Erik Bärwaldt, Hans-Georg Eßer, Claudius Grieger, Peter Kreußel, (*) Nur erhältlich in Verbindung mit einem Jahresabonnement der Printausgabe von LinuxUser.
Claudia Meindl, Hartmut Noack, Tim Schürmann, Anna Simon,
Daniel Tibi, Ferdinand Thommes, Uwe Vollbracht Internet https://www.linux-user.de
Titel & Layout Judith Erb, Titelmotiv: dashadima, 123RF.com News und Archiv https://www.linux-community.de
Bildnachweis: 123RF.com, Freeimages und andere Facebook https://www.facebook.com/linuxuser.de
Sprachlektorat Astrid Hillmer-Bruer Schüler- und Studentenermäßigung: 20 Prozent gegen Vorlage eines Schüler­ausweises
Produktion Martin Closmann (Ltg.), martin.closmann@computec.de oder einer aktuellen Immatrikulationsbescheinigung. Der aktuelle Nachweis ist bei Verlän-
Uwe Hönig, uwe.hoenig@computec.de gerung neu zu erbringen. Andere Abo-Formen, Ermäßigungen im Ausland etc. auf Anfrage.
Adressänderungen bitte umgehend beim Kundenservice mitteilen, da Nachsendeaufträge
Anzeigen Verantwortlich für den Anzeigenteil: Bernhard Nusser bei der Post nicht für Zeitschriften gelten.
Es gilt die Anzeigenpreisliste vom 01.01.2022.
Mediaberatung D/A/CH Bernhard Nusser, bernhard.nusser@computec.de Rechtliche Informationen
Tel.: (0911) 2872-254, Fax: (0911) 2872-241 COMPUTEC MEDIA ist nicht verantwortlich für die inhaltliche Richtigkeit der Anzeigen und
Mediaberatung UK/USA Brian Osborn, bosborn@linuxnewmedia.com übernimmt keinerlei Verantwortung für in Anzeigen dargestellte Produkte und Dienstleistun-
gen. Die Veröffentlichung von Anzeigen setzt nicht die Billigung der angebotenen Produkte
New Business Viktor Eippert (Project Manager) und Service-Leistungen durch COMPUTEC MEDIA voraus.
E-Commerce & Affiliate Daniel Waadt (Head of E-Commerce & Affiliate), Haben Sie Beschwerden zu einem unserer Anzeigenkunden, seinen Produkten oder Dienst-
Veronika Maucher, Andreas Szedlak, Frank Stöwer leistungen, dann bitten wir Sie, uns das schriftlich mitzuteilen. Schreiben Sie unter Angabe
des Magazins, in dem die Anzeige erschienen ist, inklusive der Ausgabe und der Seiten-
Abo Die Abwicklung (Rechnungsstellung, Zahlungsabwicklung nummer an:
und Versand) erfolgt über unser Partnerunternehmen: CMS Media Services, Franziska Behme, Verlagsanschrift (siehe oben links).
DPV Deutscher Pressevertrieb GmbH
Leserservice Computec Linux ist ein eingetragenes Warenzeichen von Linus Torvalds und wird von uns mit seiner
20080 Hamburg freundlichen Genehmigung genutzt. »Unix« verwenden wir als Sammelbegriff für die Gruppe
Deutschland der Unix-ähnlichen Betriebssysteme (wie beispielsweise HP/UX, FreeBSD, Solaris, u.a.), nicht
Einzelhefte und als Bezeichnung für das Trademark »UNIX« der Open Group. Der Linux-Pinguin wurde von
Abo- Bestellung https://shop.computec.de Larry Ewing mit dem Pixelgrafikprogramm »The GIMP« erstellt.
Leserservice Ihre Ansprechpartner für Reklamationen und Ersatzbestellungen Eine Haftung für die Richtigkeit von Veröffentlichungen kann – trotz sorgfältiger Prüfung
Deutschland E-Mail: computec@dpv.de durch die Redaktion – vom Verlag nicht übernommen werden.
Tel.: (0911) 99 39 90 98
Fax: (01805) 861 80 02* Mit der Einsendung von Manuskripten oder Leserbriefen gibt der Verfasser seine Ein-
(* 0,14 €/min via Festnetz, max. 0,42 €/min via Mobilnetz) willigung zur Veröffentlichung in einer Publikation der COMPUTEC MEDIA. Für unverlangt
­eingesandte Manuskripte wird keine Haftung übernommen.
Österreich, Schweiz E-Mail: computec@dpv.de
Autoreninformationen finden Sie unter http://www.linux-user.de/Autorenhinweise.
und weitere Länder Tel.: +49 911 99399098
Fax: +49 1805 8618002 Die Redaktion behält sich vor, Einsendungen zu kürzen und zu überarbeiten. Das exklusive
Urheber- und Verwertungsrecht für angenommene Manuskripte liegt beim Verlag. Es darf
Supportzeiten Montag 07:00 – 20:00 Uhr, Dienstag – Freitag: 07:30 – 20:00 Uhr, kein Teil des Inhalts ohne schriftliche Genehmigung des Verlags in irgendeiner Form verviel-
Samstag 09:00 – 14:00 Uhr fältigt oder verbreitet werden.
Pressevertrieb DMV Der Medienvertrieb GmbH & Co. KG
LinuxUser Community Edition
Meßberg 1, 20086 Hamburg
http://www.dermedienvertrieb.de LinuxUser gibt es auch als Community Edition: Dabei handelt es sich um eine rund 30-seitige
Druck EDS Zrínyi Zrt., Nádas utca 8, 2600 Vác, Ungarn PDF-Datei mit ausgewählten Artikeln aus der aktuellen Ausgabe, die parallel zur Veröffent-
lichung des gedruckten Hefts erscheint.
ISSN 1615-4444 Die kostenlose Community-Edition steht unter einer Creative-Commons-Lizenz, die es er-
laubt, „das Werk zu vervielfältigen, zu verbreiten und öffentlich zugänglich machen“. Sie
dürfen die LinuxUser Community-Edition also beliebig kopieren, gedruckt oder als Datei an
Freunde und Bekannte weitergeben, auf Ihre Website stellen – oder was immer Ihnen sonst
dazu einfällt. Lediglich bearbeiten, verändern oder kommerziell nutzen dürfen Sie sie nicht.
Darum bitten wir Sie im Sinn des „fair use“. Weitere Informationen finden Sie unter: http://
linux-user.de/CE
Deutschland:
4PLAYERS, AREAMOBILE, BUFFED, GAMESWORLD, GAMESZONE, GOLEM, Probleme mit den Datenträgern
LINUX-COMMUNITY, LINUX-MAGAZIN, LINUXUSER, N-ZONE, GAMES AKTUELL, PC GAMES,
PC GAMES HARDWARE, PC GAMES MMORE, PLAY 4, RASPBERRY PI GEEK, VIDEOGAMESZONE Falls es bei der Nutzung der Heft-DVDs zu Problemen kommt, die auf einen defekten Daten-
träger schließen lassen, dann schicken Sie bitte eine E-Mail mit einer genauen Fehlerbe-
Marquard Media Hungary: schreibung an die Adresse computec@dpv.de. Wir senden Ihnen dann umgehend kostenfrei
JOY, JOY-NAPOK, INSTYLE, SHOPPIEGO, APA, ÉVA, GYEREKLÉLEK, FAMIILY.HU, RUNNER`S WORLD einen Ersatzdatenträger zu.

94 www.linux-user.de 06.2023
Veranstaltungen
23.-24.05.2023 27.-30.06.2023
SCS Summit 2023 automatica 2023
Berlin München
https://events.scs.community/­ https://automatica-munich.com
scs-summit-2023/
14.-16.07.2023
23.-25.05.2023 Hackover 2023
Secure Linux Administration Hannover
https://hackover.de/
Conference 2023
Berlin
http://www.slac-2023.de 15.-21.07.2023
Akademy 2023
Thessaloniki, Griechenland / online
26.-28.05.2023 https://akademy.kde.org
openSUSE Conference 2023
Nürnberg 26.-31.07.2023
https://events.opensuse.org/ GUADEC 2023
conferences/oSC23 Riga, Lettland
https://events.gnome.org/event/101/
08.-11.06.2023
GPN21 05.-06.08.2023
Karlsruhe FrOSCon 2023
https://entropia.de/GPN21 Sankt Augustin
https://www.froscon.org
13.-15.06.2023
Open Infrastructure Summit 2023 15.-19.08.2023
Vancouver, BC, Kanada Chaos Communications Camp 2023
https://openinfra.dev/summit Mildenberg
https://events.ccc.de
14.-15.06.2023
10.-16.09.2023
OW2con 2023
DebConf 23
Paris-Châtillon, Frankreich Kochi, Kerala, Indien
https://www.ow2con.org https://wiki.debian.org/DebConf/23

26.06.-02.07.2023 13.-14.09.2023
FOSS4G 2023 stackconf 2023
Prizren, Kosovo Berlin
https://2023.foss4g.org https://stackconf.eu
Jetzt kostenfrei anmelden für den
Autoren COMMUNITY NEWSLETTER!
Bernhard Bablok Mit Gesten und einem RasPi im Rezeptbuch blättern 20
Programmieren in der Cloud mit Github Codespaces 86

IMMER AKTUELL
Erik Bärwaldt BlendOS nutzt verschiedene Installationsquellen 6
Künstliche Intelligenz auf dem Raspberry Pi 54
Grafische Backup-Tools für den Desktop 66

INFORMIERT
Individuelle ISO-Abbilder erstellen 78
Swen Hopfe Gewächshaussteuerung mit Raspberry Pi Pico W 24
Peter Kreußel Gnome-Erweiterungen erklärt 40
Anzela Minosi Void Linux für ARM- und Intel-CPUs 48
Martin Mohr Belegung von Büroarbeitsplätzen ermitteln 14
Thomas Reuß Git-Server auf Raspberry-Pi-Basis (Teil 1)
Ferdinand Thommes Mit Fdupes Dubletten finden
30
36
n Top-News auf einen Blick
Homeserver-Manager Tipi 60
Uwe Vollbracht Aktuelle Software im Kurztest 10 n Job-Angebote für Linux-Profis

Inserenten n Tipps für die Praxis


Computec Media GmbH www.computec.de 46, 76
Fernschule Weber GmbH www.fernschule-weber.de 27
IT-Profimarkt www.it-profimarkt.de 89
Linux-Community www.linux-community.de 19, 35, 93, 95
Linux-Magazin www.linux-magazin.de 59
Linux-Magazin Online www.linux-magazin.de 23, 63
Linuxhotel www.linuxhotel.de 17
LinuxUser www.linux-user.de 13, 53, 91, 92, 97
PC Games www.pcgames.de 99
PC Games Hardware www.pcgameshardware.de 29, 65, 85
Raspberry Pi Geek www.raspberry-pi-geek.de 2
Schlittermann internet & unix support www.schlittermann.de 93
TUXEDO Computers GmbH www.tuxedocomputers.com 100

06.2023
www.linux-community.de/newsletter
© Maksim Shebeko / 123RF
README
In jedem Artikel in diesem Heft liefern spezielle Auszeichnungen
und grafische Elemente wichtige Zusatzinformationen zum Text.

Der Mensch lebt nicht vom Text allein: Gelegentlich begegnen Ihnen in den
Zu jedem Artikel in diesem Heft gehören ­Artikeln auch orangefarbig hinterlegte
eine Reihe von Zusatzinformationen, die Textstellen. Sie verweisen auf ein Glossar,
das bloße Narrativ um weiterführende das den markierten Begriff kurz erläutert. Beispiel für Heft-DVD-Inhalt
Inhalte ergänzen. Manche davon inte­ Sie finden den Glossartext dann in einer LU/Ordner/
grieren sich direkt in den Textfluss, andere der Marginalspalten.
stehen als gesonderte grafische Elemente
in der sogenannten Marginalspalte, also Glossar: Nähere Definition zum Verständnis
Tasten und Tastenfolgen eines Begriffs oder einer Abkürzung.
dem teilweise freien Bereich an der rech­
ten ­beziehungsweise linken Seitenkante. Ein Buchstabe oder eine Buchstaben­
folge in eckigen Klammern, wie [Esc],
steht symbolisch für einen Tastendruck. dem Smartphone oder Tablet den im
Typografische Konventionen
Dabei dient als Schreibweise grundsätz­ Kasten abgedruckten QR-Code ein und
Eine blaue Einfärbung hebt Verweise auf lich die Beschriftung der Tasten einer surfen so direkt zur Seite mit den Links.
Tabellen und Kästen hervor: siehe Kasten deutschen Tastatur. Ein Druck auf [T] Analog funktioniert der Kasten Datei­
Kastentitel. Die Kursivierung signalisiert ­erzeugt also ein kleines „t“, die Kombi­na­ en zum Artikel herunterladen unter mit
hier wie in vielen anderen Fällen eine tion [Umschalt]+[T] ein großes „T“. der URL www.linux‑user.de/dl/Nummer.
­sym­­­­bolische Bezeichnung; in einem Code­­ Das Pluszeichen zwischen Tasten sig­ Er bringt Sie auf eine Webseite, die auf
brocken könnte das etwa so aussehen: nalisiert dabei, dass man sie gleichzeitig inte­ressante Downloads zum Artikel ver­
drücken muss, ein Komma dagegen, dass weist. (Das Exemplar unten links dient
$ cat "EinLängererTextbrocken" >>  sie nacheinander betätigt werden müs­ nur als Beispiel und führt ins Nirgendwo.)
Ausgabe.txt sen. Das allseits beliebte Copy & Paste
gelingt also mit [Strg]+[C], [Strg]+[V].
Heft-DVD
Der „Umbruchhaken“ am Ende der ers­ Lesen Sie etwas von der Super-Taste,
ten Zeile des Codes verweist hier darauf, handelt es sich dabei um die eigent­lich Die preisgünstigere No-Media-Edition
dass es sich in diesem Fall eigentlich um korrekte Bezeichnung der Taste, die in von LinuxUser kommt ohne Datenträger,
eine einzige Eingabezeile handelt, die Microsoft-Umgebungen „Windows-Taste“ doch die meisten Leser bevorzugen die
nur aus Platzgründen im Druck umge­ heißt und auf der bei vielen Tas­taturen am Kiosk erhältliche Ausgabe mit Heft-
brochen werden musste. das entsprechende Logo prangt. DVD. Bei Artikeln, zu denen Inhalte auf
Die Kursivierung kann neben Platzhal­ der DVD gehören, finden Sie auf der ers­
tern auch andere Elemente bezeichnen, ten Doppelseite einen grauen „Halbkreis
Infos und Downloads
wie Paketnamen und Benutzerkonten, mit Loch“ (siehe oben), der eine optische
beispielsweise build-essential und root. An einzelnen Stellen im Text finden Sie Disk symbolisiert. Der Text darunter be­
Aber auch Menüpunkte drucken wir kur­ das Zeichen  , das auf eine weiterfüh­ zeichnet den zugehörigen DVD-Inhalt
siv ab, wobei in Menüfolgen eine Pipe rende Information verweist. Um an die und nennt gegebenenfalls auch das
die einzelnen Elemente trennt: Sonsti- Links zum Artikel zu gelangen, blättern ­Verzeichnis, in dem sich dieser auf dem
ges | Textkodierung | Unicode. Sie ans Ende des Artikels, wo Sie einen Datenträger befindet. (jlu) █
Kasten Weitere Infos und interessante
Links finden. Entweder tippen Sie die
Dateien zum Artikel dort angegebene URL www.linux‑user. Weitere Infos und
herunterladen unter de/qr/Nummer in einen Webbrowser ein – interessante Links
www.linux-user.de/dl/49059 das führt Sie auf eine Webseite mit allen www.linux-user.de/49059
Links zum Artikel –, oder Sie scannen mit

96
Vorschau

© maksym yemelyanov / 123RF.com


auf 07/2023
Die nächste Ausgabe
erscheint am 22.06.2023

Sprachen lokal übersetzen


Mit der Open-Source-API LibreTranslate
betreiben Sie Ihren eigenen Überset-
zungsdienst. Da die Übersetzungsma-
schine nicht auf Google, Deepl oder
Microsoft Azure basiert, erfordert sie kei-
ne Zugriffe auf die Dienste der Big-Tech-
Konzerne. Die LibreTranslate-Bibliothe- Fediverse-Server einrichten Build-System LURE

Themen zu ändern oder zu streichen.


ken stehen zudem unter freien Lizenzen
und werden aktiv gepflegt: Als Grundla- Hinter dem Fediverse steckt ein Netz- Bei LURE handelt es sich um ein Build-

Die Redaktion behält sich vor,


ge dient die freie Argos Translate Library. werk föderierter, voneinander unabhän- System, ähnlich dem AUR. Anders als das
Auch die zusätzlich in Gestalt von nati- giger sozialer Netzwerke und Microblog- dieses unterstützt LURE das Verwenden
ven Linux-Applikationen realisierten ging-Dienste. Wir zeigen Ihnen, wie Sie mehrerer Repositories. Außerdem setzt
Frontends stehen unter freien Lizenzen. verschiedene Fediverse-Instanzen wie das Konzept auf ein einziges Git-Reposi-
Darüber hinaus lässt sich Ihr eigener Mastodon, Pleroma oder Peertube ein- tory, das alle Build-Skripte enthält. Es be-
Übersetzungsdienst webbasiert auch richten. Yunohost dient als Unterbau, der findet sich derzeit in der Beta-Phase, ein
über den Webbrowser erreichen. Ihnen das Installieren erleichtert. Blick darauf lohnt sich trotzdem.

Ausgabe 07 erscheint am 08.06.2023


MAGAZIN

Durchgeklickt Intelligent speichern


Programmieren, aber ohne erst die kom- Eine traditionelle IT-Umgebung begrenzt
plizierte Syntax einer Sprache zu lernen – das Datenvolumen, das von und zu den
das ist der Traum manchen Anwenders, Speichermedien bewegt werden kann, oft
der auf möglichst einfache Weise Ent- dadurch, dass es die CPU des Hostsystems
wickler werden will. Low-Code- oder No- in die Transaktionen mit einbezieht. Das
Code-Systeme versprechen genau das: ändert Scaleflux, indem es nötige Berech-
Software zu programmieren, indem man nungen direkt in den SSD-Speicher verla-
fertige Module per Drag & Drop und mit gert. Das Linux-Magazin nimmt die Tech-
ein paar Klicks kombiniert. nik genauer unter die Lupe.
© 79791334 / 123RF.com

JETZT REGELMÄSSIG PER POST IM ABO OHNE VERPFLICHTUNG


über
14% Rabatt
Jahres-Abo
12 Ausgaben
nur 102 €
(auch als Magazin-Variante ohne DVD
bzw. mit Jahres-DVD erhältlich – mehr
unter shop.linuxuser.de)

Telefon: 0911 / 993 990 98


shop.linuxuser.de
06.2023 www.linux-user 97
Fax: 01805 / 86 180 02 E-Mail: computec@dpv.de
Service Heft-DVD-Inhalt

Neues auf der Heft-DVD


Die Heft-DVD liegt ausschließlich der LinuxUser DVD-Edition bei.

Fedora 38 Workstation
Das neue Fedora nutzt als Desktop-Umge- DNF5. Er arbeitet schneller, braucht weni-
bung Gnome 44. Mit an Bord sind unter an- ger RAM und bietet einen neuen Dae-
derem GCC 13, Go 1.20, LLVM 16, Ruby 3.2, mon, der als Alternative zu PackageKit
TeXLive2022 und PHP 8.2. Im Hintergrund einspringt. Sie starten die Distributio-
arbeitet der Linux-Kernel 6.2.11. Den Paket- nen von Seite A der DVD. Das ISO-
manager Microdnf ersetzt nun der Kollege Image finden Sie im Verzeichnis isos/.

Xubuntu 23.04 minimal


Als Desktop kommt Xfce 4.18 zum Einsatz. Dateihervorhebungen und rekursiver
Es bietet eine stabile Umgebung mit einer Suche. Neu hinzu kam die Minimal-Ver-
Reihe von Leistungsverbesserungen und sion, die nur den Desktop und einige
neuen Funktionen. Der Dateimanager Thu- Xfce-Komponenten mitbringt. Sie
nar profitiert von einer neuen Bildvorschau starten Xubuntu von Seite A der DVD.
sowie der Undo- und Redo-Funktionalität, Das Image finden Sie unter isos/.

BlendOS 2023.04.22
Als Grundlage nutzt BlendOS Arch Linux, Docker-basierte Distrobox. Darüber hi-
und erbt von dem das Rolling-Release-Kon- naus unterstützt es auch die Integrati-
zept. Es vereint die Paketquellen verschie- on von Flatpacks. Sie starten die Live-
dener Linux-Distributionen und unterstützt Distribution von Seite B der DVD. Das
unter anderem die Repositories von Fedora zugehörige ISO-Image finden Sie im
und Arch Linux. Dazu setzt BlendOS auf die Verzeichnis isos/. ➥ S. 6

Tiny Core 14 Plus


Die Distribution begnügt sich mit minima- erster Linie auf die Größe. Die Plus-Ver-
len Hardwareanforderungen. So kommt sie sion bringt einen größeren Funktions-
mit einer i468-CPU zurecht und ist so klein, umfang mit, etwa die Unterstützung
dass sich ein Installationsmedium mit nur von WLAN. Sie starten die Distribution
wenigen MByte erstellen lässt. Bei der Aus- von Seite B der DVD. Das zugehörige
wahl der Software achteten die Macher in Image finden Sie im Verzeichnis isos/.

Finnix 125
Das auf Debian „Testing“ basierende Live- es lässt sich über die Boot-Option to-
System beschränkt sich auf das Terminal. ram in den Arbeitsspeicher laden. Zur
Sein Fokus liegt auf der Wiederherstellung Laufzeit unterstützt es Änderungen
von Dateisystemen oder der Netzwerk- per Union-Mount. Sie starten die Dis-
überwachung. Als Basis dient der Ker- tribution von Seite B der DVD. Das
nel 6.1 LTS. Finnix genügen 32 MByte RAM, Image finden Sie unter isos/. (tle) █

98 www.linux-user.de
FETT!
Zwei
DVDs!

PLUS
16 Seiten
extra!

Inkl. Top-
Vollversion!

PC GAMES – WISSEN, WAS GESPIELT WIRD

WWW.PCGAMES.DE | BEQUEM ONLINE BESTELLEN: SHOP.PCGAMES.DE


WIEDER AM FALSCHEN
ENDE GESPART?

... nicht mit

DIE PREMIUM-
WÄRMELEITPASTE
FÜR GAMER!

www.pcgh-gear.de

Das könnte Ihnen auch gefallen