ubuntuusers.de

10. Februar 2024

Wenn ich meinen eigenen Aussagen vertrauen kann, habe ich zum Hervorheben von Code seit 2018 Prism.js verwendet. Seit einiger Zeit habe ich allerdings öfters darüber nachgedacht, ob ich Prism.js weiterhin nutzen will. Und die Antwort lautet nein.

Ja, Prism.js funktioniert technisch gesehen. Zwar nicht perfekt, aber es gab bisher keine größeren Probleme damit. Prism.js verwendet allerdings JavaScript. Wer also diese Internetseite ohne aktiviertes JavaScript aufruft, bekommt nur den nackten Code angezeigt. Das ist zwar nicht schön aber auch nicht tragisch.

Schlimmer ist, dass das Projekt Prism.js scheinbar tot ist. Die Entwicklung von Version 1.x wurde zugunsten der Entwicklung von Version 2 mehr oder weniger auf Eis gelegt, sodass Version 1.29 die letzte veröffentlichte Version darstellt. Diese wurde im Augst 2022 veröffentlicht. Die letzten Änderungen an Version 2 wurden vor 9 Monaten durchgeführt. Seit dem gab es unter https://github.com/PrismJS/prism/discussions/3531 mehrere Nachfragen in den letzten Wochen und Monaten wie es um Prism.js steht. Eine Reaktion seitens der Entwickler gab es bisher keine, obwohl diese zwischenzeitlich durchaus auf Github aktiv waren. Daher meine Vermutung, dass das Projekt nicht weiterentwickelt wird. Über die Hintergründe kann ich nur spekulieren, also lasse ich es.

Ja, aber Prism.js funktioniert doch? Richtig. Aber es gäbe Verbesserungsbedarf. Und es wurden in den letzten Jahren schon ein paar Sicherheitslücken entdeckt und behoben. Und genau diese Sicherheitslücken machen mir immer mehr Sorgen. Was, wenn nächste Woche eine weitere entdeckt wird? Wird darauf reagiert und eine neue Version veröffentlicht? Oder zumindest ein Patch? Oder wird darauf nicht reagiert?

Da mir die Situation zu ungewiss ist, habe ich mir einige Code Highlighter wie Highlight.js angesehen. Schlussendlich habe ich mich allerdings für Chroma entschieden. Und das hauptsächlich aus zwei Gründen.

  • Ich nutze Hugo zum Erzeugen dieser Internetseite. Und Chroma ist Bestandteil von Hugo.

  • Und Chroma kommt ohne JavaScript aus. Denn das Hervorheben des Codes wird direkt beim Erzeugen der Internetseite durchgeführt. Ganz so, wie wenn ich das Hervorheben des Codes manuell mit ein paar Tags und CSS gemacht hätte.

Der erste Grund spart mir somit die manuelle Aktualisierung. Der zweite Grund sorgt dafür, dass der Code auch dann hervorgehoben wird, wenn man JavaScript nicht aktiviert hat. Und die beim Aufruf von fryboyter.de übertragene Datenmenge wird auch weniger. Nicht, dass dies ins Gewicht fallen würde, aber ca. 50 Kilobyte sind für diese Seite prozentual gesehen durchaus nicht wenig.

Es gibt aber auch Nachteile.

Ein Umbruch langer Zeilen ist mit Chroma für mich nicht zufriedenstellend möglich. Ich frage mich allerdings, ob es vielleicht nicht sowieso besser ist, darauf zu verzichten. Auch, wenn man somit in einigen Fällen horizontal scrollen muss. Ein Zeilenumbruch im Code verbessert auch nicht unbedingt dessen Lesbarkeit.

Ein weiterer Nachteil ist, dass Chroma manchen Code nicht so gut hervorhebt wie es Prism.js gemacht hat. Dafür unterstützt Chroma zum Beispiel Go Templates, welche oft in meinen Code-Beispielen zum Einsatz kommen. Na ja, nichts ist perfekt.

Alles in allem hat sich meiner Meinung nach die Umstellung und der damit verbundene Aufwand aber gelohnt.

Das Trusted Platform Module 2 (TPM 2) wurde bereits 2014 als Standard veröffentlicht. Dennoch fristete es lange Zeit ein Schattendasein. Microsoft hob es mit den Versionen Windows 10 und Windows 11 aus dem Schatten und seit einigen Jahren befassen sich auch unter Linux mehr Entwickler damit.

Unter Linux ist aktuell TPM 2 bereits jetzt ein wichtiger Baustein für einen verifizierten Systemstart und die Möglichkeit, ein verschlüsseltes System ohne initiale Passworteingabe zu starten. Für einen Überblick über den aktuellen Stand empfehle ich folgende zwei Artikel hier im Blog:

Parallel zu den Entwicklungen bei systemd haben openSUSE und Canonical eigene Anstrengungen gestartet, um TPM stärker in die eigenen Systeme einzubinden. Ich vermute trotzdem, dass systemd als gemeinsamer Nenner vieler Distributionen, ein wichtiger Bestandteil bleiben wird.

Auf der FOSDEM 24 wurde TPM in einem anderen spanneden Kontext präsentiert, und zwar als sicheren Schlüsselspeicher. Für den Hintergrund muss man sich ein wenig mit einem gar nicht mehr so aktuellen Problem befassen. Moderne mobile Hardware wie iPhones, iPads oder Android-Smartphones haben etwas, das bei Apple als Secure Enclave bezeichnet wird oder bei Google als Titan M. Microsoft hat dafür auf einen Standard gesetzt: TPM. Das ist sehr gut, weil dadurch für Desktop-Hardware etwas ähnliches Verbreitung gefunden hat, das auch Linux das nachnutzen kann.

Das Problem ist nämlich, dass manche Daten wie biometrische Daten, aber auch wichtige Schlüssel besser nicht ohne zusätzliche Schutz im System aufbewahrt werden. Sie können dort einfach nicht so sicher geschützt werden, wie das notwendig ist. Datei- und Benutzerrechte hin oder her. Aus diesem Grund rate ich auch dringend davon ab, biometrische Verfahren mit Linux zu nutzen.

In dem FOSDEM Talk werden nun weitere Szenarien präsentiert (siehe auch den Bericht bei Heise). Ihnen gemein ist, dass sie erst möglich sind, seitdem grundlegende Arbeiten unter Linux TPM 2 auch praktisch nutzbar gemacht haben. Zu den neuen Ansätzen gehört die Möglichkeit das TPM 2-Subsystem zum versiegeln (engl. “sealed” – schwierige Übersetzung) und laden von privaten GnuPG-Schlüsseln zu nutzen. Das Verfahren ist in dem vor über einem Jahr veröffentlichten GnuPG 2.4 bereits enthalten, aber wurde bisher wenig beachtet. Möglicherweise auch, weil viele Distributionen ältere Versionen von GnuPG nutzen. Ebenso denkbar ist dies aber auch für OpenSSH, wenngleich hier noch mehr Arbeit investiert werden muss.

Vermutlich ist auch das nur der Anfang und Schlüsselspeicher werden folgen. Ich hatte lange die Sorge, dass der lautstarke FUD aus der angst- und hasserfüllten kleinen Minderheit von Linux-Anwendern, die sich unter entsprechenden Artikeln immer zu Wort meldet, bei Linux hinderlich für die Entwicklung sein könnte, aber glücklicherweise scheinen die Entwickler diese inzwischen zu ignorieren.

Der Artikel TPM 2 als sicherer Datenspeicher für Linux erschien zuerst auf Curius

9. Februar 2024

Vor einiger Zeit habe ich vom X11.org Displayserver auf Wayland umgestellt. In diesem Zusammenhang fingen an meine GTK/Gnome Applikationen überwiegend schlecht auszusehen. Die Schriftarten (Fonts) sahen einfach furchtbar pixelig aus.

Eine Abhilfe schuf dann die Installation des Pakets xdg-desktop-portal-gnome.

sudo apt install xdg-desktop-portal-gnome
sudo apt install adwaita-qt

Zusätzlich musste ich noch folgende Dateien anpassen

sudo vim /usr/share/xdg-desktop-portal/kde-portals.conf
[preferred]
default=kde
org.freedesktop.impl.portal.Settings=kde;gtk;
~                                               

Und dann noch in vim .fonts.conf

<fontconfig>
 <dir>~/.fonts</dir>
<match target="font">
  <edit name="hinting" mode="assign">
    <bool>true</bool>
  </edit>
</match>
</fontconfig>

Dann einmal neu booten und die GTK/Gnome Applikationen sehen wieder gut aus.

The post GTK Apps in KDE gut aussehen lassen first appeared on Dem hoergen Blog.

In diesem Blogpost möchte ich zeigen, wie ich ArchLinux auf einem Laptop installiere. Hierbei erfolgt die Installation auf eine verschlüsselte Partition, was bei tragbaren Geräten empfehlenswert ist. So fallen keine Daten in falsche Hände, falls das Gerät geklaut oder vergessen wird.

Image auf Stick flashen

  • Lade dir ein aktuelles Arch-Image herunter, siehe https://archlinux.org/download/
  • Stecke einen USB-Stick in dein Gerät und checke dessen /dev/-Adresse mittels
$ lsblk

Das kann dann z.B. so aussehen:

NAME            MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS  
sda             259:0    0 931,5G  0 disk
sdb               8:0    1   7,4G  0 disk 

In diesem Beispiel ist sda die Festplatte, und sdb der USB-Stick. Bei euch kann das durchaus anders aussehen.

  • Flashe das Arch-Image auf den Stick, z.B. mittels
$ dd if=archlinux*.iso of=/dev/sdb

wobei sdb bei euch evtl. entsprechend angepasst werden muss.

booten vom Stick

Stecke den Stick in den Laptop, und wähle beim Starten den Stick als Bootquelle aus. Bei mir funktioniert das, indem ich F12 beim Starten gedrückt halte.

Es sollte sich recht bald das Arch-Bootmenu melden

Wähle den ersten Eintrag aus und warte, bis dich die Kommandozeile begrüßt.

Netzwerkverbindung herstellen

Ist Arch gestartet, stellen wir als erstes eine Netzwerkverbindung her. Das Netzwerk brauchen wir, um frische Installationspakete zu holen, aber auch, um uns gleich per SSH auf die neue Kiste einzuloggen.

LAN

Wenn ein LAN-Kabel bereit liegt, kann dieses einfach eingesteckt werden, und die Verbindung sollte direkt funktionieren.

WLAN

Möchtet ihr euch mit einem WLAN verbinden, geht dies am Einfachsten mit dem Befehl

$ iwctl

Um den WLAN-Devicenamen herauszufinden hilft der Befehl

$ devices list

Meistens heisst das Device wlan0.

Stelle eine Verbindung zum WLAN her mittels

$ station wlan0 connect <SSID>

Gib das Passwort des WLANs ein. Wenn alles fertig ist, verlasse das Proggi mittels

$ exit

SSH

Ich verbinde mich an dieser Stelle gerne mittels SSH auf den Laptop. Stelle sicher, dass sshd läuft,

$ systemctl start sshd

Setze ein temporäres Admin-Passwort mittels

$ passwd

Finde die IP-Adresse des Laptops heraus, zB mittels

$ ip a

Logge dich von einem anderen PC auf die neue Kiste ein mittels

$ ssh root@IP-ADRESSE

Partitionierung der Festplatte

Nun partitionieren wir die Festplatte. Wir wollen 2 Partitionen erstellen,

  • eine EFI-Partition zum Booten,
  • und eine verschlüsselte root-Partition für das Archsystem.

Zunächst finden wir wieder die /dev/-Bezeichnungen der Laptopfestplatte heraus mittels

$ lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
sda             259:0    0 931,5G  0 disk 
sdb               8:0    1   7,4G  0 disk  
├─sdb1            8:1    1   917M  0 part  
└─sdb2            8:2    1    15M  0 part  

In diesem Beispiel ist sda die Festplatte des Laptops und sdb der Boot-Stick. Wir wollen also /dev/sda partitionieren.

Starte gdisk mittels

$ gdisk /dev/sda

Wir können mit p schauen, welche Partitionen schon auf der Platte sind. Meine Platte ist neu und leer, und daher gibt es nichts zu sehen. Möchtet ihr eine bereits gebrauchte Festplatte benutzen, könnt ihr die vorhandenen Partitionen mittels d löschen.

Wir erstellen eine neue Partition mittels n.

  • die erste Partition wird unsere Boot-Partition.
  • die voreingestellte Partitionsnummer 1 ist korrekt, so dass wir einfach ENTER drücken können.
  • ebenfalls korrekt ist der erste Sektor. Auch diesen können wir mittels ENTER bestätigen.
  • beim “letzten Sektor” geben wir +512M ein, damit die Partition 512 MB groß wird.
  • der Partitionscode im Hexformat lautet: ef00 (EFI-Partition)

Wir erstellen eine weitere Partition mittels n.

  • diese zweite Partition soll die verschlüsselte Systempartition werden.
  • die voreingestellte Partitionsnummer 2 ist korrekt, so dass wir einfach ENTER drücken können.
  • ebenfalls korrekt ist der erste Sektor. Auch diesen können wir mittels ENTER bestätigen
  • und auch der letzte Sektor ist korrekt, weil wir den gesamten Rest der Festplatte verwenden möchten. Wir können also einfach ENTER drücken können.
  • der Partitionscode im Hexformat lautet: 8309 (LUKS-Partition)

Wir können mittels p überprüfen, ob alles richtig ist.

Zum Schluss schreiben wir die Partitionstabelle mittels w.

Verschlüsselung

Um sicher zu sein, dass alles klappen wird, laden wir die Encryption-Module

$ modprobe dm-crypt
$ modprobe dm-mod

Nun erstellen wir ein LUKS-LVM auf der root-Partition (/dev/sda2):

$ cryptsetup luksFormat -v -s 512 -h sha512 /dev/sda2

Hier geben wir unser gewünschtes Passwort ein und merken es uns!!!. Wenn ihr das Passwort vergesst, kommt ihr nicht mehr an eure Daten!!!

Jetzt können wir das Laufwerk mounten

$ cryptsetup open /dev/sda2 luks_lvm

(hier muss das Passwort eingegeben werden, welches wir soeben für die Partition erzeugt haben)

Volume Setup

Zunächst erstellen wir ein Volume und eine Volume-Gruppe

$ pvcreate /dev/mapper/luks_lvm
$ vgcreate arch /dev/mapper/luks_lvm

Wir benötigen auch ein SWAP-Volume. Als Faustregel gilt: RAM-Größe plus 2GB. Mein Laptop hat zB 8GB RAM, daher erstellen wir 10GB Swap mittels

$ lvcreate -n swap -L 10G arch

Den Rest der Platte verwenden wir für unser Arch-System

$ lvcreate -n root -l +100%FREE arch

Filesystems

Nun müssen die Partitionen formatiert werden.

Die EFI-Partition benötigt das Format FAT32:

$ mkfs.fat -F32 /dev/sda1 

Für die verschlüsselte root-Partition können wir z.B. btrfs oder ext4 verwenden. Ich persönlich begnüge mich mit ext4.

$ mkfs.btrfs -L root /dev/mapper/arch-root
# oder
$ mkfs.ext4 -L root /dev/mapper/arch-root

Nun formatieren wir noch unseren Swap:

$ mkswap /dev/mapper/arch-swap

Mounten

Zuerst mounten und aktivieren wir die SWAP-Partition

$ swapon /dev/mapper/arch-swap
$ swapon -a

Anschließend mounten wir die root-Partition nach /mnt:

$ mount /dev/mapper/arch-root /mnt

Unterhalb von /mnt erstellen wir das /boot-Verzeichnis:

mkdir -p /mnt/boot

Hierhin mounten wir die erzeugte boot Partiton (/dev/sda1)

$ mount /dev/sda1 /mnt/boot

Installiere ArchLinux

Nun ist es endlich an der Zeit gekommen, Archlinux zu installieren. Dieser Befehl bringt die essentiellen Pakete auf die neue Platte:

$ pacstrap -K /mnt base base-devel linux linux-firmware nano openssh

Wir erzeugen die fstab-Datei für unser neues System mittels:

$ genfstab -U -p /mnt > /mnt/etc/fstab

chroot in die Installation

Wir wechseln in unser neues System mittels:

$ arch-chroot /mnt /bin/bash

Hier können wir nun die grundlegenden Konfigurationen vornehmen.

Konfiguration

entschlüssele die Laufwerke

Damit Linux unsere Partition entschlüsseln kann, müssen wir die Datei mkinitcpio.conf anpassen.

Öffne mkinitcpio.conf

$ nano /etc/mkinitcpio.conf

und füge encrypt lvm2 zwischen die Hooks block und filesystem ein. Das sieht dann in etwa so aus:

HOOKS=(... block encrypt lvm2 filesystems fsck)

Wir müssen gleich noch weitere Änderungen an der Datei vornehmen, aber zunächst installieren wir den Volumemanager lvm2

$ pacman -S lvm2

Bootloader

Wir werden systemd-boot für unser System nutzen. Dafür benötigen wir noch ein paar Pakete:

$ pacman -S efibootmgr dosfstools gptfdisk

Zuerst installieren wir den EFI-Booteintrag per:

$ bootctl install

Jetzt müssen wir die UUID unserer verschlüsselten LUKS-Partition herausfinden. Da wir Partition /dev/sda2 verschlüsselt haben, erhalten wir dessen UUID per:

$ blkid /dev/sda2

Das sieht dann in etwa so aus:

/dev/sda2: UUID="272b13c4-ce78-47de-b04c-66210edb977d" TYPE="crypto_LUKS" PARTLABEL="Linux LUKS" PARTUUID="6b6b86e4-b8fe-4b7d-874d-96c67075b90c"

Die UUID lautet in unserem Beispiel also 272b13c4-ce78-47de-b04c-66210edb977d.

Mit diesem Wissen können wir die Datei /boot/loader/entries/arch-uefi.conf mit folgendem Inhalt erstellen:

$ nano /boot/loader/entries/arch-uefi.conf
title    Arch Linux
linux    /vmlinuz-linux
initrd   /initramfs-linux.img
options  root=/dev/mapper/arch-root cryptdevice=UUID=<uuid>:luks_lvm  locale=de_DE.UTF-8

In unserem Beispiel ändert sich die letzte Zeile in

options  root=/dev/mapper/arch-root cryptdevice=UUID=272b13c4-ce78-47de-b04c-66210edb977d:luks_lvm  locale=de_DE.UTF-8

Nun bearbeiten wir die Datei /boot/loader/loader.conf so, dass automatisch in unser Archsystem gebootet wird:

$ nano /boot/loader/loader.conf
default   arch-uefi
timeout   1

Keyfile

Optional können wir noch Keyfiles erstellen. Hierfür erzeugen wir ein eigenes Verzeichnis:

$ mkdir /secure

…und erstelle ein Keyfile für unserer root-Partition.

$ dd if=/dev/random of=/secure/root_keyfile.bin bs=512 count=8

Anschließend muss die Berechtigung geändert werden:

$ chmod 000 /secure/*

Jetzt können wir den Keyfile der Partition zuweisen:

$ cryptsetup luksAddKey /dev/sda2 /secure/root_keyfile.bin

(hier muss wieder das Passwort eingegeben werden, welches wir für die Partition erzeugt haben)

Den Schlüssel müssen wir noch für Linux bekanntmachen:

$ nano /etc/mkinitcpio.conf

Unter FILES fügen wir den Pfad auf den Keyfile hinzu:

FILES=(/secure/root_keyfile.bin)

…und erstellen Linux neu:

$ mkinitcpio -p linux

Systemkonfiguration

Zeit für ein paar weitere Systemkonfigurationen.

Timezone

Unsere Zeitzone ist Europe/Berlin.

$ ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime

NTP

Mittels NTP holen wir uns die aktuelle Zeit aus dem Netz

$ nano /etc/systemd/timesyncd.conf

Folgende NTP Server können wir verwenden.

[Time]
NTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org 
FallbackNTP=0.pool.ntp.org 1.pool.ntp.org

Jetzt kann NTP aktiviert werden

$ systemctl enable systemd-timesyncd.service

Locale

Wir stellen die Sprache auf “deutsch”. Hierfür öffnen wir /etc/locale.gen

$ nano /etc/locale.gen

und kommentieren die Zeile mit de_DE.utf8 aus.

#de_CH ISO-8859-1
de_DE.UTF-8 UTF-8
#de_DE ISO-8859-1
#de_DE@euro ISO-8859-15

Jetzt erzeugen wir alle lokalen Sprachdateien

$ locale-gen

…und schreiben es auch noch in /etc/locale.conf

$ nano /etc/locale.conf
LANG=de_DE.UTF-8

virtuelle und TTY Konsolen

Damit auch die virtuellen Tastaturen auf deutsch eingestellt sind, gebe ich noch ein:

$ echo KEYMAP=de-latin1-nodeadkeys > /etc/vconsole.conf
$ localectl --no-convert set-x11-keymap de pc105 deadgraveacute
$ localectl --no-convert set-keymap de-latin1-nodeadkeys

Wir können die Einstellungen noch überprüfen mit

$ localectl status

Die Ausgabe sollte so aussehen:

System Locale: LANG=de_DE.UTF-8
    VC Keymap: de-latin1-nodeadkeys
   X11 Layout: de
    X11 Model: pc105
  X11 Variant: deadgraveacute

Beim nächsten Neustart ist das Tastaturlayout auch für TTY auf deutsch.

Hostname

Mein Laptop soll “Norbert” heissen.

$ echo "Norbert" > /etc/hostname

Users

Bislang waren wir als root unterwegs. Erzeugen wir uns also einen neuen Benutzer “produnis” mit sudo-Rechten

$ useradd -m -G wheel -s /bin/bash produnis

und vergeben ein Passwort für diesen User mittels

$ passwd produnis

Damit “produnis” sudo-Rechte bekommt, führen wir folgenden Befehl aus

$ EDITOR=nano visudo

und kommentieren die folgende Zeile aus:

%wheel ALL=(ALL:ALL) ALL

Damit unsere sudo-Befehle nicht aus-timen, kann am Ende der Datei noch hinzugefügt werden:

Defaults passwd_timeout=0

Netzwerk

Damit wir beim Neustart Netzwerk haben, installieren und aktivieren wir den Networkmanager.

$ pacman -S networkmanager
$ systemctl enable NetworkManager

Damit auch ssh funktioniert, ergänzen wir

$ systemctl enable sshd

Microcode

Es wird empfohlen, die Micorcodes entsprechend eurer CPU zu installieren.

# Für AMD
$ pacman -S amd-ucode
# ODER
# Für Intel
$ pacman -S intel-ucode

Desktop

An dieser Stelle sind wir eigentlich schon fertig und können zum ersten Mal neustarten. Ich installiere aber noch einen Desktop und Login-Manager, damit ich direkt auf einer graphischen Oberfläche loslegen kann. Ich selbst verwende am liebsten KDE (also Plasma) mit Wayland (ihr könnt aber auch GNOME oder XFCE installieren). Für eine minimale Installation wähle ich

$ pacman -S plasma-desktop plasma-wayland-session  kde-applications  sddm sddm-kcm plasma-nm

Ich bestätige immmer die Vorauswahl, falls Pacman fragt.

Zum Schluss aktiviere ich noch den Loginmanager sddm

$ systemctl enable sddm

Fertig, Zeit für einen Reboot.

Reboot

Zunächst verlassen wir die chroot-Umgebung und unmounten die Partitionen.

$ exit
$ umount -R /mnt
$ reboot now

Bei mir meldet sich nach dem Start nun das UEFI-Bootmenu, welches nach 2 Sekunden Archlinux bootet. Hier werde ich nach dem Verschlüsslungspasswort gefragt. Anschließend meldet sich der sddm-Loginbildschirm, und ich kann meine Plasmasession starten.

Deutsches Tastaturlayout

Noch ist die KDE-Tastatur nicht auf deutsch eingestellt. Hierfür geht ihr in die Systemeinstellungen, und wählt unter “Tastaur” den Reiter “Belegungen”.

Setzt den Haken bei “Belegungen einrichten” und fügt “Deutsch” hinzu. Sobald ihr unten auf “Anwenden” klickt, ist die Tastatur auf deutsches Layout eingestellt.

…what if?

Falls doch etwas schief laufen sollte, und ihr z.B. nicht ins System booten könnt, stellt ihr wie folgt wieder die chroot-Umgebung her:

  • boote vom USB-Stick, so wie oben beschrieben
  • cryptsetup open /dev/sda2 luks_lvm
  • mount /dev/mapper/arch-root /mnt
  • mount /dev/sda1 /mnt/boot
  • arch-chroot /mnt /bin/bash

Jetzt liegt es aber an euch, den Fehler zu finden… ;)

Weblinks


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

 

8. Februar 2024

Mozilla hat heute einen Wechsel auf der CEO-Position der Mozilla Corporation bekannt gegeben. Demnach wird Laura Chambers für Mitchell Baker übernehmen.

Mozilla besetzt die höchste Position der Mozilla Corporation, welche unter anderem für die Entwicklung von Firefox verantwortlich ist, neu. Laura Chambers, die bereits seit drei Jahren Mitglied im Verwaltungsrat der Mozilla Corporation sitzt, ist ab sofort und zunächst bis zum Ende des Jahres neuer CEO der Mozilla Corporation. Chambers hatte bereits Führungspositionen bei eBay, PayPal, Skype und AirBnb, zuletzt war sie CEO von Willow Innovations.

Mitchell Baker, bereits seit 25 Jahren bei Mozilla und seit 2020 in der Rolle des CEO, wird wieder in die Rolle des Executive Chairwoman zurückkehren und ihren Fokus verstärkt auf die Repräsentation von Mozilla als Ganzes und in der Öffentlichkeit legen. Schwerpunkte dabei sind Politik, Open Source und Community. Die Öffentlichkeitsarbeit schließt Vorträge und direkten Kontakt mit der Community ein.

Als die zwei Hauptziele von Laura Chambers werden zum einen die Verfeinerung der Unternehmensvision und Ausrichtung der Unternehmens- und Produktstrategie auf diese Vision genannt. Zum anderen sollen die Bemühungen bei den Kernprodukten wie Firefox verstärkt und neue Produkte auf den Markt gebracht werden.

Der Beitrag Laura Chambers ersetzt Mitchell Baker als CEO der Mozilla Corporation erschien zuerst auf soeren-hentzschel.at.

New Tab Override ist eine Erweiterung zum Ersetzen der Seite, welche beim Öffnen eines neuen Tabs in Firefox erscheint. Die beliebte Erweiterung ist nun in Version 16.0 erschienen.

Was ist New Tab Override?

Die Erweiterung New Tab Override erlaubt das Überschreiben der Seite, welche beim Öffnen eines neuen Tabs in Firefox erscheint. Dies kann eine beliebige Website, immer automatisch die aktuelle Startseite, eine lokale Datei, eine Hintergrundfarbe oder die neuesten Nachrichten von diesem Blog sein.

New Tab Override war das erste Add-on, welches das Überschreiben des neuen Tabs ermöglichte, und ist damit das Original und auch heute noch die meistgenutzte Erweiterung dieser Art. New Tab Override wurde im Dezember 2016 auf dem offiziellen Mozilla-Blog vorgestellt, schon mehrfach im Add-on Manager von Firefox beworben und gehört außerdem zu Mozillas handverlesener Auswahl empfohlener Erweiterungen.

Download New Tab Override für Firefox

Die Neuerungen von New Tab Override 16.0

Eine wichtige Änderung betrifft New Tab Override unter der Haube: Die Erweiterung nutzt jetzt das Manifest v3. Während diese Anpassung für den Nutzer nichts ändert, gewährleistet dies die langfristige Kompatibilität von New Tab Override mit Firefox. Dafür ist New Tab Override nicht länger mit Firefox ab Version 78 kompatibel, sondern erfordert in Zukunft Firefox 115 oder höher.

Neben URLs, die mit https:// oder http:// beginnen, können ab sofort auch URLs als Seite für den neuen Tab eingetragen werden, die mit moz-extension:// beginnen, also Seiten anderer Erweiterungen sind.

Wird ein nicht unterstütztes Protokoll angegeben, zeigt New Tab Override nun eine Fehlermeldung anstatt einfach http:// voranzustellen. Wird kein Protokoll durch den Nutzer angegeben, ergänzt New Tab Override jetzt https:// anstelle von http://.

Bei Verwendung eines dunklen Themes flackert der Hintergrund nicht länger für einen ganz kurzen Moment in weißer Farbe, sondern verwendet einen dunklen Hintergrund.

Wird die Option verwendet, eine farbige Fläche als neuen Tab anzuzeigen, wird dabei eine leere Adressleiste angezeigt.

Für eine verbesserte Barrierefreiheit wurden die Farben der Einstellungsseite sowohl im hellen als auch dunklen Theme überarbeitet.

Mit Indonesisch steht eine komplett neue Sprache zur Verfügung. Damit ist New Tab Override jetzt in insgesamt 15 Sprachen übersetzt.

Dazu kam noch eine ganze Reihe kleinerer Verbesserungen unter der Haube, welche Altlasten entfernen und den Code modernisieren.

Der Beitrag New Tab Override 16.0 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

hinweis
Der Pull Request wurde vor ein paar Tagen angenommen und www.linuxatemyram.com somit aktualisiert.

Zumindest bis auf Weiteres. Wenn es um die Speicherverwaltung von Linux geht bzw. darum wie viel Speicher tatsächlich belegt bzw. frei ist, wird gerne auf www.linuxatemyram.com verwiesen. Immer mehr Nutzer raten von dieser Quelle allerdings ab, weil die dort genannten Informationen teilweise veraltet, ungenau bzw. falsch sind. Und das seit Jahren.

Ein Nutzer hat sich im April letzten Jahres die Mühe gemacht und einen Pull Request mit 12 Commits erstellt, um die Internetseite an die aktuellen Gegebenheiten anzupassen.

So wie es aussieht hat die betreffende Seite für den Betreiber, welcher übrigens auch für das von mir geschätzte Tool shellcheck verantwortlich ist, allerdings keine allzu hohe Priorität. Zumindest ist bisher weder eine Reaktion auf den Pull Request erfolgt noch wurde dieser angenommen oder abgelehnt. Vielleicht wäre es daher sinnvoller die Seite einfach zu deaktivieren. Zumal .com Domains ja auch nicht zu den billigsten Domains gehören.

7. Februar 2024

Mozilla hat seinem Dienst Firefox Monitor wie erwartet einen neuen Anstrich verpasst und diesen in Mozilla Monitor umbenannt. In den USA ist außerdem das kostenpflichtige Premium-Angebot Mozilla Monitor Plus gestartet.

Bereits im April 2023 hatte ich exklusiv darüber berichtet, dass Mozilla an einer Premium-Version von Firefox Monitor arbeitet, und seit dem mehrfach über neue Informationen berichtet, zuletzt im Januar über den bevorstehenden Relaunch am 6. Februar.

Relaunch von 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.

Der bisher als Firefox Monitor bekannte Dienst, der nach Angaben von Mozilla über zehn Millionen angemeldete Nutzer hat, ist ab sofort unter dem neuen Namen Mozilla Monitor und mit neuer Website online.

Mozilla Monitor Plus in den USA

Für Nutzer in den USA ist außerdem Mozilla Monitor Plus an den Start gegangen. Damit können persönliche Informationen von über 190 Personen-Suchmaschinen entfernt werden – einer laut Mozilla 240 Milliarden Dollar schweren Industrie, welche mit der Bildung von Profilen und dem Verkauf dieser Daten Profit generiert.

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.

Mozilla Monitor Plus kostet 13,99 USD pro Monat bei nur einem Monat Vertragsbindung. Wer sich direkt für ein ganzes Jahr bindet, spart 35 Prozent und zahlt nur 8,99 USD pro Monat.

Da Mozilla für das neue Feature 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 Relaunch von Mozilla Monitor, Premium-Angebot in den USA gestartet erschien zuerst auf soeren-hentzschel.at.

Die Distro wurde vor einem Jahr angekündigt, im August gab es die Entwicklervorschau und nun steht die Beta-Version zum Testen bereit.

Orchid ist eine komplette Neufassung des Projekts Vanilla OS mit dem Ziel, ein stabiles, sicheres, schnelles und benutzerfreundliches Betriebssystem ohne Kompromisse zu bieten. Das Projekt von Grund auf neu bewertet, wobei das umfangreiche Feedback, welches mit der ersten Version eingegangen ist, berücksichtigt.

Alles zu beschreiben, was sich in Vanilla OS 2 Orchid geändert hat, ist in einem Artikel kaum möglich, denn auch wenn es auf den ersten Blick ähnlich aussieht wie die erste Version, ist es unter der Haube eine völlig neue Welt mit neuen Technologien, Konzepten und Standards.

Daher beschränke ich mich auf eine Kurzfassung der Neuerungen. Viel mehr Details findet ihr in diesem Blog-Beitrag des Entwicklerteams zur Beta Version.

Es gibt ein neues Hintergrundbild in heller und dunkler Version, dass das Thema der Orchidee wiedergibt (siehe Titelbild). Die Version 2 verabschiedet sich von Ubuntu als Basis und setzt nun auf Debian auf. Dabei kommen Debian Pakete und Vib Container Images zum Einsatz. Bei den Updates wurde von einer paketbasierten Struktur auf eine OCI-Image basierte Struktur gewechselt.

Auch die A/B-Partitionierung wurde weiterentwickelt. Die Version 2 von ABRoot soll zuverlässiger und schneller arbeiten. Die Transaktionen erfolgen nun über die OCI-Image-Erweiterung, anstatt über die Anwendung von Paket-Updates, wodurch sichergestellt wird, dass das System eine exakte Kopie des getesteten Images erhält. In ABRoot v1 konnten Benutzer auf die transaktionale Shell zugreifen, um atomare Systemänderungen vorzunehmen. In ABRoot v2 wurde diese Funktion entfernt und durch die Unterstützung für die Erstellung benutzerdefinierter lokaler Images ersetzt. Wenn etwa ein Treiber installiert wird, der nicht im System vorhanden ist, kann ABRoot ein benutzerdefiniertes Abbild mit dem installierten Treiber erzeugen.

Um einen der Hauptkritikpunkte von Vanilla OS 22.10 zu beseitigen, nämlich den zugewiesenen Speicherplatz für die beiden Root-Partitionen, die insgesamt 20 GB für Root ausmachen und 40 GB Festplattenplatz beanspruchen, wurde Unterstützung für LVM Thin Provisioning eingeführt. Diese Technologie ermöglicht die Erstellung von logischen Volumes mit variabler Grösse und optimiert so die Nutzung des Festplattenplatzes. Jetzt teilen sich die beiden Root-Partitionen insgesamt 20 GB, die dynamisch auf der Grundlage der Grösse der beiden Partitionen zugewiesen werden, wodurch mehr Speicherplatz für Benutzerdaten zur Verfügung steht.

In Vanilla OS 2 Orchid wurde sudo durch PolKit-Richtlinien ersetzt, die es den Benutzern ermöglichen, privilegierte Operationen auf eine kontrolliertere und sicherere Weise durchzuführen. Der Benutzer hat weiterhin Zugriff auf sudo, aber nur innerhalb des VSO-Subsystems (Vanilla System Operator).

Benutzer haben nun keinen direkten Zugriff mehr auf die System-Shell; wenn sie die Konsole öffnen, gelangen sie in die VSO-Shell, ein integriertes und veränderbares Subsystem von Vanilla OS. Es ermöglicht den Nutzern, Anwendungen wie in jeder Linux-Distribution zu installieren und auszuführen, ohne das System zu beeinträchtigen. Ausserdem unterstützt VSO jetzt Android-Anwendungen, die als native Anwendungen installiert und ausgeführt werden können, ohne dass ein Emulator erforderlich ist. Zudem wurde F-Droid als Paketquelle integriert. Nutzer können .deb- und .apk-Pakete installieren, indem sie sie einfach mit der Sideloading-Anwendung öffnen, die die Installation in das richtige Subsystem übernimmt.

Apx v2 spielt jetzt eine völlig neue Rolle, indem es als leistungsstarkes Werkzeug für Entwickler und Kreative dient. Es ermöglicht die Erstellung von benutzerdefinierten Umgebungen (Stacks) für verschiedene Bedürfnisse. Benutzer können etwa einen Stack auf Basis von Arch Linux erstellen, yay als Paketmanager anstelle von pacman definieren und Pakete von AUR ohne Probleme installieren.

FsGuard ist das Tool, das während des Systemstarts die Integrität der System-Binärdateien prüft, um sicherzustellen, dass keine Diskrepanzen mit dem vom System-Image bereitgestellten Zustand bestehen. Wird eine Änderung festgestellt, startet FsGuard FsWarn, das den Systemstart unterbricht, den Benutzer über das Problem informiert und ihm rät, das System im vorherigen Zustand neu zu starten, um die Integrität des Systems zu gewährleisten.

Das Installer-Backend wurde von DistInst zu Albius gewechselt, weil dieser die Systeminstallation von OCI-Images unterstützt. Dem Vanilla-Installer wurden einige überarbeitete Fenster spendiert:

Sobald das System installiert ist, fragt das First Setup nicht nur nach den zu installierenden Anwendungen, sondern ermöglicht dem Benutzer auch die Konfiguration von Benutzername, Gerätename, Zeitzone, Sprache, Tastatur und Netzwerk.

Nach Abschluss der Ersteinrichtung wird der Benutzer von einer neuen Anwendung auf eine Systemtour mitgenommen, die die wichtigsten Funktionen des Systems vorstellt und so die erste Begegnung mit Vanilla OS einfacher und verständlicher macht.

Wie geht es weiter?

Orchid befindet sich derzeit in einem Feature Freeze, und das Team arbeitet an der Behebung kleinerer und während des Testzeitraums gemeldeter Fehler. Die stabile Version wird veröffentlicht, sobald alle gemeldeten Fehler behoben sind, optimistischerweise noch in diesem Sommer.

Wer beim Testen mitmachen möchte, findet die Beta-Version zum Downloaden auf dieser Seite. Dabei hilft auch die aktualisierte und zusammengeführte Dokumentation, die allerdings noch nicht vollständig ist.

Quelle: https://vanillaos.org/blog/article/2024-01-30/vanilla-os-2-orchid-beta-is-here


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.

6. Februar 2024

Mozilla hat Firefox 122.0.1 veröffentlicht und behebt damit mehrere Probleme der Vorgängerversion.

Download Mozilla Firefox 122.0.1

Mit dem Update auf Firefox 122.0.1 behebt Mozilla das Problem, dass bei Benachrichtigungen unter Windows trotz Klicken auf die Schaltfläche zum Ausblenden die mit der Benachrichtigung verknüpfte Website geöffnet worden ist.

Für Linux-Nutzer mit dem Yaru Remix Theme sowie für Nutzer älterer Ubuntu-Versionen wurden nicht die korrekten Farben verwendet.

Das Kontextmenü für Tab-Umgebungen in der Bibliothek sowie in der Sidebar zeigte nur die Icons und nicht die Namen der jeweiligen Umgebungen.

Mit Firefox 122 hatte Mozilla die Tastatur-Steuerung des Regeln-Panels im Inspektor-Werkzeug überarbeitet. Diese Änderung hat Mozilla aufgrund von Nutzer-Feedback wieder rückgängig gemacht. Wer das geänderte Verhalten bevorzugt hat, kann dieses über about:config wieder aktivieren, indem der Schalter devtools.inspector.rule-view.focusNextOnEnter auf false gesetzt wird. Ab Firefox 124 wird es dafür eine sichtbare Option in den Einstellungen der Entwicklerwerkzeuge geben.

Beim Kopieren von CSS aus dem Inspektor wurde fälschlicherweise die öffnende Klammer in einer neuen Zeile angezeigt.

Ein Webkompatibilitätsproblem wurde behoben, bei dem das Einfügen einer Importmap verursachen konnte, dass darauffolgende Module nicht geladen werden konnten. Ein weiteres Webkompatibilitätsproblem betrifft eine in Firefox 122 durchgeführte Änderung bezüglich externer Protokoll-Handler, welche korrekt gemäß Spezifikation war, in der Praxis aber Probleme verursacht hat und mit Firefox 122.0.1 rückgängig gemacht worden ist.

Eine mögliche Absturzursache beim CSS-Rendering wurde behoben, ebenso ein Rundungs-Problem bei der Berechnung der Scroll-Position. Außerdem wurde eine hohe CPU-Auslastung auf Websites korrigiert, welche Animationen und einen ResizeObserver verwenden.

Darüber hinaus gab es noch Verbesserungen in Zusammenhang mit der Funktion, über das Firefox-Menü Kompatibilitätsprobleme mit Websites an webcompat.com zu melden, welche derzeit experimentell für einen Teil der Nutzer aktiviert ist.

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

5. Februar 2024

Bereits letzte Woche hat die UBports Foundation die Verfügbarkeit von Ubuntu Touch OTA-4 angekündigt. Das Update verbessert die Systemeinstellungs-App sowie die Unterstützung für Google-Dienste.

Das vierte "Over The Air" Update von Ubuntu Touch basiert nach wie vor auf der LTS Version 20.04 von Ubuntu. Zu den wesentlichen Neuerungen gehören:

  • Die Möglichkeit, den Inhalt von Benachrichtigungen auszublenden, wenn das Smartphone gesperrt ist.
  • Eine Schätzung der Ladezeit auf dem Sperrbildschirm.
  • Die Möglichkeit, einem bestimmten Kontakt einen Klingelton zuzuweisen.

Ausserdem gibt es einen neuen Kippschalter in den Systemeinstellungen, mit dem man das Design ändern kann, ohne eine zusätzliche App zu verwenden. Ferner behebt OTA-4 die Möglichkeit für Apps, benutzerdefinierte Vibrationsmuster festzulegen, verbessert die Zuverlässigkeit von Bluetooth-Headsets für Sprachanrufe und lässt die Double-Tap-to-Wake-Einstellung, sodass sie einen Neustart übersteht.  Auch die Kameraunterstützung für Waydroid-Benutzer wurde verbessert und die Barcode-Reader-App aktualisiert, sodass die Warnung "Geringer Speicherplatz" nicht mehr angezeigt wird.

Überdies behebt es die "Anmeldung bei Google" für bestimmte Webseiten und die Unterstützung für ähnliche Funktionen auf Websites, die Pop-ups erfordern. Die mobile Datenkonnektivität wurde verbessert, um sofort nach dem Beenden eines Telefonanrufs wieder aktiviert zu werden, und die Systemeinstellungs-App erhielt mehrere Verbesserungen für das Layout einiger Seiten. Benutzerdefinierte Hintergrundbilder können jetzt auch gelöscht werden und die Empfindlichkeit der Randgesten kann man nun anpassen.

Zu guter Letzt können Benutzer mit dem Ubuntu Touch OTA-4 Software-Update endlich die physische Kamerataste auf ihren Geräten verwenden, um ein Foto aufzunehmen, und Anwendungsentwickler sehen jetzt eine Bestätigung, wenn sie ihr Gerät mit einem neuen Computer verbinden. Verschiedene Sicherheits- und Fehlerkorrekturen sind ebenfalls in dieser Version enthalten.

Ubuntu Touch OTA-4 wird jetzt auf alle unterstützten Geräte ausgerollt, einschliesslich:

  • Asus Zenfone Max Pro M1
  • Pro1-X
  • Fairphone 3
  • Fairphone 3+
  • Fairphone 4
  • Google Pixel 3a
  • Google Pixel 3a XL
  • JingPad A1
  • OnePlus 5
  • OnePlus 5T
  • OnePlus 6
  • OnePlus 6T
  • PinePhone
  • PinePhone Pro
  • PineTab
  • PineTab2
  • Sony Xperia X
  • Vollaphone
  • Vollaphone X
  • Vollaphone 22
  • Vollaphone X23
  • Xiaomi Poco M2 Pro
  • Xiaomi Poco X3 NFC / X3
  • Xiaomi Redmi Note 9
  • Xiaomi Redmi Note 9 Pro
  • Xiaomi Redmi Note 9 Pro Max
  • Xiaomi Redmi Note 9S

Alle weiteren Änderungen finden sich in den Release Notes für OTA-4:

Quelle: https://ubports.com/en/blog/ubports-news-1/post/ubuntu-touch-ota-4-focal-3912


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.

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.)

Update: Im Mai 2024 stellte auch die Raspberry Pi Foundation einen SSD-Adapter vor. Vorteil: billig. Nachteil: nur für kleine SSDs geeignet (2230/2242). Siehe https://www.raspberrypi.com/news/m-2-hat-on-sale-now-for-12/

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.