ubuntuusers.de

🚧 Am Sonntag, 5. Mai, werden ab 16 Uhr die Server aktualisiert und eine neue Inyoka-Version veröffentlicht. Das Portal wird mehrmals nicht verfügbar sein.

3. Februar 2024

Wenn man im Internet nach Lösungen für Probleme mit LibreOffice & Co. bei wissenschaftlichen Arbeiten sucht, kommt meist sehr schnell der Hinweis, dass man gar nicht mit dem richtigen Werkzeug unterwegs ist, sondern eigentlich LaTeX viel besser wäre. Frei nach dem Motto: Alles andere sind Amateure. Aber ist das immer so? Oder war es jemals so? Nein. LaTeX ist eine gute Option, aber es legt einem auch Steine in den Weg. Jedes mögliche Werkzeug hat seine Stärken und Schwächen.

Ich beschäftige mich viel mit LibreOffice & Co. und werde oft gefragt, warum mich die Entwicklungen bzw. Nicht-Entwicklungen in diesem Bereich so interessieren. Das liegt daran, dass Office für mich immer noch ein zentrales Werkzeug ist. Das ist wohl eine Generationenfrage. Textverarbeitung, Präsentation, Tabellenkalkulation. Das sind Programme, die ich täglich brauche, und vor allem die Textverarbeitung ist das, was ich wirklich ausreize. Umfangreiche Formatvorlagen, Verzeichnisse, Fuß- und Endnoten, Register usw.. Meine Doktorarbeit zum Beispiel habe ich in einem einzigen Dokument geschrieben. Hunderte von Seiten, Tausende von Fußnoten, viel zu viele Jahre. Immer mit dem leisen Zweifel im Hinterkopf, ob LaTeX nicht doch die bessere Lösung gewesen wäre.

Und diese Zweifel sind keineswegs ein Produkt der Vergangenheit, sondern ich habe immer wieder mit Studierenden zu tun, die fragen, ob sie nicht LaTeX lernen sollten. Irgendjemand kennt immer jemanden, der gelesen oder gehört hat, dass LaTeX die einzige adäquate Methode für längere Texte sei. Das Gerücht ist irgendwie nicht tot zu kriegen. Daher hier noch mal deutlich: Dem ist nicht so!

Richtig ist, dass LaTeX-Dokumente in der Regel ein besseres Schriftbild und einen besseren Satz haben. Eine Textverarbeitung ist eben kein Satzprogramm. Wer also nur am Ende auf Drucken klicken will, bekommt mit LaTeX das schönere Ergebnis. Die steile Lernkurve verhindert daneben auch schlechte Ergebnisse, weil es dann meist gar keine gibt. Auch bei den Formeln hatte LaTeX lange Zeit die Nase vorn, aber viele Textverarbeitungen haben hier nachgebessert, um den Autoren das Leben leichter zu machen. Ein entscheidender Vorteil ist die Formatstabilität über sehr lange Zeiträume. Aber auch Textverarbeitung ist nicht so schlecht wie ihr Ruf und ich kann problemlos 15 Jahre alte Dokumente ohne sichtbare Abweichungen öffnen. Eine Garantie habe ich bei proprietären Formaten hier natürlich nicht. Mal ganz unabhängig von der Frage, ob dieses Anwendungsszenario überhaupt notwendig ist.

Unbestritten ist auch, dass man mit LaTeX sehr gut längere Arbeiten schreiben kann. Das kann man auch mit Markdown und im Prinzip sogar mit einem normalen Editor. Wobei es da mit den Fußnoten und Endnoten schwierig wird. Generationen von Wissenschaftlerinnen und Wissenschaftlern haben bahnbrechende Arbeiten mit Papier und Stift oder später mit der Schreibmaschine verfasst. Jeder kann und soll mit dem Werkzeug seiner Wahl arbeiten. Nur sind es irgendwie immer die LaTeX-Anwender, die ihr Werkzeug zum Maßstab erklären. Muss die steile Lernkurve mit Sendungsbewusstsein kompensiert werden? Ich weiß es nicht. Es ist aber auf jeden Fall falsch, denn bei einem der letzten Schritte im Wissenschaftskreislauf steht LaTeX seinen Anwendern massiv im Weg: Publizieren. Ausgerechnet LaTeX, das großartige Satzprogramm.

Jede wissenschaftliche Zeitschrift, die ich bisher gesehen habe und jeder Verlag für eine Buchpublikation nimmt oder verlangt gar eine Word-Datei. Auch moderne Open-Access-Zeitschriften mit OJS-Systemen wollen in der Regel Word-Dateien zur Weiterverarbeitung. Niemand besteht auf ein LaTeX-Dokument, manche nehmen solchen nicht mal an. Manchmal gibt es Vorlagen für Word, manchmal nur Satzhinweise und manchmal geht es wirklich nur um eine Rohtextdatei. Danach beginnt gegebenenfalls die Korrektur und das Lektorat, auf jeden Fall aber der Satz. Die Korrekturschleifen bis zur Fahnenkorrektur laufen in der Regel über Worddateien mit Änderungshistorie und Kommentaren in PDF-Dateien. Für die Worddateien kann in der Regel jedes Textverarbeitungsprogramm verwendet werden, da die Dateien ohnehin weiterverarbeitet werden. Open-Source-Nutzer sind hier jedenfalls nicht im Nachteil. Auch das muss mal geschrieben werden.

Denn kein Verlag druckt ein Manuskript so, wie es die Autoren abliefern. Jeder Verlag und manchmal sogar jede Zeitschrift hat ihr eigenes Design. Der Textsatz schafft Wiedererkennung. Kein Verlag, den ich kenne, macht den Textsatz mit LaTeX. Manchmal kann man es aus den Metadaten herauslesen, manchmal nicht. Oft wird Adobe InDesign verwendet, manchmal wird das Produkt in ein XML-Dokument umgesetzt oder in ein proprietäres Verlagsprodukt. Das Endprodukt ist längst nicht mehr nur das gedruckte Buch oder das E-Book als dessen digitaler Klon, sondern formatunabhängige Publikationen.

Wenn man also mit LaTeX schreiben möchte, weil es dem eigenen Arbeitsablauf besser entspricht, dann kann man das natürlich tun. Man sollte aber nicht dem Irrglauben verfallen, dass man sich das Leben im letzten Schritt des wissenschaftlichen Zyklus irgendwie leichter macht. Im Gegenteil: Wer mit LaTeX schreibt, hat am Ende mehr Konvertierungsschleifen als ein Autor, der ein normales Textverarbeitungsprogramm benutzt. Auf keinen Fall sollte man sich aber von irgendwelchen LaTeX-Nutzern einreden lassen, dass man LaTeX für eine wissenschaftliche oder auch nur längere Arbeit zwingend braucht. Das ist schlichtweg falsch.

Der Artikel Kein Verlag will ein LaTeX-Dokument erschien zuerst auf Curius

2. Februar 2024

Der neue Raspberry Pi 5 verfügt erstmals über eine PCIe-Schnittstelle. Leider hat man sich bei der Raspberry Pi Foundation nicht dazu aufraffen können, gleich auch einen Slot für eine PCIe-SSD vorzusehen. Gut möglich, dass es auch einfach an Platzgründen gescheitert ist. Oder wird dieser Slot das Kaufargument für den Raspberry Pi 6 sein? Egal.

Mittlerweile gibt es diverse Aufsteckplatinen für den Raspberry Pi, die den Anschluss einer PCIe-SSD ermöglichen. Sie unterscheiden sich darin, ob sie über oder unter der Hauptplatine des Raspberry Pis montiert werden, ob sie kompatibel zum Lüfter sind und in welchen Größen sie SSDs aufnehmen können. (Kleinere Aufsteckplatinen sind mit den langen 2280-er SSDs überfordert.)

NVMe Base von Pimoroni

Für diesen Artikel habe ich die NVMe Base der britischen Firma Pimoroni ausprobiert (Link). Inklusive Versand kostet das Teil ca. 24 €, der Zoll kommt gegebenenfalls hinzu. Die Platine wird mit einem winzigen Kabel und einer Menge Schrauben geliefert.

Die PCIe-Platine von Pimoroni mit einem Kabel und diversen Schrauben

Der Zusammenbau ist fummelig, aber nicht besonders schwierig. Auf YouTube gibt es eine ausgezeichnete Anleitung. Achten Sie darauf, dass Sie wirklich eine PCIe-SSD verwenden und nicht eine alte M2-SATA-SSD, die Sie vielleicht noch im Keller liegen haben!

Raspberry Pi 5 + Pimoroni PCIe-Platine mit SSD

Nachdem Sie alles zusammengeschraubt haben, starten Sie Ihren Raspberry Pi neu (immer noch von der SD-Karte). Vergewissern Sie sich mit lsblk im Terminal, dass die SSD erkannt wurde! Entscheidend ist, dass die Ausgabe eine oder mehrere Zeilen mit dem Devicenamen nmve0n1* enthält.

lsblk

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
mmcblk0     179:0    0  29,7G  0 disk 
├─mmcblk0p1 179:1    0   512M  0 part /boot/firmware
└─mmcblk0p2 179:2    0  29,2G  0 part 
nvme0n1     259:0    0 476,9G  0 disk 
Nach der Sandwich-Montage

Raspberry-Pi-OS klonen und von der SSD booten

Jetzt müssen Sie Ihre Raspberry-Pi-OS-Installation von der SD-Karte auf die SSD übertragen. Dazu starten Sie das Programm Zubehör/SD Card Copier, wählen als Datenquelle die SD-Karte und als Ziel die SSD aus.

Das Bild zeigt ein Fenster des "SD Card Copier" Programms, das zur Duplizierung von Daten von einer SD-Karte auf ein anderes Speichermedium verwendet wird. Im Fenster sind zwei Dropdown-Menüs zu sehen: "Von Gerät kopieren" ist auf "SC32G (/dev/mmcblk0)" eingestellt und "Auf Gerät kopieren" zeigt "HFS512GD9TNG-62A0A (/dev/nvme0n1)". Es gibt auch eine Option für "New Partition UUIDs", die nicht ausgewählt ist, sowie "Hilfe", "Schließen" und "Start" Buttons.
Inhalt der SD-Karte auf die SSD übertragen

SD Card Copier kopiert das Dateisystem im laufenden Betrieb, was ein wenig heikel ist und im ungünstigen Fall zu Fehlern führen kann. Der Prozess dauert ein paar Minuten. Während dieser Zeit sollten Sie auf dem Raspberry Pi nicht arbeiten! Das Kopier-Tool passt die Größe der Partitionen und Dateisysteme automatisch an die Größe der SSD an.

Als letzten Schritt müssen Sie nun noch den Boot-Modus ändern, damit Ihr Raspberry Pi in Zukunft die SSD als Bootmedium verwendet, nicht mehr die SD-Karte. Dazu führen Sie im Terminal sudo raspi-config aus und wählen Advanced Options -> Boot Order -> NVMe/USB Boot.

Das Bild zeigt ein geöffnetes Terminalfenster mit dem Raspberry Pi Software Configuration Tool (raspi-config). Es werden Optionen für die Boot-Konfiguration des Raspberry Pi angezeigt: B1 für den Boot von SD-Karte, B2 für den Boot von NVMe/USB und B3 für den Netzwerk-Boot. Nutzer können hier die Boot-Reihenfolge einstellen oder ändern.
Mit »raspi-config« stellen Sie den Boot-Modus um

Selbst wenn alles klappt, verläuft der nächste Boot-Vorgang enttäuschend. Der Raspberry Pi lässt sich mit der Erkennung der SSD so viel Zeit, dass die Zeit bis zum Erscheinen des Desktops sich nicht verkürzt, sondern im Gegenteil ein paar Sekunden verlängert (bei meinen Tests ca. 26 Sekunden, mit SD-Karte nur 20 Sekunden). Falls Sie sich unsicher sind, ob die SSD überhaupt verwendet wird, führen Sie noch einmal lsblk aus. Der Mountpoint / muss jetzt bei einem nvme-Device stehen:

lsblk

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme0n1     259:0    0 476,9G  0 disk 
├─nvme0n1p1 259:1    0   512M  0 part /boot/firmware
└─nvme0n1p2 259:2    0 476,4G  0 part /

Wie viel die SSD an Geschwindigkeit bringt, merken Sie am ehesten beim Start großer Programme (Firefox, Chromium, Gimp, Mathematica usw.), der jetzt spürbar schneller erfolgt. Auch größere Update (sudo apt full-upgrade) gehen viel schneller vonstatten.

Benchmark-Tests

Ist die höhere Geschwindigkeit nur Einbildung, oder läuft der Raspberry Pi wirklich schneller? Diese Frage beantworten I/O-Benchmarktests. (I/O steht für Input/Output und bezeichnet den Transfer von Daten zu/von einem Datenträger.)

Ich habe den Pi Benchmark verwendet. Werfen Sie immer einen Blick in heruntergeladene Scripts, bevor Sie sie mit sudo ausführen!

wget https://raw.githubusercontent.com/TheRemote/ \
       PiBenchmarks/master/Storage.sh
less Storage.sh       
sudo bash Storage.sh
Auf dem Bild ist ein Terminalfenster zu sehen, in dem die Ergebnisse eines SSD-Benchmarktests dargestellt sind. Es zeigt verschiedene Messwerte wie die Lesegeschwindigkeit (HDparm) und die Schreibgeschwindigkeit (DD). Der Test wurde mit dem Tool `iozone` durchgeführt, das für die Messung der Dateisystemleistung verwendet wird. Unten im Fenster sind die Gesamtergebnisse des Tests in einer Tabelle zusammengefasst, wobei die Kategorie, die Testart und die entsprechenden Ergebnisse aufgelistet sind.
SSD-Benchmarktest

Ich habe den Test viermal ausgeführt:

  • Mit einer gewöhnlichen SD-Karte.
  • Mit einer SATA-SSD (Samsung 840) via USB3.
  • Mit einer PCIe-SSD (Hynix 512 GB PCIe Gen 3 HFS512GD9TNG-62A0A)
  • Mit einer PCIe-SSD (wie oben) plus PCIe Gen 3 (Details folgen gleich).

Die Unterschiede sind wirklich dramatisch:

Modell                 Pi 5 + SD     Pi 5 + USB    Pi 5 + PCIe     Pi 5 + PCIe 3
-----------------    -----------  -------------  -------------   ---------------
Disk Read                73 MB/s       184 MB/s       348 MB/s          378 MB/s
Cached Disk Read         85 MB/s       186 MB/s       358 MB/s          556 MB/s
Disk Write               14 MB/s       121 MB/s       146 MB/s          135 MB/s
4k random read         3550 IOPS     32926 IOPS    96.150 IOPS      173.559 IOPS
4k random write         918 IOPS     27270 IOPS    81.920 IOPS       83.934 IOPS
4k read               15112 KB/s     28559 KB/s   175.220 KB/s      227.388 KB/s
4k write               4070 KB/s     28032 KB/s   140.384 KB/s      172.500 KB/s   
4k random read        13213 KB/s     17153 KB/s    50.767 KB/s       54.682 KB/s
4k random write        2862 KB/s     27507 KB/s   160.041 KB/s      203.630 KB/s        
Score                       1385           9285         34.723            43.266

Beachten Sie aber, dass das synthetische Tests sind! Im realen Betrieb fühlt sich Ihr Raspberry Pi natürlich schneller an, aber keineswegs in dem Ausmaß, den die obigen Tests vermuten lassen.

PCIe Gen 3

Standardmäßig verwendet der Raspberry Pi PCI Gen 2. Mit dem Einbau von zwei Zeilen Code in /boot/firmware/config.txt können Sie den erheblich schnelleren Modus PCI Gen 3 aktivieren. (Der Tipp stammt vom PCIe-Experten Jeff Geerling.)

# in /boot/firmware/config.txt
dtparam=pciex1
dtparam=pciex1_gen=3

Die obigen Benchmarktests beweisen, dass die Einstellung tatsächlich einiges an Zusatz-Performance bringt. Ehrlicherweise muss ich sagen, dass Sie davon im normalen Betrieb aber wenig spüren.

Bleibt noch die Frage, ob die Einstellung gefährlich ist. Die Raspberry Pi Foundation muss ja einen Grund gehabt haben, warum sie PCI Gen 3 nicht standardmäßig aktiviert hat. Zumindest bei meinen Tests sind keine Probleme aufgetreten. Auch dmesg hat keine beunruhigenden Kernel-Messages geliefert.

Fazit

Es ist natürlich cool, den Raspberry Pi mit einer schnellen SSD zu verwenden. Für Bastelprojekte ist dies nicht notwendig, aber wenn Sie vor haben, Ihren Pi als Server, NAS etc. einzusetzen, beschleunigt die SSD I/O-Vorgänge enorm.

Schön wäre, wenn der Raspberry Pi in Zukunft einen PCIe-Slot erhält, um (zumindest kurze) SSDs ohne Zusatzplatine zu nutzen. Bis dahin sind die Erweiterungsplatinen eine Übergangslösung.

In der Community ist zuletzt die Frage aufgetaucht, ob der Raspberry Pi überhaupt noch preiswert ist. Diese Frage ist nicht unberechtigt: Die Kosten für einen neuen Pi 5 + Netzteil + Lüfter + SSD-Platine + SSD + Gehäuse gehen in Richtung 150 €. Sofern Sie ein Gehäuse finden, in dem der Pi samt SSD-Platine Platz findet … Um dieses Geld bekommen Sie auch schon komplette Mini-PCs (z.B. die Chuwi Larkbox X). Je nach Anwendung muss man fairerweise zugeben, dass ein derartiger Mini-PC tatsächlich ein besserer Deal ist.

Quellen/Links

Mitte Dezember 2023 hatte ich bekannt gegeben, dass ich die Kommentarfunktion deaktiviere. Seit dem habe ich einige, wenige Rückmeldungen über andere Kommunikationsmöglichkeiten erhalten. Inhaltlich haben sie mir nicht unbedingt zugestimmt, aber sie waren bisher alle neutral bis freundlich formuliert. Es geht also, wenn man will.

In einigen Fällen wurde ich gefragt, wie man mit mir in Kontakt treten kann, da die Kommentarfunktion nun deaktiviert ist. Na ja im Grunde eben wie diese Leute es gemacht haben oder könnten. Zum Beispiel per E-Mail, per Matrix-Netzwerk, per Telefon oder indem man mich persönlich besucht. So gut wie alle Informationen sind auf fryboyter.de genannt bzw. man bekommt sie leicht mit einer Suchmaschine seiner Wahl heraus. Aber darum geht es mir nicht.

Nehmen wir mal meinen letzten Artikel als Beispiel, der wohl die meisten Reaktionen in der letzten Zeit bewirkt hat. Wer mir deswegen beispielsweise eine E-Mail geschrieben hat, hat allerdings das gleiche Problem wie mit der Kommentarfunktion. Entweder reagiere ich darauf, wann ich will (oder kann) oder ich reagiere gar nicht darauf.

Aber warum muss man es von mir abhängig machen? Wenn ihr beispielsweise etwas zu einem meiner Artikel zu sagen habt, dann erstellt doch einfach einen eigenen Artikel auf eurer eigenen Internetseite. Früher gab es mal etwas, dass als “Stöckchen zuwerfen” bezeichnet wurde. Also jemand hat einen Artikel geschrieben, und jemand anderes hat mit einem Artikel darauf reagiert. Das wurde entweder vorher abgesprochen, wer reagiert oder es war zufällig. Warum diese “Tradition” nicht weiterführen?

Einige werden jetzt vermutlich argumentieren, dass ich auf diese Reaktionen spät oder gar nicht reagieren werde. Korrekt. Aber andere Leute werden vielleicht zeitnah reagieren. Seit es nun in Form von Kommentaren oder indem sie selbst Artikel veröffentlichen. Das finde ich nicht schlecht. Es geht ja nicht nur um mich. Und umso mehr Meinungen umso besser.

Im vergangenen Sommer interpretierte ich die Ankündigung von LibreOffice als “wir haben fertig” und prognostizierte, dass das neue Versionierungsschema dies vor allem kaschieren soll. Dagegen gab es viel Protest über meine vermeintliche LibreOffice-feindliche Haltung. Den Zwischenstand konnte man am 31.1.24 bewundern.

Vorgestern wurde die Version 24.2 durch die Document Foundation freigegeben. Zur Erinnerung: Im neuen Schema handelt es sich um ein größeres halbjährliches Update, da kleinere Updates in dritter Stelle folgen. Die nächste Version wird voraussichtlich 24.8 sein und im August veröffentlicht werden.

Neuerungen darf man mit der Lupe suchen. Eine deutschsprachige Zusammenfassung gibt es bei Heise. Es gibt ein paar Detailverbesserungen an der Oberfläche und Fehler wurden behoben. Das Highlight der Hauptversion ist die automatische Aktivierung der Wiederherstellungsfunktion, wodurch jetzt im Hintergrund permanent Sicherungen angelegt werden. Die LibreOffice-Entwickler haben das Programm also tatsächlich offenkundig in den Wartungsmodus versetzt. Wichtige Themen wie generative KI sehe man sich laut Heise in Ruhe an. Vermutlich genau so in Ruhe wie mobile Apps für iOS und Android. Smartphones und Tablets sind ja nun wirklich Neuland, da muss man erstmal abwarten, ob sich das etabliert und Marktanteile vom technisch überlegenen Personal Computer abzieht.

Die Entwickler haben also offensichtlich entweder keine Kapazitäten für neue Funktionen oder keine gemeinsame Idee, wohin sie die einzige freie Office-Suite entwickeln möchten. Bestandsnutzer werden das wohl noch akzeptieren, aber beim Megathema “souveräner Arbeitsplatz” wird der Graben zu proprietären Produkten täglich größer. Ich prognostiziere, dass LibreOffice in Zukunft nur noch eine untergeordnete Rolle bei etwaigen Migrationen spielen wird und stattdessen andere Produkte zum Einsatz kommen.

Der Artikel Kommentar: LibreOffice mit neuer Version ohne Neuerung erschien zuerst auf Curius

1. Februar 2024

Vermutlich hat es schon fast jeder erlebt. Jemand stellt ein neues Programm vor und früher oder später (meist früher als später) wird die Frage gestellt, warum es nicht die Befehle von vim unterstützt bzw. ob eine Unterstützung geplant ist.

Fragt man dann nach dem Grund für diesen Wunsch, wird meist das sogenannte Muskelgedächtnis angegeben. Bei manchen Nutzern haben sich die Befehle von vim scheinbar so tief in dieses eingebrannt, dass ohne diese eine Nutzung von Programmen schwer bis unmöglich ist. Zumindest habe ich dieses Gefühl, wenn ich die eine oder andere Diskussion verfolge.

Im Grunde habe ich damit kein Problem. Wenn ein Programm optional die Befehle von vim unterstützt oder es eine entsprechende Erweiterung gibt, soll es mir recht sein. Ich nutze dann einfach beides nicht und das Thema ist für mich erledigt.

Nehmen wir nun den Editor Helix als Beispiel, über den ich bereits vor ein paar Monaten einen Artikel veröffentlicht habe. Bei Helix handelt es sich ebenfalls um einen modalen Editor. Allerdings selektiert man bei diesem erst, was man ändern will und führt dann die Aktion aus. Bei vim ist es genau umgekehrt. Es dürfte somit gar nicht machbar sein, die Bedienung von vim auf Helix komplett zu übertragen. Projekten wie https://github.com/LGUG2Z/helix-vim gelingt das daher auch nur teilweise.

Und trotzdem gibt es regelmäßig Anfragen ob Helix nicht die Shortcuts von vim unterstützen kann. Aber warum?

Ich habe schon immer vermieden vim zu nutzen, da mir dessen Bedienung nicht zusagt. Trotzdem ist es mir bisher noch nie in den Sinn gekommen, dass ich einen Feature Request für vim Stelle, damit dieser Editor beispielsweise die Shortcuts von micro unterstützt. Dieser würde vermutlich schneller geschlossen als ich bis 3 zählen kann. Und das zu Recht. Genauso wie ich es akzeptiert habe, dass ich Helix nicht so bedienen kann, wie ich es von anderen Editoren in den letzten Jahren gewohnt bin. Und trotzdem kann ich mit Helix inzwischen ganz gut umgehen. Und das trotz des Muskelgedächtnisses und der Tatsache, dass ich schon einige Jahrzehnte auf dem Zähler habe.

Von daher liebe Nutzer von vim (also der Teil auf den ich mich mit diesem Artikel beziehe), schaut euch gerne Alternativen zu vim an. Aber bitte versucht zu verstehen, dass nicht jede Alternative das Ziel hat eine bessere / andere Version von vim anzubieten. Viele Projekte, wie Helix, wollen einfach nur Ihr eigenes Ding machen. Wenn euch das nicht zusagt, was ich durchaus nachvollziehen kann, nutzt einfach weiterhin vim. Vim ist, objektiv betrachtet, ja kein schlechter Editor.

31. Januar 2024

Es gibt wieder neue Sicherheitslücken in glibc. Dabei betrifft eine die syslog()-Funktion, die andere qsort(). Letztere Lücke existiert dabei seit glibc 1.04 und somit seit 1992. Entdeckt und beschrieben wurden die Lücken von der Threat Research Unit bei Qualys.

Die syslog-Lücke ist ab Version 2.37 seit 2022 enthalten und betrifft somit die eher die neuen Versionen von Linux-Distributionen wie Debian ab Version 12 oder Fedora ab Version 37. Hierbei handelt es sich um einen "heap-based buffer overflow" in Verbindung mit argv[0]. Somit ist zwar der Anwendungsvektor schwieriger auszunutzen, weil in wenigen Szenarien dieses Argument (der Programmname) dem Nutzer direkt überlassen wird, die Auswirkungen sind jedoch umso schwerwiegender. Mit der Lücke wird eine lokale Privilegienausweitung möglich. Die Lücke wird unter den CVE-Nummern 2023-6246, 2023-6779 und 2023-6780 geführt.

Bei der qsort-Lücke ist eine Memory Corruption möglich, da Speichergrenzen an einer Stelle nicht überprüft werden. Hierfür sind allerdings bestimmte Voraussetzungen nötig: die Anwendung muss qsort() mit einer nicht-transitiven Vergleichsfunktion nutzen (die allerdings auch nicht POSIX- und ISO-C-konform wären) und über eine große Menge an zu sortierenden Elementen verfügen, die vom Angreifer bestimmt werden. Dabei kann ein malloc-Aufruf gestört werden, der dann zu weiteren Angriffen führen kann. Das Besondere an dieser Lücke ist ihr Alter, da sie bereits im September 1992 ihren Weg in eine der ersten glibc-Versionen fand.

Bei der GNU C-Bibliothek (glibc) handelt es sich um eine freie Implementierung der C-Standard-Bibliothek. Sie wird seit 1987 entwickelt und ist aktuell in Version 2.38 verfügbar. Morgen, am 1. Februar, erscheint Version 2.39.

29. Januar 2024

Der »Fedora Asahi Remix« ist eine für moderne Macs (Apple Silicon) optimierte Version von Fedora 39. Ich habe mich mit Asahi Linux ja schon vor rund zwei Jahren beschäftigt. Seither hat sich viel getan. Zeit also für einen neuen Versuch! Dieser Beitrag beschreibt die Installation des Fedora Asahi Remix auf einem Mac Mini mit M1-CPU. In einem zweiten Artikel fasse ich die Konfiguration und meine praktischen Erfahrungen zusammen.

Installationsstart

Die Projektseite von Asahi Linux empfiehlt, die Installation von Asahi Linux in einem Terminal wie folgt zu starten:

curl https://alx.sh | sh

Ich habe bei solchen Dingen immer etwas Bauchweh, zumal das Script sofort nach dem sudo-Passwort fragt. Was, wenn irgendjemand alx.sh gekapert hat und mir ein Script unterjubelt, das einen Trojaner installiert? Daher:

curl https://alx.sh -o alx.sh
less alx.sh
sh alx.sh 

Die Kontrolle hilft auch nur bedingt. Das Script ist nur wenige Zeilen lang und lädt alle erdenklichen weiteren Tools herunter. Aber der Code sieht zumindest so aus, als würde er tatsächlich Asahi Linux installieren, keine Malware. Eine echte Garantie, dass das alles gefahrlos ist, gibt auch less nicht. Nun gut …

Zuerst aufräumen

Auf meinem Mac fristet eine uralte Asahi-Installation schon seit Jahren ein Schattendasein. Ich wollte das neue Asahi Linux einfach darüber installieren — aber das Installationsprogramm bietet dazu keine Möglichkeit. Die richtige Vorgehensweise sieht so aus: Zuerst müssen die drei damals eingerichteten Partitionen gelöscht werden. Dann kann das Installationsprogramm den partitionsfreien Platz auf der SSD für eine Neuinstallation nutzen.

Dankenswerterweise hat Asahi-Chefentwickler Hector Martin auf einer eigenen Seite eine Menge Know-how zur macOS-Partitionierung zusammengefasst. Dort gibt es auch gleich ein Script, mit dem alte Asahi-Linux-Installationen entfernt werden können. Gesagt, getan!

curl -L https://github.com/AsahiLinux/asahi-installer/raw/main/tools/wipe-linux.sh -o wipe-linux.sh
less wipe-linux.sh
sh wipe-linux.sh

THIS SCRIPT IS DANGEROUS!
DO NOT BLINDLY RUN IT IF SOMEONE JUST SENT YOU HERE.
IT WILL INDISCRIMINATELY WIPE A BUNCH OF PARTITIONS
THAT MAY OR MAY NOT BE THE ONES YOU WANT TO WIPE.

You are much better off reading and understanding this guide:
https://github.com/AsahiLinux/docs/wiki/Partitioning-cheatsheet

Press enter twice if you really want to continue.
Press Control-C to exit.

Started APFS operation on disk1
Deleting APFS Container with all of its APFS Volumes
Unmounting Volumes
Unmounting Volume "Asahi Linux - Data" on disk1s1
Unmounting Volume "Asahi Linux" on disk1s2
Unmounting Volume "Preboot" on disk1s3
Unmounting Volume "Recovery" on disk1s4
Unmounting Volume "Update" on disk1s5
...

Bei meinem Test hat das Script exakt getan, was es soll. Ein kurzer Test mit diskutil zeigt, dass sich zwischen Partition 2 und 3 eine Lücke von rund 200 GiB befindet. Dort war vorher Asahi Linux, und dorthin soll das neue Asahi Linux wieder installiert werden.

Zurück an den Start

Nach diesen Vorbereitungsarbeiten (natürlich habe ich vorher auch ein Backup aller wichtiger Daten erstellt, eh klar …) habe ich den zweiten Versuch gestartet.

sh alx.sh 

Bootstrapping installer:
  Checking version...
  Version: v0.7.1
  Downloading...
  Extracting...
  Initializing...

The installer needs to run as root.
Please enter your sudo password if prompted.
Password:*******

Welcome to the Asahi Linux installer!

This installer will guide you through the process of setting up
Asahi Linux on your Mac.

Please make sure you are familiar with our documentation at:
  https://alx.sh/w

Press enter to continue.

Collecting system information...
  Product name: Mac mini (M1, 2020)
  SoC: Apple M1
  Device class: j274ap
  Product type: Macmini9,1
  Board ID: 0x22
  Chip ID: 0x8103
  System firmware: iBoot-10151.81.1
  Boot UUID: 284E...
  Boot VGID: 284E...
  Default boot VGID: 284E...
  Boot mode: macOS
  OS version: 14.3 (23D56)
  OS restore version: 23.4.56.0.0,0
  Main firmware version: 14.3 (23D56)
  No Fallback System Firmware / rOS
  SFR version: 23.4.56.0.0,0
  SystemRecovery version: 22.7.74.0.0,0 (13.5 22G74)
  Login user: kofler

Collecting partition information...
  System disk: disk0

Collecting OS information...

Nach der Darstellung einiger Infos ermittelt das Script eine Partitionstabelle und bietet dann an, Asahi Linux im freien Bereich der Disk zu installieren (Option f).

Partitions in system disk (disk0):
  1: APFS [Macintosh HD] (795.73 GB, 6 volumes)
    OS: [B*] [Macintosh HD] macOS v14.3 [disk3s1s1, 284E...]
  2: (free space: 198.93 GB)
  3: APFS (System Recovery) (5.37 GB, 2 volumes)
    OS: [  ] recoveryOS v14.3 [Primary recoveryOS]

  [B ] = Booted OS, [R ] = Booted recovery, [? ] = Unknown
  [ *] = Default boot volume

Using OS 'Macintosh HD' (disk3s1s1) for machine authentication.

Choose what to do:
  f: Install an OS into free space
  r: Resize an existing partition to make space for a new OS
  q: Quit without doing anything

» Action (f): f

Im nächsten Schritt haben Sie die Wahl zwischen verschiedenen Fedora-Varianten. Ich habe mich für Gnome entschieden:

Choose an OS to install:
  1: Fedora Asahi Remix 39 with KDE Plasma
  2: Fedora Asahi Remix 39 with GNOME
  3: Fedora Asahi Remix 39 Server
  4: Fedora Asahi Remix 39 Minimal
  5: UEFI environment only (m1n1 + U-Boot + ESP)

» OS: 2

Jetzt beginnt die eigentliche Installation. Leider haben Sie keine Möglichkeit, auf die Partitionierung oder Verschlüsselung Einfluss zu nehmen. Es werden zwei kleine Partitionen für /boot (500 MiB) und /boot/efi eingerichtet (1 GiB). Den restlichen Platz füllt ein btrfs-Dateisystem ohne Verschlüsselung. Immerhin können Sie bei Bedarf festlegen, dass nicht der gesamte partitionsfreie Platz von Fedora Asahi Linux genutzt wird.

Downloading OS package info...
- 

Minimum required space for this OS: 14.94 GB

Available free space: 198.93 GB

How much space should be allocated to the new OS?
  You can enter a size such as '1GB', a fraction such as '50%',
  the word 'min' for the smallest allowable size, or
  the word 'max' to use all available space.

» New OS size (max): max

The new OS will be allocated 198.93 GB of space,
leaving 167.94 KB of free space.

Enter a name for your OS
» OS name (Fedora Linux with GNOME):  <return>

Using macOS 13.5 for OS firmware
Downloading macOS OS package info...
Creating new stub macOS named Fedora Linux with GNOME
Installing stub macOS into disk0s5 (Fedora Linux with GNOME)
Preparing target volumes...
Checking volumes...
Beginning stub OS install...
Setting up System volume...
Setting up Data volume...
Setting up Preboot volume...
Setting up Recovery volume...
Wrapping up...

Stub OS installation complete.

Adding partition EFI (524.29 MB)...
  Formatting as FAT...
Adding partition Boot (1.07 GB)...
Adding partition Root (194.83 GB)...
Collecting firmware...
Installing OS...
  Copying from esp into disk0s4 partition...
  Copying firmware into disk0s4 partition...
  Extracting boot.img into disk0s7 partition...
  Extracting root.img into disk0s6 partition...
Downloading extra files...
  Downloading gstreamer1-plugin-openh264-1.22.1-1.fc39.aarch64.rpm (1/3)...
  Downloading mozilla-openh264-2.3.1-2.fc39.aarch64.rpm (2/3)...
  Downloading openh264-2.3.1-2.fc39.aarch64.rpm (3/3)...
Preparing to finish installation...
Collecting installer data... 

To continue the installation, you will need to enter your macOS
admin credentials.

Password for kofler: **********

Setting the new OS as the default boot volume...
Installation successful!
Install information:
  APFS VGID: 0E76...
  EFI PARTUUID: 8d47...

Help us improve Asahi Linux!
We'd love to know how many people are installing Asahi and on what
kind of hardware. Would you mind sending a one-time installation
report to us?

This will only report what kind of machine you have, the OS you're
installing, basic version info, and the rough install size.
No personally identifiable information (such as serial numbers,
specific partition sizes, etc.) is included. You can view the
exact data that will be sent.

Report your install?
  y: Yes
  n: No
  d: View the data that will be sent

» Choice (y/n/d): y

Your install has been counted. Thank you! ❤

Zuletzt zeigt das Installations-Script genaue Anweisungen für den ersten Start von Asahi Linux an:

To be able to boot your new OS, you will need to complete one more step.
Please read the following instructions carefully. Failure to do so
will leave your new installation in an unbootable state.

Press enter to continue.

When the system shuts down, follow these steps:

1. Wait 25 seconds for the system to fully shut down.
2. Press and hold down the power button to power on the system.
   * It is important that the system be fully powered off before this step,
     and that you press and hold down the button once, not multiple times.
     This is required to put the machine into the right mode.
3. Release it once you see 'Loading startup options...' or a spinner.
4. Wait for the volume list to appear.
5. Choose 'Fedora Linux with GNOME'.
6. You will briefly see a 'macOS Recovery' dialog.
   * If you are asked to 'Select a volume to recover',
     then choose your normal macOS volume and click Next.
     You may need to authenticate yourself with your macOS credentials.
7. Once the 'Asahi Linux installer' screen appears, follow the prompts.

If you end up in a bootloop or get a message telling you that macOS needs to
be reinstalled, that means you didn't follow the steps above properly.
Fully shut down your system without doing anything, and try again.
If in trouble, hold down the power button to boot, select macOS, run
this installer again, and choose the 'p' option to retry the process.

Press enter to shut down the system.

Ich habe den Installationsprozess auch in Screenshots dokumentiert:

Asahi-Linux, Teil 1

Asahi-Installation, Teil 2

Reboot

Das Script fährt nun macOS herunter. Zum Neustart drücken Sie die Power-Taste und halten diese ca. 15 Sekunden lang gedrückt, bis ein Auswahlmenü erscheint. Dort wählen Sie Asahi Linux. Dieses wird allerdings nicht gleich gestartet, vielmehr muss nun die Bootkonfiguration fertiggestellt werden. Ich habe die folgenden Schritte mit Fotos dokumentiert.

Fedora Linux auswählen
Bootloader Installation
Bootloader-Installation (Forts.)
Bootloader-Installation (Forts.)
Bootloader-Installation (Forts.)
Bootloader-Installation (Forts.)
Meldungen beim ersten »echten« Linux-Bootprozess. »Failed to load« klingt schlimm, aber unmittelbar danach geht es zum Glück weiter.
Geschafft! Jetzt muss nur noch die Fedora-Installation abgeschlossen werden.

Fedora-Installation abschließen

Fedora Linux läuft zum ersten Mal. Nun müssen Sie einige grundlegende Konfigurationsschritte erledigen (User-Name + Passwort, WLAN, Sprache, Tastaturlayout, Update).

Wechseln zwischen macOS und Fedora

Der Bootprozess ist jetzt so eingerichtet, dass bei jedem Neustart automatisch Fedora gestartet wird. Wenn Sie macOS verwenden möchten, müssen Sie den Rechner zuerst komplett herunterfahren. Dann drücken Sie wieder die Power-Taste, halten Sie ca. 15 Sekunden gedrückt, bis das OS-Menü erscheint, und wählen macOS.

Unter macOS können Sie das Default-OS voreinstellen. Es ist aber leider nicht möglich, den Mac so zu konfigurieren, dass bei jedem Bootprozess automatisch das Auswahlmenü erscheint. Sie müssen sich für eine Hauptvariante entscheiden. Jeder Bootprozess in ein anderes OS bleibt mühsam (Power-Taste 15 Sekunden drücken …).

Default-OS einstellen

Geekbench

Wie schnell ist Linux im Vergleich zu macOS? Ich habe auf meinem Mac Mini M1 Geekbench 6 jeweils unter macOS und unter Fedora Asahi ausgeführt. Das Ergebnis: im Rahmen der Messgenauigkeit etwa gleich schnell.

               Single     Multi Core
---------- ----------   ------------
macOS            2360           8050
Fedora           2357           7998

Quellen/Links

Was ist die Geschichte von BunsenLabs und wie komfortabel ist die Distribution bei der Bedienung? Ich probiere es für euch aus.

Damals

Im ersten Teil dieses Kurztests habe ich die Installation und den ersten Eindruck von BunsenLabs Boron geschildert. In diesem zweiten Teil geht es um die Herkunft und die Tauglichkeit im täglichen Betrieb.

BunsenLabs stellt einen geistigen Nachfolger zum eingestellten CrunchBang Linux dar. Von diesem übernimmt es Openbox als Fenstermanager. Das Design ist schlicht gehalten. Bei den Paketquellen setzt BunsenLabs auf Debian in der stabilen Fassung. Bei der Auswahl an Software wird grösstenteils auf GTK basierte Programme gesetzt. Ein schlankes Grundsystem wird mit einem minimalistischen Erscheinungsbild kombiniert. Der Fenstermanager ist dabei stark anpassbar und unterstützt auch moderne Widescreen-Monitore.

CrunchBang war eine auf Debian GNU/Linux basierende Distribution, die eine Mischung aus Geschwindigkeit, Stil und Substanz bot. Durch die Verwendung des flinken Openbox-Fenstermanagers war es in hohem Masse anpassbar und bot ein modernes, voll ausgestattetes GNU/Linux-System ohne Leistungseinbussen. Die Entwicklung von CrunchBang wurde eingestellt, aber es inspirierte die Mitglieder der Community zur Entwicklung einiger hervorragender Spin-off-Projekte, wie z. B. BunsenLabs.

Weitere Informationen über die Geschichte von BunsenLabs findet ihr im Artikel von caos bei uns.

Heute

Wie im ersten Teil beschrieben, ist die Installation kinderleicht und führt zu einem grafisch ansprechenden OpenBox-Desktop. Ich habe BunsenLabs in der virtuellen Maschine GNOME-Boxes getestet. Die aktuelle Version Boron basiert auf Debian 12 mit dem Kernel 6.1.0-17. Die Distro belegt ca. 500 MB RAM, was am schlanken Fenstermanager liegt. Um die Alltagstauglichkeit zu prüfen, schaue ich mir folgenden Bereiche an:

  • Bildschirmauflösung
  • Spracheinstellung
  • Mitgelieferte Software
  • Paketverwaltung

Bildschirmauflösung

Die Änderung der Bildschirmauflösung auf die Fähigkeiten meines Monitors hat mir Kopfzerbrechen bereitet. Alle üblichen/einfachen Verfahren funktionieren nicht. Ich musste das Internet bemühen, um eine Lösung zu finden. Hallo 90'er-Jahre.

Wer bei BunsenLabs die Bildschirmauflösung verändern möchte, muss ArandR verwenden, oder xrandr im Terminal bemühen. Und dann muss man die Screen-Konfiguration im Autostart unterbringen. Mit ArandR habe ich es nicht geschafft, die Auflösung zu persistieren. Null Punkte.

Spracheinstellung

Während der Installation von BunsenLabs Boron werden alle nötigen Informationen für die Sprach- und Gebietseinstellungen abgefragt. Die Distribution ignoriert diese Angaben und stellt nur englische Labels bereit. Nach langem Suchen habe ich keine Möglichkeit gefunden, die Spracheinstellungen zu ändern. Und nein, ich habe nicht drei Stunden im Internet danach gesucht. Null Punkte.

Mitgelieferte Software

Die Auswahl der vorinstallierten Pakete ist reichhaltig. Da findet sich für jeden Anwendungsfall eine Lösung. Man erreicht diese über das Rechts-Klick-Menü oder über die Suche mit SUPER+Suchbegriff. Hier ist eine kleine Auswahl:

  • Internet: Firefox ESR, HexChat, Filezilla, Transmission
  • Dateiemanager: Thunar
  • Suche: Catfish
  • Editor und IDE: Geany
  • Bilder: Ristretto, ImageMagick
  • Multimedia: Xfburn, VLC, PulseAudio
  • Office: LibreOffice, Evince
  • und viele andere

Bei der Paketverwaltung setzt BunsenLabs auf:

  • apt im Terminal
  • Synaptic (für alle, die es grafisch mögen)
  • und eine Favoriten-Anwendung:

Die vorinstallierten Pakete sind gut ausgewählt und reichhaltig. Vielen mag der Zugriff auf die Apps über das Rechts-Klick-Menü gefallen, andere mögen des als zu Klick-intensiv empfinden. Ebendarum hat BunsenLabs das Tilt2-Panel standardmässig integriert. Doch wie funktioniert es?

Über den Tint2-Manager (findet man im Menü unter "User Settings, Tint2" auswählen) können verschiedene Designs und Anordnungen für das Panel gewählt werden. Im Screenshot seht ihr eine Variante, die das Panel am unteren Bildschirmrand anordnet.

Doch wie bringt man App-Starter in das Tint2-Panel? Dafür gibt es im oben erwähnten Menü den Tint2-Editor. Dieser öffnet eine Konfigurationsdatei, in der man das Tint2-Panel einrichten kann, einschliesslich der App-Starter. An dieser Stelle bin ich ausgestiegen. Null Punkte.

Paketverwaltung

Das Wesentliche habe ich bereits im vorherigen Kapitel erwähnt. Als Debian-basierte Distribution kommt apt als Paketverwaltung zum Zuge. Andere Paketformate werden nicht unterstützt. Mit dem Menüeintrag "Install Favourite Packages" gibt es ein gutes Angebot, um zusätzliche Software mit wenigen Klicks zu installieren.

Wie man sieht, verbergen sich dahinter Shell-Skripte, was keinesfalls als Kritik gemeint ist, aber Einsteiger:innen irritieren könnte. Einer der Neuerungen in der Boron-Version ist das automatische Update von Debian-Paketen. Diese Option kann im Terminal durch den Aufruf des Shell-Skripts bl-welcome eingerichtet werden. Ob das funktioniert, konnte ich aus Zeitgründen nicht überprüfen. Im Zweifel verwendet man sudo apt update && sudo apt upgrade.

Fazit

Wenn ich einen kurzen Testbericht über eine GNU/Linux-Distribution schreibe, wird dieser der Distro oft nicht gerecht. Das zeigt sich gerade bei BunsenLabs Boron. Im ersten Teil war ich begeistert, ob der einfachen Installation und dem tollen Erscheinungsbild. Der zweite Teil ist ziemlich negativ ausgefallen. Das möchte ich nicht der Distro anlasten, sondern der wenigen Zeit, die ich damit verbracht habe. Wer viele Distributionen getestet hat, entwickelt über die Jahre ein Gefühl, das sich kaum beschreiben lässt. Man fühlt das Potenzial einer Distribution; und dieses Gefühl ist bei BunsenLabs Boron gut. Die Entwickler haben viel Liebe in ihre Distribution gegossen. Deshalb ist es wert, mehr Zeit mit Boron zu verbringen, um die Details zu erforschen.


GNU/Linux.ch ist ein Community-Projekt. Bei uns kannst du nicht nur mitlesen, sondern auch selbst aktiv werden. Wir freuen uns, wenn du mit uns über die Artikel in unseren Chat-Gruppen oder im Fediverse diskutierst. Auch du selbst kannst Autor werden. Reiche uns deinen Artikelvorschlag über das Formular auf unserer Webseite ein.

26. Januar 2024

Ein MQTT-Broker ist die Schnittstelle zwischen vielen IoT-Sensoren und Geräten, die Sensordaten auswerten oder Aktoren steuern. Das MQTT-Protokoll ist offen und sehr weit verbreitet. Es findet in der Industrie Anwendungen, ist aber auch in Smart Homes ist MQTT weit verbreitet.
MQTT ist ein sehr schlankes und schnelles Protokoll. Es wird in Anwendungen mit niedriger Bandbreite gerne angewendet.

MQTT funktioniert, grob gesagt, folgendermaßen: IoT-Geräte können Nachrichten versenden, die von anderen IoT-Geräten empfangen werden. Die Vermittlungsstelle ist ein sogenannter MQTT-Broker. Dieser empfängt die Nachrichten von den Clients. Gleichzeitig können diese Nachrichten von anderen Clients abonniert werden. Die Nachrichten werden in sog. Topics eingestuft, die hierarchisch angeordnet sind, z.B. Wohnzimmer/Klima/Luftfeuchtigkeit.

Home Assistant, oder ein anderer Client, kann diesen Topic abonnieren und den Nachrichteninhalt („Payload„) auswerten (z.B. 65%).

Home Assistant OS vs. Home Assistant Container

In Home Assistant OS und Supervisor gibt es ein Addon, das einen MQTT-Broker installiert. Das ist sehr einfach, komfortabel und funktioniert wohl recht zurverlässig. In den Installationsarten Home Assistant Container und Core gibt es diese Möglichkeit nicht. Hier muss man manuell einen MQTT-Broker aufsetzen.

In diesem Artikel beschäftige ich mich damit, wie man den MQTT-Brocker Mosquitto über Docker installiert. Anschließend zeige ich, wie man die Konfigurationsdatei gestaltet und eine Verbindung zu Home Assistant herstellt. Das Ergebnis ist dann ungefähr so, als hätte man das Addon installiert. Los gehts!

Schritt für Schritt: MQTT-Broker Mosquitto mit Docker installieren

Als MQTT-Broker verwende ich die weit verbreitete Software Mosquitto von Eclipse. Dieser wird auch von Home Assistant bevorzugt und ist derjenige Broker, den das Addon installieren würde.
Für diese Anleitung wird vorausgesetzt, dass Docker bereits installiert ist und eine SSH-Verbindung zum Server hergestellt werden kann.

Schritt 1: Zunächst erstellen wir ein paar Ordner, die wir später benötigen. Mosquitto wird später so konfiguriert, dass in diese Ordner alle wichtigen Dateien abgelegt werden. Dadurch kann man auf dem Filesystem des Servers Mosquitto konfigurieren und beobachten.

$ mkdir mosquitto
$ mkdir mosquitto/config 
$ mkdir mosquitto/data 
$ mkdir mosquitto/log

Schritt 2: Nun wird die Konfigurationsdatei für Mosquitto erstellt. Über diese Datei kann man das Verhalten von Mosquitto steuern.

$ nano config/mosquitto.conf
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log
log_dest stdout
password_file /mosquitto/config/mosquitto.passwd
allow_anonymous false
listener 1883

Schritt 3: Mit dem folgenden Befehl lädt man sich das aktuelle Image von Eclipse Mosquitto auf den Server.

$ docker pull eclipse-mosquitto

Schritt 4: Mit dem folgenden Befehl wird der Docker-Container gestartet. Das ist der Schlüsselmoment, jetzt muss alles klappen.

$ docker run -it -p 1883:1883 -p 9001:9001 --name mosquitto -v /home/pi/mosquitto/config:/mosquitto/config -v /home/pi/mosquitto/data:/mosquitto/data -v /home/pi/mosquitto/log:/mosquitto/log eclipse-mosquitt

Die Flags bedeuten hierbei folgendes:

  • -p 1883:1883 Der genannte Port ist die Standardeinstellung für MQTT. Alles was auf diesen Port am Server ankommt, wird in den Mosquitto-Container geleitet.
  • -p 9001:9001 Über diesen Port laufen die Websocket-Anwendungen. Falls das nicht benötigt wird, kann man das weg lassen
  • name mosquitto Über diesen kurzen Namen können wir den Docker-Container steuern
  • -v <filesystem-Pfad>:<Container-Pfad> Die in Schritt 1 erstellten Ordner werden in den Container eingebunden

Wer lieber Docker Compose verwendet, trägt diesen Eintrag in seine *.yaml ein:

services:
    eclipse-mosquitto:
        stdin_open: true
        tty: true
        ports:
            - 1883:1883
            - 9001:9001
        restart: unless-stopped
        container_name: mosquitto
        volumes:
            - /home/pi/mosquitto/config:/mosquitto/config
            - /home/pi/mosquitto/data:/mosquitto/data
            - /home/pi/mosquitto/log:/mosquitto/log
        image: eclipse-mosquitto

Schritt 5: Checken, ob der Container ordnungsgemäß läuft. In der folgenden Liste sollte eine Zeile mit dem Mosquitto-Docker auftauchen. Dieser sollte außerdem „up“ sein. Falls nicht, nochmal versuchen den Container zu starten und kontrollieren, ob er läuft.

$ docker container ls -a
CONTAINER ID   IMAGE          COMMAND   CREATED        STATUS        PORTS    NAMES
xxxxxxxxx   eclipse-mosquitto "/init"   3 minutes ago   Up 2 minutes  [...]   mosquitto

Schritt 6: Sehr gut, der Container läuft. Es wird dringend empfohlen, den MQTT-Broker so abzusichern, dass nur angemeldete User darauf zugreifen können. Das ist ja schon in Schritt 2 in die Konfigurationsdatei geschrieben worden. Mit dem folgenden Befehl melden wir uns in der Shell innerhalb des Containers an und erstellen einen Benutzer. In diesem Beispiel mosquitto. Im Anschluss an diesen Befehl wird man zweimal gebeten, das Passwort für den User festzulegen. Ist das geschafft, läuft der MQTT-Broker auf dem Server. Herzlichen Glückwunsch!

$ docker exec -it sh // öffnet die Shell innerhalb des Dockers
mosquitto_passwd -c /mosquitto/config/mosquitto.passwd mosquitto

Optional Schritt 7: Den MQTT-Broker bindet man in Home Assistant ein, indem man auf EinstellungenGeräte und Dienste+ Integration hinzufügen klickt. Im Suchfenster nach „MQTT“ suchen und die Zugangsdaten eingeben.
Die Server-Adresse findet man übrigens am schnellsten über ifconfig heraus.

The post MQTT-Broker Mosquitto als Docker Container installieren first appeared on bejonet - Linux | Smart Home | Technik.

Ich bin letztens über einen Artikel auf pikuma.com über die Vor- und Geschichte von Vim gestolpert, den ich auch weiter unten in den Quellen verlinkt habe. Ich fand die Geschichte über die Entstehung des Editors Vim und seiner Vorgänger so beeindruckend, dass ich für mich eine Zeittafel zusammengestellt habe, wann wer was gemacht hat.

Das ist schon sehr krass, dass Vim 1988 auf dem Amiga begonnen und am 02.11.1991 in der Version 1.14 über die Disketten Distribution Fred Fish Disk #591 verteilt wurde. Und dass der Ursprung dieses Editors jetzt über 55 Jahre zurück liegt.

Am Beeindruckendsten ist eigentlich die hohe Qualität, der riesig große Funktionsumfang, die Verfügbarkeit auf so vielen Plattformen, die unglaubliche Geschwindigkeit und die extrem resourcenschonenden Eigenschaften, alles vereint in einem unscheinbar wirkenden Editor.

Wenn ihr die Details zur Geschichte wissen wollt, dann lest den englischen Artikel auf pikuma.com (in den Quellen unten). Dort sind auch alle wichtigen Informationen nochmal verlinkt.

  • 1968 – ed von Ken Thompson
  • 1973 – em von George Coulouris
  • 1973 – en & ex von Bill Joy und Chuck Haley
  • 1977 – Bill Joy entwickelte den Visual Mode VI in ex . Viele der vi shortcuts und Navigationstasten, die bis heute benutzt werden, basieren auf dem DM-3A keyboard Layout.
  • 1979 – In BSD Unix wird ein vi hard link auf den ex Visual Mode gesetzt (Mai 1979 )
  • 1987 – Steve für Atari von Tim Thompson
  • 1988 – Start an den Arbeiten von Vi IMitation 1.0 von Bram Moolenaar on Amiga
  • 1990 – Elvis von Steve Kirkendall
  • 1991 – Vim „Vi IMitation“ v1.14 von Bram Moolenaar erscheint 02.11.1991 auf dem Amiga auf Fred Fish disk #591
  • 1993 – Der Name wurde auf "Vi iMproved" mit dem Erscheinen der Version v1.22 von Bram Moolenaar geändert. Außerdem erscheint ein Port für Unix
  • 1994 – Vim 3.0 Feature: Multiple windows
  • 1996 – Vim 4.0 Feature: Graphical User Interface
  • 1998 – Vim 5.0 Feature: Syntax highlighting
  • 2001 – Vim 6.0 Feature: Folding and multi-language
  • 2006 – Vim 7.0 Feature: Spell checking support – Intelligent completion – Tab pages – Undo branches – Browsing remote directories, zip and tar archives
  • 2007 – Vim 7.1 Feature: Bug Fix Release
  • 2008 – Vim 7.2 Feature: floating point support
  • 2010 – Vim 7.3 Feature: Persistent undo and undo for reload – Blowfish encryption, encryption of the swap file – Conceal text – Lua interface – Python 3 interface
  • 2013 – Vim 7.4 Feature: A new, faster regular expression engine. – More than a thousand fixes and small improvements.
  • 2016 – Vim 8.0 Feature: Asynchronous I/O support, channels, JSON – Jobs – Timers – Partials, Lambdas and Closures – Packages – New style testing – Viminfo merged by timestamp – GTK+ 3 support – MS-Windows DirectX support
  • 2018 – Vim 8.1 Feature: Bug Fix Release
  • 2019 – Vim 8.2 Feature: Popup Windows
  • 2022 – Vim 9.0 Feature: Vim9 Script
  • 20. Februar 2022 – Todestag von Sven Guckes, längster Projektbegleiter und Registrierer der Domain vim.org
  • 03. August 2023 – Todestag von Bram Moolenaar, der Vim ins Leben gerufen hat
  • 2024 – Vim 9.1 Feature: Classes and objects for the Vim9 scripting language & Smooth scrolling

Abfrage in Vim für die Features einer bestimmten Version
z.B. :help version-7.2

Quellen

  1. https://de.wikipedia.org/wiki/Vim
  2. https://en.wikipedia.org/wiki/Vim_(text_editor)
  3. https://github.com/vim/vim-history
  4. https://en.wikipedia.org/wiki/Elvis_(text_editor)
  5. https://en.wikipedia.org/wiki/ADM-3A
  6. https://en.wikipedia.org/wiki/Ex_(text_editor)
  7. https://en.wikipedia.org/wiki/Ed_(text_editor)
  8. http://www.eecs.qmul.ac.uk/~gc/history/
  9. https://pikuma.com/blog/origins-of-vim-text-editor
  10. https://de.wikipedia.org/wiki/Bram_Moolenaar
  11. https://www.heise.de/news/Vim-Versteher-und-Kommandozeilenerklaerer-Sven-Guckes-ist-tot-6511004.html
  12. https://www.heise.de/news/Zum-Tode-Bram-Moolenaars-Vim-Koryphaee-Weltenbummler-und-Spendensammler-9235897.html

The post Vim Zeitgeschichte – Time Table first appeared on Dem hoergen Blog.

Linux Mint 21.3 Cinnamon ISO-Edge wurde veröffentlicht.

Das wird nur ein sehr kurzer News-Artikel. Ich finde die Neuigkeit aber interessant und deshalb veröffentliche ich sie:

Linux Mint Edge ist für Nutzer gedacht, die Linux Mint nicht installieren können, weil ihre Hardware zu neu ist. Nun wurde Linux Mint 21.3 Cinnamon Edge-ISO mit Kernel 6.5 veröffentlicht. Damit können neueren Komponenten und Chip-Sätze unterstützt werden.

Die Edge-Version ist nur mit dem Cinnamon-Desktop ausgeliefert. Andere Desktops wie zum Beispiel XFCE können über die Paketverwaltung installiert werden.

Linux Mint warnt, dass die Edge-ISO nicht so stabil wie andere ISOs ist und nur verwendet werden sollte, wenn mit den "normalen" ISOs nicht gebootet oder installiert werden kann.

Linux Mint 21.3 Cinnamon Edge-ISO mit Kernel 6.5 könnt Ihr hier herunterladen

Quellen:

Grafik: https://www.linuxmint.com/pictures/screenshots/virginia/thumb_cinnamon.png

https://blog.linuxmint.com/?p=4635

https://linuxmint-user-guide.readthedocs.io/en/latest/edge.html


GNU/Linux.ch ist ein Community-Projekt. Bei uns kannst du nicht nur mitlesen, sondern auch selbst aktiv werden. Wir freuen uns, wenn du mit uns über die Artikel in unseren Chat-Gruppen oder im Fediverse diskutierst. Auch du selbst kannst Autor werden. Reiche uns deinen Artikelvorschlag über das Formular auf unserer Webseite ein.

25. Januar 2024

Gestern wurde die leichtgewichtige Distribution BunsenLabs Boron veröffentlicht. Sie basiert auf Debian 12 und verwendet den Window-Manager OpenBox.

Wenn einem keine anderen Ideen für Artikel einfallen, gibt es immer Auswege. Entweder man schimpft über GNOME, berichtet aus dem Büro, oder testet eine Distribution. Für diesen Artikel habe ich mich für Letzteres entschieden.

John Raff schreibt zur neuen Version:

Das BunsenLabs-Team freut sich, die Veröffentlichung von BunsenLabs Boron bekannt zu geben. Basierend auf Debian 'Bookworm', ist dies unserer Meinung nach das beste BunsenLabs bisher. Einige der neuen Funktionen sind: eine wunderschöne grafische Benutzeroberfläche von unserem Grafikteam, die Juliette Takas Debian Emerald Wallpaper als Ausgangspunkt nimmt, Fenster haben runde Ecken, das Menü hat Icons und das Panel ist vertikal, wie immer sind alle diese Details leicht an die Vorlieben der Benutzer anzupassen; alternative GUI-Themen können leicht über unser BLOB-Dienstprogramm ausgewählt werden, unter "Benutzereinstellungen" im Menü gibt es ein dunkles Boron-Thema mit roten Highlights, einem horizontalen Panel und ohne Menüsymbole; Benutzer, die frühere BunsenLabs-Themen mochten, können leicht zu Beryllium, Lithium, Helium oder anderen Desktops wechseln; ein optionales Dienstprogramm überwacht Paket-Upgrades und informiert den Benutzer, wenn welche verfügbar sind; verschiedene Fehler und Ärgernisse wurden im gesamten System behoben.

Nach dem Herunterladen des 1.7 GB kleinen 64-Bit Hybrid-Images, präsentiert sich Boron so:

Nach dem Start des Live Systems sieht man den Systemmonitor Conky und ein vertikales Tint2-Panel auf der angepassten OpenBox-Oberfläche. Das Anwendungsmenü kann mit der rechten Maustaste aufgerufen werden.

Nach dem schönen ersten Eindruck habe ich den Installer gestartet. Dabei handelt es sich wahrscheinlich um eine angepasste Version von Calamares. Der Installationsprozess ist anfängerfreundlich und lässt kein Stirnrunzeln zurück. Die Installation dauert (in GNOME-Boxes) ca. 10 bis 15 Minuten, was typisch für Debian-basierte Distributionen ist.

Während die Installation läuft, beschreibe ich meinen ersten Eindruck:

Für eine Distro, die an Stelle 137 bei Distrowatch rangiert, gefällt mir bisher alles gut, was ich sehe. Conky (siehe rechte Seite) wurde so konfiguriert, dass wichtige Tastaturbefehle gezeigt werden. Das ist mal etwas anderes und erfüllt seinen Zweck bestens. Auch das Tint2-Panel sieht toll aus, obwohl der Anwendungsbereich ziemlich leer ist. Menüs, die per rechtem Mausklick aufgerufen werden, haben mir schon immer gefallen.

Nachdem die Installation abgeschlossen ist, zeigt sich ein relativ glatter Bootprozess. Nun gut, es ist nicht Plymouth, aber besser als die ewigen Terminalzeilen, die man von anderen Distributionen kennt. Danach gelangt man in dieses schöne Anmeldefenster:

Nach der Anmeldung öffnet sich der OpenBox-Desktop und begrüsst einen mit einer 16-seitigen Wilkommensmeldung im Terminal. Ungewöhnlich aber sympathisch:

Die 16 Seiten entpuppen sich als eine Reihe von Einstellungen für die Konfiguration. Unter anderem werden dort folgende Einstellungen abgefragt:

  • Software Upgrade
  • Firmware Check
  • Apt Update Checker
  • Debian Backports
  • BunsenLabs Backports
  • Bluethooth Support
  • Java Support
  • Anwendungen für die Software-Entwicklung installieren

Das Welcome-Script kann nachträglich wieder mit bl-welcome im Terminal aufgerufen werden.

Zwischenfazit

Es gibt GNU/Linux-Distributionen mit coolen Namen: Endeavour, NixOS, KaOS, Emmabuntüs, Yggdrasil und BunsenLabs als Weiterentwicklung von CrunchBang. Leichtgewichtigen Distros haftet manchmal der Makel eines unattraktiven Erscheinungsbilds an. Das sieht dann aus wie der letzte Schrei aus den 90er-Jahren. Nicht so bei BunsenLabs Boron. Mir gefällt die Konfiguration von OpenBox gut. Das Design dürfte vielen Anwender:innen gefallen; die Einrichtung von Conky mit Informationen über die Tastaturbefehle ist nützlich und die Willkommensbotschaft im Terminal mit anschliessenden Konfigurationsoptionen habe ich in dieser Art bisher nicht gesehen.

Im zweiten Teil über BunsenLabs Boron werfe ich einen Blick auf die Geschichte der Distribution und teste, wie es sich im Betrieb anfühlt. Bisher erscheint mir Boron ohne Fehl und Tadel. Ich bin gespannt, ob sich dieser Eindruck bestätigt.

Quelle: https://www.bunsenlabs.org/


GNU/Linux.ch ist ein Community-Projekt. Bei uns kannst du nicht nur mitlesen, sondern auch selbst aktiv werden. Wir freuen uns, wenn du mit uns über die Artikel in unseren Chat-Gruppen oder im Fediverse diskutierst. Auch du selbst kannst Autor werden. Reiche uns deinen Artikelvorschlag über das Formular auf unserer Webseite ein.

24. Januar 2024

Mit dem neuesten Update für Google Chrome hat Google mehrere experimentelle KI-Features integriert. Besonders erwähnenswert ist dabei die Funktion zum Gruppieren der Tabs: Denn dabei werden die URLs und Titel der offenen Tabs an Google übertragen.

Google hat seinen Browser Chrome in Version 121 veröffentlicht. Die große Überschrift für dieses Update sind gleich drei neue Features, welche mithilfe von Künstlicher Intelligenz (KI) das Leben der Nutzer erleichtern sollen. Auch wenn diese derzeit noch experimentellen Funktionen aktuell ausschließlich für Nutzer in den USA zur Verfügung stehen, wurde das Thema auch hierzulande von vielen Medien aufgegriffen. Doch eine sehr wichtige Information sucht man in den meisten Artikeln vergeblich.

Wie Google auf seiner Hilfe-Plattform selbst kommuniziert, arbeitet die Funktion der automatischen Tab-Gruppierung nicht rein auf Basis einer lokalen KI. Stattdessen werden die URLs sowie Titel aller geöffneten Tabs des aktiven Fensters „zur Verbesserung dieser Funktion“ an Google gesendet und gesammelt. Nutzer, die Wert auf Datenschutz legen, dürften dies problematisch sehen.

Der Beitrag Neues KI-Feature von Google Chrome sendet URLs aller offenen Tabs an Google erschien zuerst auf soeren-hentzschel.at.

Die MZLA Technologies Corporation hat mit Thunderbird 115.7 ein planmäßiges Update für seinen Open Source E-Mail-Client veröffentlicht.

Neuerungen von Thunderbird 115.7

Mit dem Update auf Thunderbird 115.7 hat die MZLA Technologies Corporation ein planmäßiges Update für seinen Open Source E-Mail-Client veröffentlicht. Das Update bringt Unterstützung für die Autocrypt Gossip Schlüsselverteilung für Nutzer mit aktiviertem OpenPGP sowie diverse Fehlerbehebungen und Verbesserungen, welche sich in den Release Notes (engl.) nachlesen lassen. Auch wurden diverse Sicherheitslücken geschlossen.

Der Beitrag Thunderbird 115.7 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

23. Januar 2024

Mozilla hat Firefox 122 für Windows, Apple macOS und Linux veröffentlicht. Dieser Artikel fasst die wichtigsten Neuerungen zusammen – wie immer auf diesem Blog weit ausführlicher als auf anderen Websites.

Download Mozilla Firefox für Microsoft Windows, Apple macOS und Linux

Bilder und Beschreibungen in Suchvorschlägen

Firefox kann bei Suchvorschlägen in der Adressleiste jetzt Bilder und kurze Beschreibungen anzeigen, sofern die eingestellte Standard-Suchmaschine dies unterstützt und entsprechende Informationen für den eingegebenen Suchbegriff liefert.

Firefox 122: Suchvorschläge in Adressleiste

Im Rahmen der Funktion Firefox Suggest werden außerdem jetzt auch Artikel aus Mozillas Entwicklerdokumentation MDN Web Docs vorgeschlagen, wenn man nach Inhalten sucht, die mit Webentwicklung zu tun haben. Diese Funktion ist derzeit nur in den USA aktiviert.

Erkennung unglaubwürdiger Produktbewertungen auf Amazon

Bei Aufruf einer Produktseite auf amazon.de zeigt Firefox die Glaubwürdigkeit der abgegebenen Nutzer-Bewertungen in Form einer Schulnote nach amerikanischem System („A“ ist die beste, „F“ die schlechteste Note) an. Darunter wird die bereinigte Durchschnitts-Bewertung des jeweiligen Produkts angezeigt, sprich der Durchschnitt aller Bewertungen abzüglich derer, die nach Einschätzung der Künstlichen Intelligenz von Fakespot von Mozilla keine echten Bewertungen sind. Schließlich folgt noch eine Anzeige aktueller Highlights aus den Bewertungen, eingeteilt nach Kategorien wie Qualität und Preis. Dabei werden nur die glaubwürdigen Bewertungen der letzten 80 Tage als Grundlage genommen.

Fakespot-Integration in Firefox 122

Diese Funktion ist standardmäßig noch nicht aktiviert und kann vom Benutzer aktiviert werden. Die Funktion steht ebenso auf der französischen Seite amazon.fr sowie den englischsprachigen Seiten amazon.com, bestbuy.com sowie walmart.com zur Verfügung.

Verbesserungen der Übersetzungsfunktion

Die Funktion zur vollständigen Übersetzung von Websites, welche im Gegensatz zu Google Translate & Co. komplett im Browser arbeitet und nichts an einen Server sendet, hat Qualitätsverbesserungen erhalten. Vor allem Fälle, in denen Inhalte durch die Übersetzung verschwinden, sollten nun viel seltener vorkommen.

Authentifizierung über Passkeys

Sogenannte Passkeys versprechen eine komfortable und zugleich sichere Anmeldung auf Websites und das ganz ohne Passwort. So kann die Authentifizierung zum Beispiel über den Fingerabdrucksensor, das Smartphone oder einen externen Sicherheitsschlüssel erfolgen. Einen guten und detaillierteren Überblick über das Konzept der Passkeys kann man sich hier verschaffen.

Passkey-Unterstützung in Firefox

.deb-Paket für Debian-basierte Linux-Distributionen

Wer eine auf Debian basierende Linux-Distribution wie beispielsweise Debian selbst, Ubuntu oder Linux Mint nutzt, kann Firefox jetzt auch als .deb-Paket installieren. Ein entsprechendes APT-Repository wird von Mozilla bereitgestellt.

Die .deb-Pakete bieten die gleichen Vorteile wie die .tar.bz2-Archive, die man via mozilla.org herunterladen kann und damit im Vergleich zum Firefox aus einer traditionellen Paketverwaltung unter Linux dank Mozillas Compiler-Optimierungen eine bessere Performance und Sicherheit bieten und außerdem Updates, die den Nutzer schneller erreichen.

Mehr Sicherheit für Firefox-Nutzer

Auch in Firefox 122 wurden wieder mehrere Sicherheitslücken geschlossen. Alleine aus Gründen der Sicherheit ist ein Update auf Firefox 122 daher für alle Nutzer dringend empfohlen.

Sonstige Endnutzer-Neuerungen von Firefox 122

In den Einstellungen der Startseite gibt es nicht länger eine Option zum Aktivieren oder Deaktivieren von Kurzinformationen, da Mozilla schon lange keine Hinweise mehr auf der Firefox-Startseite einblendet und es daher egal war, was hier eingestellt war.

Ebenfalls aus den Einstellungen entfernt wurde die Option zum Einblenden der separaten Suchleiste. Diese kann weiterhin über Menü → Weitere Werkzeuge → Symbolleiste anpassen… in die Oberfläche gezogen werden.

Die Anzahl der DNS Resolver Threads wurde deutlich erhöht, was zu schnelleren DNS-Auflösungen führen sollte, wenn viele Anfragen gleichzeitig erfolgen.

Verbesserungen gab es auch beim Ausdrucken von Websites unter bestimmten Voraussetzungen, insbesondere wenn die CSS Flexbox verwendet wird.

Auf Linux wurde die Verwendung der Farben für die Titelleisten und Sidebars verbessert, was das Erscheinungsbild insgesamt etwas moderner wirken lässt.

Verbesserungen der Webplattform

Die Regeln für Zeilenumbrüche von Webinhalten entsprechen jetzt dem Unicode-Standard, was die Webkompatibilität verbessert. Eine weitere Verbesserung für ost- und südostasiatische Endbenutzer ist die korrekte sprachabhängige Wortauswahl beim Doppelklick auf Text für Sprachen wie Chinesisch, Japanisch, Birmanisch, Laotisch, Khmer und Thai.

Websites können nun auch in privaten Fenstern temporär CacheAPI-Daten speichern, womit sich Websites, welche diesen Standard nutzen, in privaten Fenstern nicht mehr anders als in regulären Fenstern verhalten.

Uneven Level Protection Forward Error Correction (ULPFEC) ist jetzt aktiviert und kann von WebRTC-basierten Diensten genutzt werden, um die Videoqualität bei schwacher Internetverbindung zu verbessern.

Das hr-Element ist ab jetzt auch als Kindelement eines select-Elements erlaubt, um Trennlinien innerhalb eines Auswahlfelds darzustellen. Außerdem wird die showPicker()-Methode für <select>-Elemente jetzt unterstützt.

Bei Tabellen, deren Kopfzeile mittels position: sticky positioniert ist, sind gesetzte border nicht länger unsichtbar.

Verschiedene CSS-Eigenschaften und -Funktionen in Zusammenhang mit offset-path werden ab sofort unterstützt.

Bei der Performance-Optimierung hilft die Unterstützung der LargestContentfulPaint-API. Neu ist auch die Unterstützung der Screen Wake Lock-API.

Weitere Neuerungen für Entwickler von Websites lassen sich in den MDN Web Docs nachlesen.

Verbesserungen der Entwicklerwerkzeuge

Mozilla hat die Tastatur-Steuerung des Regeln-Panels im Inspektor-Werkzeug überarbeitet. Details zur geänderten Steuerung und zur Motivation hinter der Änderung liefert Mozilla in seinem Developer Experience-Blog (engl.).

Der Beitrag Mozilla veröffentlicht Firefox 122 erschien zuerst auf soeren-hentzschel.at.

19. Januar 2024

Ich möchte einen bestimmten systemd Service zu bestimmten Zeiten starten und stoppen. Im Detail geht es um meinen BOINC-Client. Dieser soll von Montag bis Freitag um 17:00 Uhr gestartet, und (ebenfalls von Montag bis Freitag) um 8:00 Uhr morgens gestoppt werden.

Der BOINC-Client bringt bereits seine eigene boinc-client.service-Datei mit, so dass der Dienst mittels systemctl start boinc-client.service und systemctl stop boinc-client.service gestartet und gestoppt werden kann.

Mittels systemd sollen diese Befehle zu den genannten Zeiten ausgeführt werden.

Wrapper-Services

Ich erstelle mir zwei Hilfs-Services, die jeweils den BOINC-Client starten und stoppen.

FÜr den Starter-Service:

sudo nano /etc/systemd/system/start-boinc.service

[Unit]
Description=Start boinc service
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/bin/systemctl start boinc-client.service

[Install]
WantedBy=multi-user.target

Für den Stopper-Service:

sudo nano /etc/systemd/system/stop-boinc.service

[Unit]
Description=Stop boinc service
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/bin/systemctl stop boinc-client.service

[Install]
WantedBy=multi-user.target

Timer

Jetzt brauche ich nur noch zwei Timer, die jeweils die Wrapper-Services auslösen.

Für den Starter:

sudo nano /etc/systemd/system/start-boinc.timer

[Unit]
Description=Timer for starting BOINC client

[Timer]
OnCalendar=Mon-Fri *-*-* 17:00:00

[Install]
WantedBy=timers.target

Für den Stopper:

sudo nano /etc/systemd/system/stop-boinc.timer

[Unit]
Description=Timer for stopping BOINC client

[Timer]
OnCalendar=Mon-Fri *-*-* 08:00:00

[Install]
WantedBy=timers.target

Timer aktivieren

Jetzt müssen die neuen Dateien systemd bekannt gemacht werden:

sudo systemctl daemon-reload

Anschließend werden die Timer aktiviert.

sudo systemctl enable --now start-boinc.timer

sudo systemctl enable --now stop-boinc.timer

Wir können noch überprüfen, ob alles bereit ist.

sudo systemctl status start-boinc.timer

sudo systemctl status stop-boinc.timer

Fertig. Mein boinc-client.service wird nun von Montag bis Freitag jeweils um 17:00 Uhr gestartet und um 8:00 Uhr gestoppt.

Weblinks


Diskussion per Matrix unter https://matrix.to/#/#produnis-blog:tchncs.de

 

Ich möchte einen bestimmten systemd Service zu bestimmten Zeiten starten und stoppen. Im Detail geht es um meinen BOINC-Client. Dieser soll von Montag bis Freitag um 17:00 Uhr gestartet, und (ebenfalls von Montag bis Freitag) um 8:00 Uhr morgens gestoppt werden.

Der BOINC-Client bringt bereits seine eigene boinc-client.service-Datei mit, so dass der Dienst mittels systemctl start boinc-client.service und systemctl stop boinc-client.service gestartet und gestoppt werden kann.

Mittels systemd sollen diese Befehle zu den genannten Zeiten ausgeführt werden.

Wrapper-Services

Ich erstelle mir zwei Hilfs-Services, die jeweils den BOINC-Client starten und stoppen.

FÜr den Starter-Service:

sudo nano /etc/systemd/system/start-boinc.service

[Unit]
Description=Start boinc service
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/bin/systemctl start boinc-client.service

[Install]
WantedBy=multi-user.target

Für den Stopper-Service:

sudo nano /etc/systemd/system/stop-boinc.service

[Unit]
Description=Stop boinc service
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/bin/systemctl stop boinc-client.service

[Install]
WantedBy=multi-user.target

Timer

Jetzt brauche ich nur noch zwei Timer, die jeweils die Wrapper-Services auslösen.

Für den Starter:

sudo nano /etc/systemd/system/start-boinc.timer

[Unit]
Description=Timer for starting BOINC client

[Timer]
OnCalendar=Mon-Fri *-*-* 17:00:00

[Install]
WantedBy=timers.target

Für den Stopper:

sudo nano /etc/systemd/system/stop-boinc.timer

[Unit]
Description=Timer for stopping BOINC client

[Timer]
OnCalendar=Mon-Fri *-*-* 08:00:00

[Install]
WantedBy=timers.target

Timer aktivieren

Jetzt müssen die neuen Dateien systemd bekannt gemacht werden:

sudo systemctl daemon-reload

Anschließend werden die Timer aktiviert.

sudo systemctl enable --now start-boinc.timer

sudo systemctl enable --now stop-boinc.timer

Wir können noch überprüfen, ob alles bereit ist.

sudo systemctl status start-boinc.timer

sudo systemctl status stop-boinc.timer

Fertig. Mein boinc-client.service wird nun von Montag bis Freitag jeweils um 17:00 Uhr gestartet und um 8:00 Uhr gestoppt.

Weblinks

18. Januar 2024

Im Mai des vergangenen Jahres hatte Mozilla die Übernahme von Fakespot bekannt gegeben, einem Anbieter, der vor gefälschten Bewertungen beim Online-Shopping schützen soll. Firefox 122 wird die Erkennung unglaubwürdiger Produktbewertungen auf amazon.de unterstützen.

Bei Fakespot handelt es sich um einen Anbieter, welcher Künstliche Intelligenz nutzt, um gefälschte Rezensionen auf Shopping-Plattformen wie Amazon zu erkennen. Nach eigenen Angaben nutzen derzeit über eine Million Menschen Fakespot. Anfang Mai hatte Mozilla bekannt gegeben, das Unternehmen Fakespot vollständig und inklusive seiner 13 Mitarbeiter übernommen zu haben.

Seit der Übernahme von Fakespot arbeitet Mozilla an der nativen Integration einer Funktion zur Bewertung von Produkt-Reviews in Firefox. Im August 2023 hatte ich eine erste Vorschau auf das neue Firefox-Feature gegeben.

Wenn Mozilla kommende Woche Firefox 122 veröffentlichen wird, wird die Fakespot-Integration zwar noch nicht standardmäßig aktiviert sein, kann aber über about:config aktiviert werden, indem der Schalter browser.shopping.experience2023.enabled auf true gesetzt wird.

Dies funktioniert zwar bereits im aktuellen Firefox 121, allerdings werden ausschließlich amazon.com, walmart.com sowie bestbuy.com unterstützt. Für Nutzer in Deutschland, Österreich und der Schweiz sehr viel relevanter ist die Version von Amazon für den deutschsprachigen Raum, welche unter amazon.de aufrufbar ist. Diese wird, ebenso wie die französische Version unter amazon.fr, ab Firefox 122 unterstützt.

Der Nutzung dieser Funktion muss zunächst explizit durch den Benutzer zugestimmt werden. Standardmäßig erfolgt keine Anzeige von Review-Bewertungen.

Fakespot-Integration in Firefox 122

Bei Aufruf der Produktseite zeigt Firefox die Glaubwürdigkeit der abgegebenen Nutzer-Bewertungen in Form einer Schulnote nach amerikanischem System („A“ ist die beste, „F“ die schlechteste Note) an. Darunter wird die bereinigte Durchschnitts-Bewertung des jeweiligen Produkts angezeigt, sprich der Durchschnitt aller Bewertungen abzüglich derer, die nach Einschätzung von Fakespot keine echten Bewertungen sind. Erkennt Fakespot, dass die Bewertung nicht mehr auf dem neuesten Stand ist, bietet Firefox die Möglichkeit an, die Analyse neu durchführen zu lassen.

Schließlich folgt noch eine Anzeige aktueller Highlights aus den Bewertungen, eingeteilt nach Kategorien wie Qualität und Preis. Dabei werden nur die glaubwürdigen Bewertungen der letzten 80 Tage als Grundlage genommen.

Fakespot-Integration in Firefox 122

Das Bewerben eines alternativen Produkts aus der gleichen Kategorie, welches eine gute Bewertung für die Glaubwürdigkeit der Produktbewertungen erhalten hat, ist für Deutschland und Frankreich aktuell nicht geplant.

Der Beitrag Firefox 122 unterstützt Erkennung unglaubwürdiger Produktbewertungen auf amazon.de erschien zuerst auf soeren-hentzschel.at.

Das ist der dritte Teil einer Mini-Serie zur GPIO-Nutzung am Raspberry Pi 5:

  • GPIO Reloaded I: Python (gpiozero, lgpio, gpiod, rpi-lgpio)
  • GPIO Reloaded II: Bash (gpiod, gpioget, gpioset, pinctrl)
  • GPIO Reloaded III: Kamera (rpicam-xxx, Picamera2)

Genau genommen hat die Kamera-Nutzung nicht unmittelbar etwas mit GPIOs zu tun. Allerdings ist für die Kommunikation mit der Kamera ebenfalls der neu im Pi 5 integrierte RP1-Chip verantwortlich. Der Chip ist der Grund, weswegen alte Kamera-Tools auf dem Raspberry Pi 5 nicht mehr funktionieren. Bevor Sie zu schimpfen beginnen: Der RP1 hat viele Vorteile. Unter anderem können Sie nun zwei Kameras gleichzeitig anschließen und nutzen und höhere Datenmengen übertragen (wichtig für Videos).

Beachten Sie, dass Sie beim Raspberry Pi 5 zum Kamera-Anschluss ein neues, schmaleres Kabel benötigen!

Kamera-Modul 3 mit neuem, FPC-kompatiblen Kabel
Kamera-Modul 3 mit einem neuen Anschlusskabel mit schmaler Kontaktleiste

Veraltet: raspistill, raspivid, picamera2

Im Terminal bzw. in Bash-Scripts funktionieren raspistill, raspivid usw. nicht mehr. Sie müssen stattdessen rpicam-still, rpicam-vid etc. einsetzen.

In Python-Scripts müssen Sie Abschied vom picamera-Modul nehmen. Stattdessen gibt es das vollkommen neue Modul Picamera2. Es bietet (viel) mehr Funktionen, ist aber in der Programmierung komplett inkompatibel. Vorhandene Scripts können nicht portiert werden, sondern müssen neu entwickelt werden.

Sowohl die rpicam-xxx-Kommandos als auch das Picamera2-Modul greifen auf die ebenfalls neue Bibliothek libcamera2 zurück.

Im einfachsten Anwendungsfall erzeugen Sie ein Picamera2-Objekt, machen mit der Methode start_and_capture_file ein Foto und speichern dieses in eine Datei. Dabei kommt die volle Auflösung der Kamera zur Anwendung, beim Camera Module 3 immerhin fast 4600×2600 Pixel.

#!/usr/bin/env python3
# Beispieldatei camera.py
from picamera2 import Picamera2
cam = Picamera2()
# ein Foto machen und speichern
cam.start_and_capture_file("test.jpg")

Anstelle von start_and_capture_file gibt es zwei weitere Methoden, um ebenso unkompliziert Bilderfolgen bzw. Videos aufzunehmen:

# 10 Bilder im Abstand von 0,5 Sekunden aufnehmen
# mit Dateinamen in der Form series-0003.jpg
cam.start_and_capture_files("series-{:0>4d}.jpg", 
                            num_files=10, 
                            delay=0.5)
# Video über 10 Sekunden aufnehmen (640x480 @ 30 Hz, H.264/AVC1)
cam.start_and_record_video("test.mp4", duration=10)

rpicam-xxx-Kommandos

Zum Test der Kamera sowie zur Aufnahme von Bildern und Videos stehen die folgenden neuen Kommandos zur Auswahl:

  • rpicam-hello: zeigt für fünf Sekunden der Preview-Fenster mit dem Bild der Kamera an
  • rpicam-jpeg: nimmt ein Foto auf und speichert es als JPEG-Datei
  • rpicam-still: nimmt ein Foto auf und speichert es (mehr Optionen als rpicam-jpeg, Optionen etwas kompatibler zu raspistill)
  • rpicam-vid: nimmt ein Video auf und speichert es oder gibt den Video-Stream an externe Tools (livav/ffmpeg) weiter
  • rpicam-raw: speichert RAW-Videomaterial in einer Datei

Die Kommandos sind mit all ihren Optionen großartig dokumentiert. Es gibt zwar keine man-Seiten, aber dafür liefern die Kommandos mit der Option -h eine lange Liste aller Optionen (z.B. rpicam-still -h). Ich beschränke mich hier auf einige einfache Anwendungsbeispiele.

# fünf Sekunden lang ein Vorschaufenster anzeigen, dann 
# ein Foto aufnehmen und speichern
rpicam-jpeg -o image.jpg

# ohne Vorschau, Aufnahme nach einer Sekunde (1000 ms)
rpicam-jpeg -n -t 1000 -o image.jpg

# wie oben, aber Debugging-Ausgaben nicht anzeigen
rpicam-jpeg -n -t 1000 -v 0 -o image.jpg 

# Bildgröße 1280x800
rpicam-jpeg --width 1280 --height 800 -o image.jpg

# heller/dunkler (EV Exposure Compensation)
rpicam-jpeg --ev 0.5  -o brighter.jpg
rpicam-jpeg --ev -0.5 -o darker.jpg

# erstellt ein 10 Sekunden langes Video (10.000 ms) 
# 640x480@30Hz, H264-Codec
rpicam-vid -t 10000 -o test.mp4

# wie vorher, aber höhere Auflösung
rpicam-vid --width 1024 --height 768 -t 10000 -o test.mp4

Falls Sie mehr als eine Kamera angeschlossen haben, können Sie diese mit rpicam-hello --list-cameras auflisten. Die bei einer Aufnahme gewünschte Kamera können Sie mit der Option rpicam-xxx --camera <n> festlegen.

picamera2-Modul für Python-Scripts

picamera2 ist ein relativ neues Python-Modul. Es ersetzt das früher gebräuchliche Modul picamera. Der Hauptvorteil von picamera2 besteht darin, dass das Modul zu aktuellen Raspberry-Pi-Modellen kompatibel ist. Beim Raspberry Pi 5 kommt picamera2 auch mit dem Fall zurecht, dass Sie zwei Kameras gleichzeitig an Ihren Minicomputer angeschlossen haben.

Eine umfassende Referenz aller Klassen und Methoden finden Sie in der exzellenten Dokumentation (nur im PDF-Format verfügbar), die allerdings weit mehr technische Details behandelt, als Sie jemals brauchen werden. Eine Menge Beispiel-Scripts finden Sie auf GitHub.

Mit create_still_configuration können Sie in diversen optionalen Parametern Einstellungen vornehmen. Das resultierende Konfigurationsobjekt übergeben Sie dann an die configure-Methode. Wichtig ist, dass Sie das Foto nicht mit start_and_capture_file aufnehmen, sondern dass Sie die Methoden start und capture_file getrennt ausführen. Die folgenden Zeilen zeigen, wie Sie ein Bild in einer Auflösung von 1024×768 Pixel aufnehmen. Die sleep-Aufforderung verbessert die Qualität des Bilds. Sie gibt der Kamera-Software etwas Zeit, um die Aufnahme zu fokussieren und richtig zu belichten.

#!/usr/bin/env python3
from picamera2 import Picamera2, Preview
import time

# ein Foto in reduzierter Auflösung aufnehmen
cam = Picamera2()
myconfig = cam.create_still_configuration(
  main={"size": (1024, 768)} )
cam.configure(myconfig)
cam.start()
time.sleep(0.5)
cam.capture_file("1024x768.jpg")

Mit Transformationen können Sie das aufgenommene Bild vertikal und horizontal spiegeln. Falls Sie die Kamerakonfiguration während der Ausführung eines Scripts ändern möchten, müssen Sie die Kamera vorher stoppen und danach neu starten.

# (Fortsetzung des obigen Listings)
cam.stop()
from libcamera import Transform
mytrans = Transform(hflip=True)
myconfig = cam.create_still_configuration(
  main={"size": (1024, 768)},
  transform=mytrans)  
cam.configure(myconfig)
cam.start()
time.sleep(0.5)
cam.capture_file("1024x768-hflip.jpg")

Massive Video-Probleme

Bei der Aufnahme von Videos haben Sie die Wahl zwischen drei Encodern, die die aufgenommenen Bilder in Video-Dateien umzuwandeln:

  • H264Encoder (Hardware-Encoder für H.264, kommt per Default zum Einsatz, max. 1080p@30 Hz)
  • MJPEGEncoder (Hardware-Encoder für Motion JPEG = MJPEG)
  • JpegEncoder (Software-Encoder für MJPEG)

Hardware-Encoding steht nur auf dem Raspberry Pi 4 (H.264 und MJPEG) und dem Raspberry Pi 5 (nur H.264) zur Verfügung. Beim Raspberry Pi 5 läuft der MJPEGEncoder also per Software.

Das folgenden Script soll ein Video im Format 720p aufnehmen und gleichzeitig ein Vorschaubild anzeigen. Dabei soll der H.264-Codec eingesetzt werden.

#!/usr/bin/env python3
from picamera2 import Picamera2, Preview
from picamera2.encoders import H264Encoder, Quality
import time
cam = Picamera2()
myconfig = cam.create_video_configuration(
    main={"size": (1280, 720)})        # Auflösung 720p
myencoder = H264Encoder()
cam.configure(myconfig)
cam.start_preview(Preview.QTGL)
time.sleep(0.5)
cam.start_recording(myencoder, 
                    "test-720p.mp4", 
                    quality=Quality.MEDIUM)
time.sleep(10)
cam.stop_recording()
cam.stop_preview()

Das Script zeigt zwar keine Fehlermeldungen an, allerdings lässt sich die Video-Datei nicht abspielen, weder mit VLC am Raspberry Pi noch mit anderen Video-Playern auf anderen Rechnern. Ich habe tagelang mit den Video-Funktionen von Picamera2 experimentiert, aber die resultierenden Videos waren meist schwarz oder enthielten nur ein Bild, das am Beginn der Aufnahme entstanden ist. Auch die auf der folgenden Seite gesammelten Beispiel-Scripts zum Video-Recording funktionierten bei meinen Tests entweder gar nicht oder nur mit Einschränkungen:

https://github.com/raspberrypi/picamera2/tree/main/examples

Fazit: Die Video-Funktionen von Picamera2 sind aktuell (Anfang 2024) ebenso ambitioniert wie unausgereift. Es ist zu hoffen, dass neue Versionen von libcamera und Picamera2 und eine bessere Dokumentation der Grundfunktionen in Zukunft Abhilfe schaffen. Was nützen coole Spezial-Features, wenn es schon bei den einfachsten Grundfunktionen Probleme gibt?

Quellen/Links

SUSE baut SUSE Linux Enterprise (SLE) um und die Folgen sind für openSUSE immens. Zwischenzeitlich stand ein Aus der stabilen LTS-Variante im Raum. Nun kündigt das Projekt aber wenigstens einen groben Fahrplan an.

Die Ankündigung enthält im Prinzip nur ein Bekenntnis zu openSUSE Leap und dass es eine Version 16 geben soll. Im Grunde ist dies eine Aktualisierung älterer Aussagen, dass openSUSE Leap 15 so lange unterstützt wird, bis die Version 16 marktreif ist. Im Sommer wird zunächst noch die Version 15.6 veröffentlicht, die so lange mit Sicherheitsupdates versorgt wird, bis die Version 16 erscheint. Im Notfall wird es noch eine Version 15.7 geben. OpenSUSE kann dies leisten, da SUSE im Hintergrund natürlich noch viele Jahre die Enterprise-Distribution SLE 15 pflegen und entsprechende Service Packs veröffentlichen wird.

OpenSUSE Leap 16 soll wie erwartet auf SUSEs Adaptable Linux Platform (ALP) basieren. Deren Umrisse zeichnen sich seit April 2022 ab. Im Kern handelt es sich um eine unveränderliche Distribution, die als Basis für verschiedene Einsatzszenarien dienen soll. Damit geht SUSE einen ähnlichen Weg wie Red Hat oder Canonical, allerdings mit unterschiedlichen Technologien. Während Red Hat schon recht weit und Fedora Silverblue in einem ziemlich brauchbaren Zustand ist, hinken SUSE und Canonical etwas hinterher.

Zunächst ist es aber schön, dass openSUSE mit Leap weiter plant und 2024 dürfte hier ein sehr spannendes Jahr werden.

Der Artikel openSUSE Leap 16 soll kommen erschien zuerst auf Curius

17. Januar 2024

Firefox 122 unterstützt die Authentifizierung auf Websites mittels sogenannter Passkeys und damit ohne Passwort.

Sogenannte Passkeys versprechen eine komfortable und zugleich sichere Anmeldung auf Websites und das ganz ohne Passwort. So kann die Authentifizierung zum Beispiel über den Fingerabdrucksensor, das Smartphone oder einen externen Sicherheitsschlüssel erfolgen. Einen guten und detaillierteren Überblick über das Konzept der Passkeys kann man sich hier verschaffen.

Mit Firefox 122 ergänzt auch Mozilla die Unterstützung von Passkeys in seinem Browser, welche von immer mehr Websites unterstützt werden. Firefox 122 erscheint am kommenden Dienstag, den 23. Januar 2024.

Passkey-Unterstützung in Firefox

Der Beitrag Firefox 122 unterstützt Authentifizierung über Passkeys erschien zuerst auf soeren-hentzschel.at.

16. Januar 2024

Firefox Monitor ist ein kostenloser Dienst von Mozilla, welcher Nutzer überprüfen lässt, ob deren Benutzerkonten im Web in der Vergangenheit Teil eines bekannten Datendiebstahls waren. Am 6. Februar geht die neue Website inklusive auf Mozilla Monitor geändertem Namen sowie die Mozilla Monitor Plus genannte Premium-Version in den USA online.

Bereits im April 2023 hatte ich exklusiv darüber berichtet, dass Mozilla an einer Premium-Version von Firefox Monitor arbeitet. Einen Monat später folgten Informationen über das Haupt-Feature der geplanten Premium-Version, einen weiteren Monat später gab ich einen ersten Ausblick auf die neue Website. Schließlich berichtete ich im Oktober über die bevorstehende Umbenennung von Firefox Monitor zu Mozilla Monitor. Die Domain wurde bereits vor wenigen Wochen umgestellt.

Das ist Mozilla Monitor

Mozillas kostenfreier Dienst Mozilla Monitor zeigt nach Eingabe einer E-Mail-Adresse an, ob diese Teil eines bekannten Datendiebstahls in der Vergangenheit war. Neben dem Zeitpunkt des Diebstahls und dem Zeitpunkt des Bekanntwerdens wird auch angegeben, welche Daten gestohlen worden sind, zum Beispiel E-Mail-Adressen, Benutzernamen oder Passwörter. Darüber hinaus nennt Mozilla Monitor allgemeine Tipps, welche man in Betracht ziehen sollte, wenn man von einem Datendiebstahl betroffen ist.

Neuer Name und Website ab dem 6. Februar 2024

Nach aktueller Planung wird Mozilla am 6. Februar 2024 auch das Branding offiziell auf Mozilla Monitor umstellen und mit der neuen Website online gehen. Die bisher verfügbare Funktionalität wird auch weiterhin kostenlos zur Verfügung stehen. Außerdem kann das neue Premium-Feature getestet werden, welches im folgenden Abschnitt beschrieben wird.

Mozilla Monitor Plus in den USA

In den USA wird Mozilla Monitor Plus an den Start gehen. Damit wird ein Dienst integriert, welcher persönliche Informationen von über 190 Personen-Suchmaschinen entfernt – einer laut Mozilla 240 Milliarden Dollar schweren Industrie, welche mit der Bildung von Profilen und dem Verkauf dieser Daten Profit generiert.

Auch Nutzer der kostenlosen Version von Mozilla Monitor können ihre Daten einmalig überprüfen lassen. Für Nutzer von Mozilla Monitor Plus erfolgt eine monatliche Überprüfung – immerhin könnten diese Seiten ja jederzeit wieder neue Informationen hinzufügen. Außerdem kann Mozilla Monitor Plus automatisch die Entfernung von diesen Seiten in die Wege leiten, während Nutzer der kostenlosen Version beim einmaligen Check zwar gesagt bekommen, wo ihre Daten zu finden sind, die Entfernung aber manuell bei den jeweiligen Websites beantragen müssen.

Da Mozilla hierfür auf die Dienste von OneRep setzt, welche ausschließlich in den USA aktiv sind, ist mit keiner zeitnahen Ausrollung in weiteren Ländern zu rechnen – sofern OneRep selbst keine Expansions-Pläne verfolgt. Sollte der Dienst in den USA gut angenommen werden, ist natürlich nicht auszuschließen, dass sich Mozilla mittelfristig nach vergleichbaren Lösungen auch für andere Länder umsehen wird.

Der Beitrag Mozilla Monitor: Neuer Name, Website und Premium-Launch am 6. Februar erschien zuerst auf soeren-hentzschel.at.

Ich habe die letzten Tage damit verbracht, eigene kleine Extensions für quarto zu schreiben und bei Github zu veröffentlichen. Vielleicht ist ja für den einen oder die andere eine passende Extension dabei…

Quarto Letter

Mit dieser Extension könnt ihr Briefe mittels Quarto erstellen. Vorlage dieser Extension war mein Blogeintrag vom 12.09.2022.

Um die Vorlage zu verwenden tippt ihr ins Terminal:

quarto use template produnis/quarto-letter

Quarto Invoice

Diese Extension beruht auf der quarto-letter-Vorlage (s.o.) und erzeugt Rechnungen.

Um die Vorlage zu verwenden tippt ihr ins Terminal:

quarto use template produnis/quarto-invoice

Publikationsliste

Diese Extension erzeugt eine Publikationsliste anhand einer BibTeX-Datei. Vorlage für diese Extension war mein Blogeintrag vom 19.04.2021.

Um die Vorlage zu verwenden tippt ihr ins Terminal:

quarto use template produnis/publicationlist

Quarto CV

Diese Extension ist eine Erweiterung der Publikationsliste. Hierbei wird ein hübsches Lebenslaufdokument erstellt, wobei die Möglichkeit besteht, eine (oder mehrere) Publikationslisten hinzuzufügen.

Um die Vorlage zu verwenden tippt ihr ins Terminal:

quarto use template produnis/quarto-cv

Quarto Timer

Mit dieser Extension lassen sich Countdown-Timer in Folien (oder HTML-Dokumenten) einbauen. Sie beruht auf meinem Blogpost vom 04.01.2024.

Ihr könnt den Timer einbinden über:

quarto add produnis/quarto-timer

HSNR revealjs

Dies ist meine Vorlage für revealjs-Folien im Design meiner Hochschule (HSNR). In dieser Extension ist der “Timer” bereits enthalten.

Ihr könnt die Vorlage benutzen über:

quarto use template produnis/hsnr-revealjs

Quarto cert

Diese Extension erstellt Teilnehmerzertifikate.

Ihr könnt die Vorlage benutzen über:

quarto use template produnis/quarto-cert

Quarto Cheatsheet

Mit dieser Extension könnt ihr “Cheatsheets” (Spickzettel) erstellen, zum Beispiel zur Prüfungsvorbereitung oder, um Tastenkombinationen oder git-Befehle zusammenzustellen.

Ihr könnt die Vorlage benutzen über:

quarto use template produnis/quarto-cheatsheet

Weblinks


Diskussion per Matrix unter https://matrix.to/#/#produnis-blog:tchncs.de

 

Ich habe die letzten Tage damit verbracht, eigene kleine Extensions für quarto zu schreiben und bei Github zu veröffentlichen. Vielleicht ist ja für den einen oder die andere eine passende Extension dabei…

Quarto Letter

Mit dieser Extension könnt ihr Briefe mittels Quarto erstellen. Vorlage dieser Extension war mein Blogeintrag vom 12.09.2022.

Um die Vorlage zu verwenden tippt ihr ins Terminal:

quarto use template produnis/quarto-letter

Quarto Invoice

Diese Extension beruht auf der quarto-letter-Vorlage (s.o.) und erzeugt Rechnungen.

Um die Vorlage zu verwenden tippt ihr ins Terminal:

quarto use template produnis/quarto-invoice

Publikationsliste

Diese Extension erzeugt eine Publikationsliste anhand einer BibTeX-Datei. Vorlage für diese Extension war mein Blogeintrag vom 19.04.2021.

Um die Vorlage zu verwenden tippt ihr ins Terminal:

quarto use template produnis/publicationlist

Quarto CV

Diese Extension ist eine Erweiterung der Publikationsliste. Hierbei wird ein hübsches Lebenslaufdokument erstellt, wobei die Möglichkeit besteht, eine (oder mehrere) Publikationslisten hinzuzufügen.

Um die Vorlage zu verwenden tippt ihr ins Terminal:

quarto use template produnis/quarto-cv

Quarto Timer

Mit dieser Extension lassen sich Countdown-Timer in Folien (oder HTML-Dokumenten) einbauen. Sie beruht auf meinem Blogpost vom 04.01.2024.

Ihr könnt den Timer einbinden über:

quarto add produnis/quarto-timer

HSNR revealjs

Dies ist meine Vorlage für revealjs-Folien im Design meiner Hochschule (HSNR). In dieser Extension ist der “Timer” bereits enthalten.

Ihr könnt die Vorlage benutzen über:

quarto use template produnis/hsnr-revealjs

Quarto cert

Diese Extension erstellt Teilnehmerzertifikate.

Ihr könnt die Vorlage benutzen über:

quarto use template produnis/quarto-cert

Quarto Cheatsheet

Mit dieser Extension könnt ihr “Cheatsheets” (Spickzettel) erstellen, zum Beispiel zur Prüfungsvorbereitung oder, um Tastenkombinationen oder git-Befehle zusammenzustellen.

Ihr könnt die Vorlage benutzen über:

quarto use template produnis/quarto-cheatsheet

Weblinks

15. Januar 2024

GNU/Linux.ch 15. Januar 2024 09:00

Parch Linux

Parch Linux ist eine Open-Source, Arch-basierte Linux-Distribution, die versucht, hübsch, einfach zu bedienen, leicht, schnell und stabil zu sein. Ich habe die aus dem Iran stammende Distro kurz ausprobiert.

Die Distribution beschreibt sich selbst wie folgt:

Parch Linux ist eine auf Arch basierende Open-Source-Linux-Distribution mit dem Ziel, ein benutzerfreundliches und ästhetisch ansprechendes Computererlebnis zu bieten und gleichzeitig ein leichtgewichtiges, schnelles und stabiles Betriebssystem zu erhalten. Verwurzelt in der robusten Grundlage von Arch Linux, erbt Parch Linux dessen bekannte Stabilität und Leistung, um eine reibungslose und zuverlässige Benutzererfahrung zu gewährleisten.

Parch Linux zeichnet sich vor allem durch seinen benutzerzentrierten Ansatz aus, der sich sowohl an Anfänger als auch an erfahrene Linux-Benutzer wendet. Das intuitive grafische Installationsprogramm vereinfacht den Installationsprozess und macht ihn auch für Linux-Neulinge zugänglich. Darüber hinaus bietet Parch Linux eine sorgfältig zusammengestellte Auswahl an vorinstallierten Anwendungen, darunter wichtige Tools für Produktivität, Web-Browsing, Multimedia-Genuss und vieles mehr, sodass eine umfangreiche Konfiguration nach der Installation nicht erforderlich ist.

Um seine Attraktivität weiter zu steigern, bietet Parch Linux eine Auswahl an Desktop-Umgebungen, darunter GNOME, KDE Plasma, XFCE und Cinnamon, die es dem Benutzer ermöglichen, sein Computererlebnis nach seinen Vorlieben zu gestalten. Jede Desktop-Umgebung bietet einen einzigartigen visuellen Stil und eine Reihe von Funktionen, sodass die Benutzer diejenige auswählen können, die am besten zu ihren Bedürfnissen und Arbeitsabläufen passt.

Unter seinem benutzerfreundlichen Äusseren nutzt Parch Linux die Leistungsfähigkeit des Pacman-Paketmanagers von Arch Linux, der für seinen Umfang und seine Benutzerfreundlichkeit bekannt ist. Mit einem riesigen Repository an Softwarepaketen, die sofort verfügbar sind, können Benutzer die Fähigkeiten von Parch Linux mühelos erweitern, um ihren spezifischen Anforderungen gerecht zu werden.

Parch Linux schafft ein harmonisches Gleichgewicht zwischen Benutzerfreundlichkeit, Ästhetik und Leistung und ist damit die ideale Wahl für alle, die ein nahtloses und angenehmes Linux-Erlebnis suchen, ohne dabei Kompromisse bei Stabilität oder Flexibilität einzugehen. Das persische Erbe, das sich in seinem Namen widerspiegelt, verleiht der Identität der Distribution einen Hauch von kulturellem Reichtum.

Hinter Parch Linux steht ein 16-köpfiges Team um den 18-jährigen Gründer Sohrab Behdani aus dem Iran. Ohne es geprüft zu haben, gehe ich davon aus, dass das Team überwiegend oder vollständig ebenfalls aus dem Iran stammt. Diese Herkunft möchte ich nicht werten, sondern zu eurer Information erwähnen.

Parch gibt es in den Geschmacksrichtungen GNOME, KDE-Plasma, Xfce und Cinnamon. Diese Auswahl gefällt mir; nicht zu viele Desktop-Umgebungen, aber sehr populäre. Für einen Schnelltest habe ich das Xfce-ISO-Image von der Projektseite heruntergeladen und in der virtuellen Maschine GNOME-Boxes ausprobiert. Nach dem Booten präsentiert sich Parch so:

Nach einem Klick auf Install Parch legt das Installationsprogramm Calamares los. Als Dateisystem wird ext4 ohne Swap ausgewählt. Alternativ gibt es btrfs, f2fs, jfs, reiser und xfs zur Auswahl. Calamares wurde ein wenig umgestaltet und richtet sich auch an Einsteiger:innen. Der Installationsprozess ist der kürzeste und einfachste, den ich je bei einer Arch-basierten Distribution gesehen habe. Nach Abschluss der Installation und einem Reboot präsentiert sich Parch mit der Xfce-Oberfläche so:

Was auffällt ist:

  • Als Standard wurde das dunkle Theme Nordic-bluish mit einer blauen Accent-Farbe gewählt.
  • Die Anzahl vorinstallierter Anwendungen hält sich Grenzen; so ist keine Office-Suite vorinstalliert.
  • Das Xfce-Panel wurde an den linken Rand gesetzt (was Platz spart) und schön konfiguriert ist.
  • Die vorinstallierten Anwendungen sind spartanisch, wenn nicht gar etwas erratisch:
    • Webbrowser: Firefox
    • Office: nichts, nicht einmal ein E-Mail-Programm oder ein Taschenrechner
    • Xfce-Standard-App: Thunar (Dateien), Ristretto (Bilder), Parole (Filme), Mousepad (Editor), usw.
  • Anwendungsmenü: Whisker
  • Passwort-Manager: KeePassXC
  • und weitere Werkzeuge

Für meinen Geschmack hat das Parch-Team sehr viel richtig gemacht. Selbst Xfce sieht schön aus und wurde sinnvoll konfiguriert. Die Software-Auswahl orientiert sich überwiegend an den Standard-Anwendungen des Xfce-Desktops, was gut und richtig ist. Dass kein E-Mail-Programm und keine Office-Suite installiert ist, kann ich auch nachvollziehen. Aber warum gibt es keinen Taschenrechner? Die grösste Chance hat das Parch-Team jedoch beim Paketmanagement vergeben. Wer den Anspruch hat, eine Arch-basierte Distro zu bauen, die Anfängern gerecht wird, sollte eine umfassende Softwareverwaltung mitinstallieren. Weder Einsteiger:innen noch Fortgeschrittene wollen pacman verwenden. Dabei steht mit pamac eine überzeugende Lösung bereit, insbesondere wenn es um die Integration anderer Paketformate geht (Flatpak, Snap).

Was mir fehlt:

  • Plymouth für ein ansprechendes Starterlebnis
  • Pamac für eine zeitgemässe Softwareverwaltung (gerne mit Flatpak-Unterstützung)
  • Vorinstallierte Anwendungen, die sich mehr an den Grundbedürfnissen der Nutzer:innen orientieren.

Fazit

Parch Linux ist eine weitere Arch-basierte Distribution, die diese Ziele für ihre Nutzergruppe verfolgt: hübsch, einfach, leicht, schnell und stabil. Nach meiner Meinung hat das Parch-Team diese Ziele erreicht. Es fehlt jedoch ein Ziel, nämlich "zielgruppengerecht". Damit meine ich die Auswahl der vorinstallierten Anwendungen (das geht noch besser) und das Fehlen einer "zielgruppengerechten" Paketverwaltung, und das ist nicht pacman. Persönlich sehe ich in Parch Linux viel Potenzial; das Team aus dem Iran hat sich Mühe gegeben, eine Einsteiger-freundliche Distro zu bauen. Falls mich heute ein Einsteiger oder eine Einsteigerin nach einer Empfehlung für eine rollende Distribution fragen würde, wäre Parch Linux unter den Favoriten.

Quelle: https://parchlinux.com/


GNU/Linux.ch ist ein Community-Projekt. Bei uns kannst du nicht nur mitlesen, sondern auch selbst aktiv werden. Wir freuen uns, wenn du mit uns über die Artikel in unseren Chat-Gruppen oder im Fediverse diskutierst. Auch du selbst kannst Autor werden. Reiche uns deinen Artikelvorschlag über das Formular auf unserer Webseite ein.