staging.inyokaproject.org

2025 Woche 30

25. Juli 2025

Firefox besitzt eine Übersetzungsfunktion für Websites, welche im Gegensatz zu Cloud-Übersetzern wie Google Translate lokal arbeitet, die eingegebenen Texte also nicht an einen fremden Server sendet. Nun wurde die Unterstützung weiterer Sprachen ergänzt.

Firefox wird seit Version 118 standardmäßig mit einer lokalen Funktion zur maschinellen Übersetzung von Websites für den Browser ausgeliefert. Das bedeutet, dass die Übersetzung vollständig im Browser geschieht und keine zu übersetzenden Inhalte an einen Datenriesen wie Google oder Microsoft übermittelt werden müssen.

Mozilla hat nun die Unterstützung weiterer Sprachen hinzugefügt, nämlich Albanisch, Gujarati, Hebräisch, Hindi, Kannada, Malaiisch, Malayalam, Persisch sowie Telugu.

Da die Sprachmodelle über die Remote-Einstellungen von Firefox bereitgestellt werden, ist die Unterstützung neuer Sprachen an kein Firefox-Update gebunden und funktioniert direkt in jedem Firefox mit aktivierter Übersetzungsfunktion.

Damit unterstützt die Übersetzungsfunktion Firefox bereits Übersetzungen aus 41 Sprachen respektive in 39 Sprachen.

Der Beitrag Neue Sprachen für Übersetzungsfunktion von Firefox erschien zuerst auf soeren-hentzschel.at.

Die folgende Geschichte soll mir zur Erinnerung und euch zur Unterhaltung dienen. Sie handelt von CentOS Stream 10, Containern und der Manpage dnf(8). Aber lest selbst.

Es war einmal ein Systemadministrator, der beim Training einige Subkommandos von dnf updateinfo kennenlernte, von deren Existenz er bislang nichts wusste. Und diese Subkommandos heißen list, info und summary. Neugierig schaute er in die Manpage dnf(8), doch zu seinem Erstaunen schwieg sich diese zu diesen Subkommandos aus.

Wut stieg in unserem Sysadmin auf. Wieder einmal haben sich die Entwickler keine Mühe gegeben, die Funktionalität ihrer Anwendung vernünftig zu dokumentieren. Die Qualitätssicherung hat geschlafen. So kann man doch nicht arbeiten. Doch nach dem ersten Wutanfall beschloss der Sysadmin, der Sache in Ruhe auf den Grund zu gehen, bevor er diesen Misstand anprangern würde.

Die Distribution des Sysadmins ist dafür bekannt, dass unter bestimmten Umständen Funktionalität von Upstream zurückportiert wird. Vielleicht hatte sich hier eine Diskrepanz eingeschlichen. Vielleicht war dieser Fehler in einer neueren Version ausgemerzt. Um dies schnell zu überprüfen, wollte unser Sysadmin einen Blick in dnf(8) in Centos 10 Stream werfen. Dazu führte er folgende Befehle in einer Kommandozeile aus:

$ podman run --rm -it centos:stream10
[root@01ede4521839 /]# man 8 dnf
bash: man: command not found
[root@01ede4521839 /]#

Mit einem Augenrollen erinnerte sich unser Sysadmin daran, dass Container-Images nur das absolut Notwendige enthalten, um möglichst wenig Speicherplatz auf der Festplatte zu belegen. Darüber, was absolut notwendig ist, werden seit anbeginn des Containerzeitalters philosophische Streitgespräche geführt. Also prüfte unser Sysadmin, ob es einen vertrauten Paketmanager gab, um die Manpages nachzuinstallieren:

[root@01ede4521839 /]# dnf in man-db man-pages
CentOS Stream 10 - BaseOS                       2.6 MB/s | 6.2 MB     00:02    
CentOS Stream 10 - AppStream                    1.5 MB/s | 2.4 MB     00:01    
CentOS Stream 10 - Extras packages              3.3 kB/s | 3.5 kB     00:01    
Dependencies resolved.
================================================================================
 Package             Architecture   Version                Repository      Size
================================================================================
Installing:
 man-db              x86_64         2.12.0-8.el10          baseos         1.3 M
 man-pages           noarch         6.06-3.el10            baseos         3.7 M
Installing dependencies:
 groff-base          x86_64         1.23.0-10.el10         baseos         1.1 M
 less                x86_64         661-3.el10             baseos         191 k
 libpipeline         x86_64         1.5.7-7.el10           baseos          53 k

Transaction Summary
================================================================================
Install  5 Packages

Total download size: 6.4 M
Installed size: 9.9 M
Is this ok [y/N]:
…
Installed:
  groff-base-1.23.0-10.el10.x86_64          less-661-3.el10.x86_64              
  libpipeline-1.5.7-7.el10.x86_64           man-db-2.12.0-8.el10.x86_64         
  man-pages-6.06-3.el10.noarch             

Complete!
[root@01ede4521839 /]# mandb
Processing manual pages under /usr/share/man...
Updating index cache for path `/usr/share/man/man7'. Wait...mandb: can't resolve man7/groff_man.7
mandb: warning: /usr/share/man/man7/man.7.gz: bad symlink or ROFF `.so' request
mandb: can't resolve man7/groff_man.7
mandb: warning: /usr/share/man/man7/man.man-pages.7.gz: bad symlink or ROFF `.so' request
Updating index cache for path `/usr/share/man/man3type'. Wait...done.
Checking for stray cats under /usr/share/man...
Checking for stray cats under /var/cache/man...
Processing manual pages under /usr/local/share/man...
Updating index cache for path `/usr/local/share/man/mann'. Wait...done.
Checking for stray cats under /usr/local/share/man...
Checking for stray cats under /var/cache/man/local...
45 man subdirectories contained newer manual pages.
2701 manual pages were added.
0 stray cats were added.
0 old database entries were purged.
[root@01ede4521839 /]# man 8 dnf
No manual entry for dnf in section 8

Resultat: Kein which-Befehl verfügbar. Diese Container-Image-Kuratöre sparten aber wirklich an allem. Doch der obige Codeblock enthüllt noch mehr. Zwar war der Paketmanager dnf installiert, auch die Manpages waren nun vorhanden, nur die Manpage dnf(8) fehlte immer noch. Und so bemühte der Sysadmin wieder die Tastatur, um zu prüfen, ob die entsprechende Datei tatsächlich fehlt, welches Paket sie bereitstellt und um das Problem zu lösen. Sehet und staunet:

[root@01ede4521839 /]# stat /usr/share/man/man8/dnf.8.gz
stat: cannot statx '/usr/share/man/man8/dnf.8.gz': No such file or directory
[root@01ede4521839 /]# dnf provides /usr/share/man/man8/dnf.8.gz
…    
dnf-4.20.0-9.el10.noarch : Package manager
Repo        : baseos
Matched from:
Filename    : /usr/share/man/man8/dnf.8.gz
[root@01ede4521839 /]# dnf reinstall dnf
Last metadata expiration check: 0:01:01 ago on Wed Jan  1 14:31:37 2025.
Dependencies resolved.
================================================================================
 Package       Architecture     Version                  Repository        Size
================================================================================
Reinstalling:
 dnf           noarch           4.20.0-9.el10            baseos           478 k

Transaction Summary
================================================================================

Total download size: 478 k
Installed size: 2.5 M
Is this ok [y/N]:y
…
Reinstalled:
  dnf-4.20.0-9.el10.noarch                                                      

Complete!
[root@01ede4521839 /]# stat /usr/share/man/man8/dnf.8.gz
  File: /usr/share/man/man8/dnf.8.gz -> dnf4.8.gz
  Size: 9         	Blocks: 8          IO Block: 4096   symbolic link
Device: 0,111	Inode: 6118189     Links: 1
Access: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2024-10-28 20:00:00.000000000 -0400
Modify: 2024-10-28 20:00:00.000000000 -0400
Change: 2025-01-01 14:32:59.692356995 -0500
 Birth: 2025-01-01 14:32:59.691356987 -0500

Überzeugt, dass der Spuk nun ein Ende habe, versuchte es unser Sysadmin erneut:

[root@01ede4521839 /]# man 8 dnf
No manual entry for dnf in section 8

Moment! Die Datei ist da, die Manpage jedoch nicht? Sind hier dunkle Mächte am Werke? Nein, denn wie die folgenden Befehle offenbarten, lag die Ursache lediglich in kaputten Symlinks und fehlenden Paketen:

[root@01ede4521839 /]# ls -l /usr/share/man/man8/dnf.8.gz
lrwxrwxrwx. 1 root root 9 Oct 28 20:00 /usr/share/man/man8/dnf.8.gz -> dnf4.8.gz
[root@01ede4521839 /]# ls -l /usr/share/man/man8/dnf4.8.gz
ls: cannot access '/usr/share/man/man8/dnf4.8.gz': No such file or directory
[root@01ede4521839 /]# dnf provides /usr/share/man/man8/dnf4.8.gz
Last metadata expiration check: 0:05:59 ago on Wed Jan  1 14:31:37 2025.
…
python3-dnf-4.20.0-9.el10.noarch : Python 3 interface to DNF
Repo        : baseos
Matched from:
Filename    : /usr/share/man/man8/dnf4.8.gz

[root@01ede4521839 /]# dnf list python3-dnf
Last metadata expiration check: 0:06:16 ago on Wed Jan  1 14:31:37 2025.
Installed Packages
python3-dnf.noarch                     4.20.0-9.el10                     @System

Getrieben von Ungeduld und etwas Frust installierte unser Sysadmin nun auch das Paket python3-dnf.noarch neu, in einem letzten, verzweifelten Versuch, endlich die lang ersehnte Manpage zu erhalten.

[root@01ede4521839 /]# dnf reinstall python3-dnf.noarch
…
Reinstalled:
  python3-dnf-4.20.0-9.el10.noarch                                              

Complete!
[root@01ede4521839 /]# man 8 dnf
DNF4(8)                               DNF                              DNF4(8)

NAME
       dnf4 - DNF Command Reference

SYNOPSIS
       dnf [options]  [...]

DESCRIPTION
       DNF  is  the  next upcoming major version of YUM, a package manager for
       RPM-based Linux distributions. It roughly maintains  CLI  compatibility
       with YUM and defines a strict API for extensions and plugins.

Na endlich! Da war sie, die so lang ersehnte und schmerzlich vermisste Manpage. Und die Mühe unseres Sysadmins wurde mit der Erkenntnis belohnt, dass die gesuchte Information auch in dieser Version von dnf(8) nicht enthalten war. Zufrieden wandte sich der Sysadmin nun dem Ticketsystem zu, um zu erfragen, warum die gesuchten Informationen nicht vorhanden sind und um eine Ergänzung anzuregen.

Und wenn er nicht gestorben ist, wartet er noch immer auf eine Antwort.

Und die Moral von der Geschichte?

Erwarte nicht Manpages in Container-Images zu finden. Unser Sysadmin wäre deutlich schneller am ZIel angelangt, hätte er direkt in den Quelltext geschaut: https://github.com/rpm-software-management/dnf/blob/master/doc/command_ref.rst

24. Juli 2025

Mozilla hat Version 2.30 seiner VPN-Clients für das Mozilla VPN veröffentlicht.

Mit dem Mozilla VPN bietet Mozilla in Zusammenarbeit mit Mullvad sein eigenes Virtual Private Network an und verspricht neben einer sehr einfachen Bedienung eine durch das moderne und schlanke WireGuard-Protokoll schnelle Performance, Sicherheit sowie Privatsphäre: Weder werden Nutzungsdaten geloggt noch mit einer externen Analysefirma zusammengearbeitet, um Nutzungsprofile zu erstellen.

Jetzt Mozilla VPN nutzen

Die Neuerungen vom Mozilla VPN 2.30

Das Update auf das Mozilla VPN 2.30 bringt keine neuen Funktionen, sondern vor allem Fehlerbehebungen und Verbesserungen unter der Haube.

Der Beitrag Mozilla VPN 2.30 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

23. Juli 2025

Die MZLA Technologies Corporation hat mit Thunderbird 141 eine neue Version seines Open Source E-Mail-Clients für Windows, Apple macOS und Linux veröffentlicht.

Neuerungen von Thunderbird 141

Mit Thunderbird 141 hat die MZLA Technologies Corporation ein Update für seinen Open Source E-Mail-Client veröffentlicht.

Die Benachrichtigung für neue E-Mails wurde um eine Aktion zum Archivieren erweitert. Beim Verfassen von E-Mails gibt es eine Warnung, wenn der konfigurierte OpenPGP-Schlüssel des Anwenders bald abläuft.

Darüber hinaus gab es wie immer diverse Fehlerkorrekturen und Verbesserungen unter der Haube, welche sich in den Release Notes (engl.) nachlesen lassen. Auch Sicherheitslücken wurden behoben.

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

Der Autor hatte Lust auf einen Erkundungsausflug in die Welt von NixOS. Ein Erfahrungsbericht.



Eigentlich wollte ich etwas ganz anderes machen: Einen Tiling Windowmanager wie Sway oder Hyprland ausprobieren. Irgendwie lief mir dann aber zum wiederholten Mal NixOS über den Weg, weswegen ich beide Erkundungen miteinander verbinden wollte. Sway und Co. habe ich als alter (und vielleicht etwas eingefahrener) KDE-User nach ersten Tests doch erst mal wieder hinten angestellt. Aber NixOS, das hat mich irgendwie erreicht.

In dem Artikel beschreibe ich (m)einen kleinen Streifzug durch NixOS, das den Ansatz einer deklarativen Systemkonfiguration verfolgt. NixOS soll dabei von Grund auf installiert und danach ein Desktop Environment (KDE Plasma) installiert werden. An der Stelle möchte ich auf die zahlreichen anderen NixOS-Artikel auf GNULinux.ch hinweisen. Der vorliegende Artikel ist einfach nur yet another Erfahrungsbericht.

Grundinstallation

Es gibt zwar einen grafischen Installer, für die volle Dröhnung habe ich mich allerdings für die manuelle Installation, also für das Minimal ISO Image entschieden. Ich habe mich nach der Installationsanleitung gerichtet. Außerdem wollte ich gerne ein verschlüsseltes System mit Btrfs haben, einfach um zu sehen, ob das auch gut machbar ist. Dieser Wiki-Eintrag geht darauf ein. Für den Artikel hier fasse ich mein Vorgehen also nur kurz zusammen – für nähere Informationen sei auf die verlinkten Seiten verwiesen.


Nach dem Booten des Installer-ISOs

Nach dem Booten des Minimal ISO Image findet man sich also – ganz ähnlich wie bei einer Installation von Arch Linux – in einer Konsole wieder. Mit sudo -i kann man gleich mal root-Rechte erlangen und ggf. mit loadkeys de auf deutsches Tastaturlayout umstellen.

Partitionierung

Für mein Setup genügen zwei Partitionen: Eine kleine für die EFI-Bootpartition und eine große für Btrfs. Für letzteres werden später noch Subvolumes erstellt. Partitionstabelle erstellen und partitionieren kann man mit printf "label: gpt\n,1G,U\n,,L\n" | sfdisk /dev/vda in einem Aufwasch machen. /dev/vda ist die virtuelle Festplatte in meiner VM und muss ggf. angepasst werden. Hier wird also eine GPT-Partitionstabelle erstellt und anschließend eine UEFI-konforme, kleine Partition sowie eine Linuxpartition, die den Rest der Festplatte einnimmt.

Die Bootpartition kann schonmal formatiert werden (nochmal: Pfad zum Device ggf. anpassen!):

mkfs.vfat -n BOOT /dev/vda1

Verschlüsselung

Die Btrfs-Partition soll ja verschlüsselt werden, daher müssen wir die Partition erstmal mit cryptsetup vorbereiten:

cryptsetup --verify-passphrase -v luksFormat /dev/vda2

WARNING!
========
This will overwrite data on /dev/vda2 irrevocably.

Are you sure? (Type 'yes' in capital letters): YES
Enter passphrase for /dev/vda2: 
Verify passphrase: 
Key slot 0 created.
Command successful.

Mit cryptsetup open /dev/vda2 enc öffnen wir nun die Partition; sie ist nun unter /dev/mapper/enc verfügbar.

Einhängen der Partitionen

Jetzt können die Btrfs-Subvolumes erstellt werden. Natürlich sind hier ganz ausgefuchste Setups denkbar. Ich möchte im Wesentlichen gerne von /home ein Backup machen können, weswegen das auf jeden Fall ein eigenes Subvolume bekommt; ansonsten halte ich es eher einfach. Zusammengefasst:

mkfs.btrfs /dev/mapper/enc          # Dateisystem erstellen

mount -t btrfs /dev/mapper/enc /mnt # Btrfs-System nach /mnt mounten

# Erstellen der Subvolumes

btrfs subvolume create /mnt/@       # /

btrfs subvolume create /mnt/@home   # /home

btrfs subvolume create /mnt/@nix    # /nix

Nachdem das gemacht ist, hängt man das Btrfs-Dateisystem mit umount /mnt zunächst aus und hängt dann nach /mnt wieder alles so ein, wie man es für die Installation haben möchte. Also zunächst @ als / und darin dann die anderen Subvolumes /home und /nix (und natürlich noch die Bootpartition):

mount -o subvol=@,compress=zstd,noatime /dev/mapper/enc /mnt 

mkdir /mnt/home

mount -o subvol=@home,compress=zstd,noatime /dev/mapper/enc /mnt/home

mkdir /mnt/nix

mount -o subvol=@nix,compress=zstd,noatime /dev/mapper/enc /mnt/nix

mkdir /mnt/boot

mount /dev/vda1 /mnt/boot

Let's go

Jetzt wird es spannend. Das Kommando nixos-generate-config --root /mnt erstellt zwei Konfigurationsdateien:

  • /mnt/etc/nixos/hardware-configuration.nix
  • /mnt/etc/nixos/configuration.nix

Vor der Installation müssen wir noch schnell die zweite Datei anfassen, da nixos-generate-config keine Mountoptionen erkennt. Folgendes muss also in configuration.nix eingetragen werden:

fileSystems = {
  "/".options = [ "compress=zstd" "noatime" ];
  "/home".options = [ "compress=zstd" "noatime" ];
  "/nix".options = [ "compress=zstd" "noatime" ];
};

Außerdem kann man hier noch die Zeitzone (time.timeZone) korrigieren und die Lokalisierung einstellen (i18n.defaultLocale, keymap in console sowie services.xserver.xkb.layout).

Und jetzt geht's los: nixos-install führt endlich die Installation aus. Dabei wird noch nach dem zukünftigen root-Passwort gefragt:

[…]
New password: 
Retype new password: 
passwd: password updated successfully
installation finished!

Das war's! Ein reboot startet das System neu und nach Eingabe des Passworts für die Festplattenverschlüsselung begrüßt uns NixOS mit dem Login-Prompt:


NixOS Login-Prompt

User einrichten, weitere Einstellungen

Um etwas Sinnvolles zu machen, sollten wir erst mal einen User erstellen. Das macht man aber nicht etwa mit dem altbekannten adduser o.ä., nein, wir machen das gleich mal entsprechend dem Nix-Way. Hierfür muss auch wieder die Datei /etc/nixos/configuration editiert werden. Ich habe hierfür die auskommentierte Vorgabe einfach angepasst:

users.users.martin = {
    isNormalUser = true;
    extraGroups = [ "wheel", "networkmanager" ]; # Enable ‘sudo’ for the user.
  #   packages = with pkgs; [
  #     tree
  #  ];
  };

Bei der Gelegenheit können wir auch gleich noch schauen, ob andere auskommentierte Einstellungen für uns sinnvoll sind. Ich habe z.B. noch den NetworkManager (networking.networkmanager.enable = true;), OpenSSH (services.openssh.enable = true;) sowie PipeWire (services.pipewire […]) aktiviert.

Unter environment.systemPackages kann man noch Programme auflisten, die systemweit installiert werden sollen. Für mich gehören da auf jeden Fall schon mal der Editor Helix und die Prozessanzeige htop mit dazu:

environment.systemPackages = with pkgs; [
  helix
  htop
];

Natürlich gibt es noch vieles andere mehr, was man hier tun oder lassen kann. Schlussendlich reicht ein nixos-rebuild switch` um sich ein System entsprechend den getätigten Vorgaben bauen zu lassen. An der Stelle habe ich einen Reboot gemacht und mich unter dem neu erstellten User angemeldet. Vor dem Reboot habe ich ihm noch mit passwd martin das gewünschte Passwort vergeben.

KDE Plasma …

Das Tolle ist: Man kann jetzt nach Lust und Laune ausprobieren und herumbasteln (zumindest in einem gewissen Rahmen). Wenn etwas schiefgeht, kann man einfach zur letzten funktionierenden Konfiguration zurückgehen (Rollback), etwa mittels nixos-rebuild switch --rollback.

In unserem NixOS-Test entscheide ich mich erst einmal dazu, KDE Plasma zu installieren. Um später einfacher zu einem anderen Desktop Environment wechseln zu können, lagere ich den KDE-spezifischen Teil in eine eigene Datei aus und binde diese in die configuration.nix Datei ein.

Hier meine /etc/nixos/kde.nix-Datei, die natürlich – wie alles hier – nur ein minimaler Test sein soll. Da ich die KDE-eigenen PIM-Programme (KMail, Akonadi, etc.) nicht benötige, exkludiere ich diese in der Config:

{ config, pkgs, ... }:

{
  services.xserver.enable = true; # optional
  services.displayManager.sddm.enable = true;
  services.displayManager.sddm.wayland.enable = true;
  services.desktopManager.plasma6.enable = true;

  environment.plasma6.excludePackages = with pkgs.kdePackages; [
    kdepim-runtime
  ];
}

Die Einbindung in configuration.nix darf nicht vergessen werden:

imports =
  [ # Include the results of the hardware scan.
    ./hardware-configuration.nix
    # KDE Plasma 6
    ./kde.nix
  ];

Und mit einem neuerlichen nixos-rebuild switch haben wir – schwuppdiwupp – ein mit KDE eingerichtetes System.


KDE Plasma

… oder doch etwas anderes?

Und wenn einem doch der Sinn danach steht, einen Tiling Windowmanager wie Sway auszuprobieren, ist das kein Problem. Dazu braucht es lediglich ein paar Änderungen, oder eben eine sway.nix-Datei, die man anstelle von kde.nix einbindet. Spaßhalber verwende ich nicht SDDM, sondern greetd als Login Manager: 

{ config, pkgs, lib, ... }:

{
  environment.systemPackages = with pkgs; [
    grim
    slurp
    wl-clipboard
    mako
  ];

  services.gnome.gnome-keyring.enable = true;

  programs.sway = {
    enable = true;
    wrapperFeatures.gtk = true;
  };

  services.greetd = {                                                      
    enable = true;                                                         
    settings = {                                                           
      default_session = {                                                  
        command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd sway";
        user = "greeter";                                                  
      };                                                                   
    };                                                                     
  };
}


Sway

Durch das vorherige KDE Plasma ist das System nicht etwa verbastelt. Keine Spur mehr von den üblichen KDE-Anwendungen. Bei vielen anderen Linux-Distributionen wäre so ein "sauberer" Wechsel nur mit Aufwand möglich!

Aufräumen

Dabei wird grundsätzlich nichts überschrieben. Die KDE-Pakete sind im Nix-Store immer noch vorhanden (aber eben nicht "eingebunden"). Bei Bedarf könnte man einfach wieder auf die alte Konfiguration umschalten. Doch sammeln sich so natürlich immer mehr Dateien an und die Platte füllt sich. Auch die Bootloader-Einträge sammeln sich mit jedem nixos-rebuild an. NixOS bietet Mechanismen an, die alte Konfigurationen (bei Bedarf zyklisch) entfernt. Oder aber man räumt selbst auf. Nicht mehr referenzierte Pakete lassen sich mit nix-collect-garbage entfernen. Alte Systemkonfiguration werden dadurch jedoch nicht entfernt; ein Rollback wäre immer noch möglich. Möchte man alte Zöpfe abschneiden und ein Rollback somit unmöglich machen, ist dies mit nix-collect-garbage -d (als root) möglich.

Ausblick

Das bisherige hat wirklich nur an der Oberfläche von Nix(OS) gekratzt. Wir haben noch nicht einmal über Flakes gesprochen, ein experimentelles, aber sehr beliebtes Feature, das auch Versionspinning mittels lock-Dateien erlaubt. Im NixOS-Manual begegnet einem das aber nur am Rande.

Ebenso wenig betrachtet wurde Home Manager, womit man unter anderem die Dot-Dateien in den Homeverzeichnissen der Benutzer verwalten kann.

Und so gibt es sicherlich noch viele Features, die in dem kleinen NixOS-Ausflug hier völlig ignoriert wurden, da dem Autor womöglich gar nicht bekannt.

Möchte man sich ernsthaft mit NixOS beschäftigen, empfiehlt sich sicherlich die Lektüre des Nix-Manuals, das also den Nix-Paketmanager behandelt. Insbesondere der Teil über nix-shell ist interessant, womit man temporär einfach mal schnell Pakete "installieren" kann und die, wenn man diese Nix-Shell verlässt, wieder verschwunden sind. Das NixOS-Manual behandelt dann die NixOS-Distribution.

Fazit

NixOS bietet einen völlig anderen Ansatz als alle Linux-Distributionen, die ich bisher kennengelernt habe. Ich finde NixOS hochinteressant und es gefällt mir, wie einfach man ein neues "sauberes" Setup bauen kann, ohne dass es in Pakete(de)installationsarien ausartet. Warum also, um den Titel des Artikels nochmal aufzugreifen "… und zurück"? Ich fühle mich noch nicht bereit, um auf NixOS umzusteigen, es ist einfach zu … anders. Als alter Arch Linux User fühle ich mich mit pacman und Co. einfach noch sicherer. Ich habe das Gefühl, noch viel mehr über NixOS in Erfahrung bringen zu müssen, um den Schritt zum Umstieg zu wagen. Vielleicht würde die Lektüre des NixOS & Flakes Buchs helfen, das ich mir sicherlich mal zu Gemüte führen werde.

Wie sind eure Erfahrungen mit NixOS?

Quelle Titelbild: https://de.wikipedia.org (leicht angepasst)


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.

22. Juli 2025

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

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

Smarte Tab-Gruppen dank lokaler KI

Auf Wunsch kann Firefox jetzt automatisch Namen für Tab-Gruppen sowie weitere geöffnete Tabs für bereits erstellte Tab-Gruppen vorschlagen. Dies geschieht mit Hilfe einer lokalen KI, es verlassen dabei also keine Daten den Browser.

Diese Neuerung wird schrittweise im Laufe der kommenden Wochen für Nutzer einer englischsprachigen Firefox-Version ausgerollt werden.

Außerdem lassen sich Tab-Gruppen jetzt auch im Menü „Alle Tabs auflisten“ verschieben.

Mehr Platz für vertikale Tabs

Nutzer vertikaler Tabs anstelle der standardmäßig aktiven horizontalen Tableiste können die Größe des Bereiches für die Werkzeuge am unteren Fensterrand nun anpassen, um mehr Platz für vertikale Tabs zu haben. Schaltflächen, die dadurch keinen Platz mehr haben, werden automatisch in einem Überlauf-Menü angezeigt.

Mehr Sicherheit für Firefox-Nutzer

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

Sonstige Endnutzer-Neuerungen in Firefox 141

Bei Verwendung des strengen Schutzes vor Aktivitätenverfolgung sowie in privaten Fenstern werden seit Firefox 136 auf Websites eingebettete Instagram- sowie TikTok-Inhalte durch einen Platzhalter ersetzt. Erst nach einem Klick auf einen Button wird dann der tatsächliche Inhalt geladen. Firefox 138 erweiterte diese Funktion um Unterstützung für Inhalte von X, früher auch als Twitter bekannt, Firefox 141 bringt Unterstützung für die Disqus-Kommentarplattform.

Der Schutz vor Aktivitätenverfolgung kann mitunter auch Scripts blockieren, welche Fingerprinting zur Betrugsbekämpfung einsetzen, ohne dass Tracking stattfindet. Anstatt die Scripts zu blockieren, setzt Firefox für diese jetzt auf seine Anti-Fingerprinting-Maßnahmen, um die Webkompatibilität zu verbessern.

Die Adressleiste kann nun auch zur Umrechnung von Einheiten genutzt werden. Ein Auswählen des entsprechenden Eintrags kopiert das Ergebnis in die Zwischenablage.

Firefox unterstützt jetzt PDF 2.0 Metatags für die Anzeige von Metadaten in den Dokumenteigenschaften von PDF-Dateien. Außerdem wird nicht länger eine Drucken-Schaltfläche im PDF-Betrachter angezeigt, wenn die Drucken-Funktion in Firefox deaktiviert ist. Auch die Performance der KI-basierten Generierung von Alternativ-Texten beim Einfügen von Bildern in PDF-Dateien wurde verbessert.

Der RAM-Verbrauch unter Linux wurde reduziert. Außerdem erzwingt Firefox nicht länger einen Neustart, wenn ein Update durch eine Paketverwaltung installiert worden ist. Deutliche Verbesserungen des RAM-Verbrauchs gab es außerdem bei der Übersetzungsfunktion.

Unter Windows 11 nutzt Firefox jetzt die vom System bereitgestellten Symbole für die Schaltflächen in der Titelleiste.

In der neuen Chronik-Sidebar lassen sich jetzt wie in der alten Implementierung Einträge mit der Tastatur auswählen. Außerdem wird der Sidebar-Button in der Navigationssymbolleiste nun nach rechts verschoben, wenn die Sidebar rechts angezeigt wird.

Das Speichern von Adressen wurde jetzt auch für Nutzer in Großbritannien, Spanien, Japan und Brasilien aktiviert. Das Speichern von Kreditkarten-Informationen wurde weltweit aktiviert. Wetter-Vorschläge in der Adressleiste wurden für Nutzer in Deutschland, Frankreich und Italien aktiviert.

Die Firefox-Startseite zeigt in den Content-Empfehlungen nicht länger Beschreibungstexte an.

Wird über about:config der Schalter browser.download.enableDeletePrivate auf true gesetzt, erscheint in den Firefox-Einstellungen für Downloads eine neue Option, um festzulegen, ob heruntergeladene Dateien im privaten Modus gelöscht werden sollen, wenn alle privaten Fenster geschlossen werden. Bisher ist dies immer der Fall.

Mit browser.screenshots.folderList gibt es einen weiteren neuen Schalter in about:config, der den Speicherort für Screenshots betrifft. Wird dieser auf 0 gesetzt, werden Screenshots auf dem Desktop gespeichert. Bei einem Wert von 1 (Standard), wird der Downloads-Ordner des Systems genutzt. Wird der Schalter auf 2 gesetzt, kann die Option browser.screenshots.dir genutzt werden, um einen Ordner festzulegen. Und bei einem Wert von 3 wird der Screenshot-Ordner des Systems genutzt.

Im Responsive Design Modus der Entwicklerwerkzeuge wird ein geänderter User-Agent nun direkt übernommen, wenn das entsprechende Eingabefeld den Fokus verliert, statt zwingend die Betätigung der Enter-Taste zu erwarten, und die Eingabe bei Betätigung der ESC-Taste zurückgesetzt. Auch die Eingaben für die Breite und Höhe des Festers werden durchd die ESC-Taste jetzt zurückgesetzt.

Verbesserungen der Webplattform

Unterstützung für Cookies mit unabhängigem Partitionierungsstatus (CHIPS) wurde hinzugefügt, so dass Entwickler ein Cookie in einem nach Top-Level-Site partitionierten Speicher ablegen können.

Auf Windows unterstützt Firefox jetzt die WebGPU-API. Unterstützung auf macOS, Linux und Android wird in den kommenden Monaten folgen.

In Eingabefeldern vom Typ search lässt sich die Eingabe jetzt mittels ESC-Taste leeren.

Weitere Verbesserungen der Webplattform und für Erweiterungsentwickler lassen sich wie immer in den MDN Web Docs nachlesen.

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