System76 hat nun den Veröffentlichungstermin für Pop!_OS 24.04 LTS bekanntgegeben. Nach einer langen Entwicklungsphase rund um den neuen COSMIC-Desktop soll die stabile Version am 11. Dezember 2025 erscheinen. Gleichzeitig wird auch die erste stabile Version des hauseigenen Desktops, COSMIC Epoch 1, veröffentlicht. Firmengründer Carl Richell erklärte auf X, dass zukünftige Versionen von Pop!_OS künftig zeitlich enger an die Ubuntu-LTS-Veröffentlichungen angepasst […]
Das KDE Projekt hat die Version 6.5.1 von KDE Plasma vorgestellt. Sie ist das erste Wartungsupdate der aktuellen Desktop Reihe und behebt zahlreiche Fehler. Außerdem wurden viele Details im Design und in der Bedienung verfeinert. Das Update erscheint nur eine Woche nach der Veröffentlichung von Plasma 6.5. Dennoch bringt es spürbare Verbesserungen. Besonders Nutzer älterer […]
Mozilla hat Firefox 144.0.2 für Windows, macOS und Linux veröffentlicht. Firefox 144.0.1 wurde für diese Plattformen übersprungen, da diese Versionsnummer einem Android-Update vorbehalten war.
Mehrere Verbesserungen wurden vorgenommen, um die Kompatibilität mit Apple macOS zu verbessern, darunter ein Problem, bei dem die Emoji-Auswahl-Tastenkombination sowie der Menüeintrag nach dem Wechsel zwischen Apps nicht mehr funktionierten. Auch das Ziehen von Bildern in Anwendungen von Drittanbietern wie „Vorschau“ konnte fehlschlagen. Nach dem Update auf macOS 26 konnte es außerdem zum einem Aufhängen des Browsers kommen, wenn Lesezeichenordner Schleifen oder wiederholte Verweise auf sich selbst enthielten, und ein Performance-Problem bei der Video-Wiedergabe unter hoher Systemlast nach dem neuesten macOS-Update wurde behoben.
Ein möglicher Absturz bei Systemstart unter Window, der unter anderem durch die Sicherheits-Software von Avast ausgelöst worden ist, wurde behoben.
Die Liste der verfügbaren Sprachen in den Einstellungen konnte mehr Sprachen enthalten, als heruntergeladen wurden oder derzeit unterstützt werden.
Die Tastatur-Bedienung der Suchmaschinen in der Adressleiste wurde verbessert.
Ein Problem wurde behoben, von dem Microsoft OneDrive betroffen war und bei dem kuratierte Fotosammlungen auf der Seite „Für Sie“ nicht geladen werden konnten.
Das Öffnen neuer Fenster hat unter bestimmten Umständen nicht mehr korrekt funktioniert.
Für manche Nutzer mit aktivierter Telemetrie wurden die Telemetrie-Daten nicht mehr übertragen.
Der Einstellungs-Button für die Seitenleiste war nicht mehr an den unteren Fensterrand fixiert.
Dazu kommen noch Korrekturen für mehrere weitere potenzielle Absturzursachen.
Das Fedora Projekt hat Fedora Linux 43 offiziell freigegeben. Die neue Version der von Red Hat unterstützten Distribution setzt auf moderne Technologien und aktuelle Softwarepakete. Ziel bleibt ein stabiles und zugleich fortschrittliches System für Entwickler und Linux-Enthusiasten. Zu den wichtigsten Neuerungen gehört der Linux Kernel 6.17. Die Workstation Edition nutzt jetzt die Desktop Umgebung GNOME […]
Das 2022 gegründete chinesische KI-Startup MiniMax sorgt mit seinem Modell M2 für Aufsehen, das sich auf Anhieb unter die Top-5 aller Sprachmodelle einreiht und nur 8 Prozent dessen kosten soll,…
Vielleicht haben einige Ubuntu Nutzer es bereits bemerkt. Die Variante bzw. das Flavour Ubuntu Unity hat keine Version 25.10 veröffentlicht. Der Grund liegt in fehlenden Kapazitäten innerhalb des Entwicklerteams. Nun bittet das Projekt öffentlich um Hilfe aus der Community. Ubuntu 25.10 erschein vor knapp zwei Wochen. Konkret erklärte im o.g. Beitrag ein Teammitglied, dass Projektleiter […]
Solche Aufgaben können notwendig werden, wenn die Dateien aus unterschiedlichen Quellen stammen – so wie im folgenden Beispiel: Ich hatte vier verschiedene Zuarbeiten mit jeweils eigenen Benennungsregeln erhalten. Um die insgesamt 95 Dateien einheitlich in eine bestehende Webseite einzubinden, mussten sie alle nach einem gemeinsamen Schema umbenannt werden.
Umsetzung
Auf einem Ubuntu-System erfolgt die Mehrfachumbenennung ganz einfach: Zunächst wird das Verzeichnis geöffnet, in dem sich alle zu verarbeitenden Bilder befinden.
Dateien – Ansicht Bilder (ungeordnet)
Im Dateimanager „Dateien“ (früher „Nautilus“) werden mit Strg + A alle Dateien markiert.
Dateien – Ansicht Bilder (alle ausgewählt)
Mit einem Rechtsklick lässt sich nun die Option „Umbenennen“ auswählen. Hier wird „[Ursprünglicher Dateiname]“ durch den endgültigen Dateinamen ersetzt und über „+ Hinzufügen“ der neue Suffix ausgewählt.
Die Mehrfachumbenennung unter GNOME ist ein einfaches, aber äußerst praktisches Werkzeug – besonders in Kombination mit einer automatischen Skalierung, wie im zuvor genannten Artikel beschrieben. So lässt sich die Verarbeitung großer Bildmengen deutlich effizienter gestalten und viel Zeit sparen.
In dieser Folge sprechen wir über **Linux Mint** und **LMDE**, die beiden Varianten einer der beliebtesten Linux Distributionen. Beide sehen fast gleich aus und werden vom selben Team entwickelt, unterscheiden sich aber im Kern. Während Linux Mint auf Ubuntu basiert und regelmäßig aktualisiert wird, setzt LMDE auf Debian und legt den Fokus auf Stabilität und Unabhängigkeit. Wir schauen uns an, welche Version sich besser für Einsteiger eignet, wo die technischen Unterschiede liegen und warum LMDE für erfahrene Nutzer eine spannende Alternative ist. Wenn du überlegst, welches Linux System zu dir passt, solltest du diese Folge nicht verpassen.
Linux Mint gehört seit Jahren zu den beliebtesten Desktop Distributionen im Linux Universum. Doch neben der bekannten Ubuntu Variante gibt es mit LMDE (Linux Mint Debian Edition) eine Alternative, die etwas im Schatten steht, aber viele interessante Vorteile bietet. Beide Systeme stammen vom selben Entwicklerteam und sehen auf den ersten Blick fast identisch aus. Der Unterschied liegt […]
Seit dem 22. Oktober 2025 stehen die ersten lauffähigen täglichen Testversionen von Ubuntu 26.04 LTS zum Download bereit. Canonical richtet sich damit an Tester, Entwickler und neugierige Nutzer. Frühere Builds funktionierten nicht richtig und waren kaum nutzbar im Alltag. Die neuen Images basieren auf Ubuntu 25.10 mit dem Codenamen Questing Quokka, das Anfang Oktober erschienen […]
Das Fedora Council hat eine neue Richtlinie verabschiedet, die erstmals den Einsatz von KI bei Beiträgen zu Fedora Projekten erlaubt. Nach intensiven Diskussionen in der Community wurde nun ein Rahmen geschaffen, der moderne Werkzeuge zulässt, zugleich aber menschliche Verantwortung in den Mittelpunkt stellt. Künftig dürfen Entwickler KI Werkzeuge nutzen, um Code, Dokumentation oder andere Inhalte […]
Das KDE Projekt hat die neue Version 6.5 seiner Desktopumgebung Plasma veröffentlicht. Sie bringt zahlreiche Verbesserungen, neue Funktionen und viele kleine Korrekturen, die den Alltag mit Linux spürbar angenehmer machen. Optisch fällt sofort auf, dass Fenster im Breeze Design nun abgerundete untere Ecken besitzen. Unterstützte Drucker zeigen ihren Tintenstand direkt im System an. Auch HDR […]
Alte MS-DOS-Programme reanimiert der Emulator DOSBox unter Linux. Nachdem das Projekt mehr oder weniger auf Eis liegt, führt der Fork DOSBox Pure die Entwicklung fort.
Alte MS-DOS-Programme reanimiert der Emulator DOSBox unter Linux. Nachdem das Projekt mehr oder weniger auf Eis liegt, führt der Fork DOSBox Pure die Entwicklung fort.
In meinem Arbeitsalltag wimmelt es von virtuellen Linux-Maschinen, die ich primär mit zwei Programmen ausführe:
virtual-machine-manager alias virt-manager (KVM/QEMU) unter Linux
UTM (QEMU + Apple Virtualization) unter macOS
Dabei treten regelmäßig zwei Probleme auf:
Bei Neuinstallationen funktioniert der Datenaustausch über die Zwischenablage zwischen Host und VM (= Gast) funktioniert nicht.
Die Uhrzeit in der VM ist falsch, nachdem der Host eine Weile im Ruhestand war.
Diese Ärgernisse lassen sich leicht beheben …
Anmerkung: Ich beziehe mich hier explizit auf die Desktop-Virtualisierung. Ich habe auch VMs im Server-Betrieb — da brauche ich keine Zwischenablage (Text-only, SSH-Administration), und die Uhrzeit macht wegen des dauerhaften Internet-Zugangs auch keine Probleme.
Zwischenablage mit Spice als Grafik-Protokoll
Wenn das Virtualisierungssystem das Grafiksystem mittels Simple Protocol for Independent Computing Environments (SPICE) überträgt (gilt per Default im virtual-machine-manager und in UTM), funktioniert die Zwischenablage nur, wenn in der virtuellen Maschine das Paket spice-vdagent installiert ist. Wenn in der virtuellen Maschine Wayland läuft, was bei immer mehr Distributionen standardmäßig funktioniert, brauchen Sie außerdem wl-clipboard. Also:
Nach der Installation müssen Sie sich in der VM aus- und neu einloggen, damit die Programme auch gestartet werden. Manche, virtualisierungs-affine Distributionen installieren die beiden winzigen Pakete einfach per Default. Deswegen funktioniert die Zwischenablage bei manchen Linux-Gästen sofort, bei anderen aber nicht.
Synchronisierung der Uhrzeit
Grundsätzlich beziehen sowohl die virtuellen Maschine als auch der Virtualisierungs-Host die Uhrzeit via NTP aus dem Internet. Das klappt problemlos.
Probleme treten dann auf, wenn es sich beim Virtualisierungs-Host um ein Notebook oder einen Desktop-Rechner handelt, der hin- und wieder für ein paar Stunden inaktiv im Ruhezustand schläft. Nach der Reaktivierung wird die Zeit im Host automatisch gestellt, in den virtuellen Maschinen aber nicht.
Vielleicht denken Sie sich: Ist ja egal, so wichtig ist die Uhrzeit in den virtuellen Maschinen ja nicht. So einfach ist es aber nicht. Die Überprüfung von Zertifikaten setzt die korrekte Uhrzeit voraus. Ist diese Voraussetzung nicht gegeben, können alle möglichen Problem auftreten (bis hin zu Fehlern bei der Software-Installation bzw. bei Updates).
Für die lokale Uhrzeit in den virtuellen Maschinen ist das Programm chrony zuständig. Eigentlich sollte es in der Lage sein, die Zeit automatisch zu justieren — aber das versagt, wenn die Differenz zwischen lokaler und echter Zeit zu groß ist. Abhilfe: starten Sie chronyd neu:
sudo systemctl restart chronyd
Um die automatische Einstellung der Uhrzeit nach der Wiederherstellung eines Snapshots kümmert sich der qemu-guest-agent (z.B. im Zusammenspiel mit Proxmox). Soweit das Programm nicht automatisch installiert ist:
Im August letzten Jahres habe ich euch gezeigt, was auf meinem Home Server so alles läuft und ich dachte mir, ich liefere euch über ein Jahr später mal einen aktualisierten Einblick. Der Unterbau des...
Das Panel mit Informationen zur Verbindungssicherheit und blockierten Trackern, welches nach Tippen des Schild-Symbols in der Adressleiste erscheint, wurde komplett neu gestaltet.
Firefox zeigt jetzt in Form einer Leiste an, wenn die durch Firefox erfolgte Übersetzung einer Website dargestellt wird.
Der QR-Code-Scanner hat eine Zurück-Schaltfläche erhalten, um das Verlassen dieser Ansicht zu erleichtern, wenn die System-Buttons von Android nicht dargestellt werden.
Der Lesezeichen-Bildschirm zeigt nun für alle Ordner an, wie viele Lesezeichen sich darin befinden.
Dazu kommen weitere neue Plattform-Features der aktuellen GeckoView-Engine, diverse Fehlerbehebungen, geschlossene Sicherheitslücken sowie Verbesserungen unter der Haube.
Keine Unterstützung mehr für sehr alte Geräte
Firefox 144 läuft nicht länger auf Geräten mit Android 5 bis Android 7 als Betriebssystem sowie auf Geräten mit einer 32-Bit x86-CPU.
Firefox für Android in Huawei AppGallery verfügbar
Firefox für Android ist für Nutzer eines Huawei-Smartphones ab sofort auch in der Huawei AppGallery verfügbar.
Ein Monat nach dem Start von Version 49 hat das GNOME Projekt nun das erste Wartungsupdate veröffentlicht. GNOME 49.1 konzentriert sich vor allem auf Fehlerbehebungen und Leistungsverbesserungen, die den Alltag am Desktop spürbar angenehmer machen sollen. Im Mittelpunkt stehen dabei GNOME Shell und der Fenstermanager Mutter. Beide Komponenten erhalten zahlreiche Korrekturen, die die Reaktionsgeschwindigkeit verbessern. […]
Seit über 30 Jahren nutze ich Linux, und knapp 25 Jahre davon war die bash meine Shell. Ein eigener Prompt, der das aktuelle Verzeichnis farbig anzeigte, was das Maß der Dinge :-)
Mein Umstieg auf die zsh hatte mit Git zu tun: Die zsh in Kombination mit der Erweiterung Oh my zsh gibt im Prompt direktes Feedback über den Zustand des Repositories (aktiver Zweig, offene Änderungen). Außerdem agiert die zsh in vielen Details »intelligenter« (ein viel strapazierter Begriff, ich weiß) als die bash. Es macht ein wenig Arbeit, bis alles so funktioniert wie es soll, aber ich war glücklich mit meinem Setup.
Seit ein paar Monaten habe ich die Default-Shell meiner wichtigsten Linux-Installationen neuerlich gewechselt. Ich gehöre jetzt zum rasch wachsenden Lager der fish-Fans. fish steht für Friendly Interactive Shell, und die Shell wird diesem Anspruch wirklich gerecht. fish bietet von Grund auf eine Menge Features, die zsh plus diverse Plugins inklusive Oh my zsh erst nach einer relativ mühsamen Konfiguration beherrschen. Die Inbetriebnahme der fish dauert bei den meisten Distributionen weniger als eine Minute — und die Defaultkonfiguration ist so gut, dass weitere Anpassungen oft gar nicht notwendig sind. Und sollte das doch der Fall sein, öffnet fish_config einen komfortablen Konfigurationsdialog im Webbrowser (außer Sie arbeiten in einer SSH-Session).
Die Stärken der fish im Vergleich zu bash und zsh haben aus meiner Sicht wenig mit der Funktionalität zu tun; einige Features der fish lassen sich auch mit bash-Hacks erreichen, fast alle mit zsh-Plugins. Der entscheidende Vorteil ist vielmehr, dass die fish out of the box zufriedenstellend funktioniert. Für mich ist das deswegen entscheidend, weil ich viele Linux-Installationen verwende und keine Zeit dafür habe, mich jedesmal mit dem Shell-Setup zu ärgern. Deswegen hatte ich in der Vergangenheit auf meinen wichtigsten Installationen zsh samt einer maßgeschneiderten Konfiguration, auf allen anderen aber der Einfachheit halber die bash oder eine unkonfigurierte zsh-Installation.
Auf den ersten Blick sieht die »fish« aus wie jede andere Shell
Installation
Die Installation ist schnell erledigt. Alle gängigen Distributionen stellen fish als Paket zur Verfügung. Also apt/dnf install fish, danach:
chsh -s $(which fish)
Aus- und neu einloggen, fertig.
Falls Ihnen die fish doch nicht zusagt, ist die bisherige Shell ebenso schnell mit chsh -s $(which bash) oder chsh -s $(which zsh) reaktiviert.
Features
Im Prinzip verhält sich die fish wie jede andere Shell. Insbesondere gelten die üblichen Mechanismen zum Start von Kommandos, zur Ein- und Ausgabeumleitung mit < und >, zur Bildung von Pipes mit | sowie zur Verarbeitung von Kommandoergebnissen mit $(cmd). Was ist also neu?
Während der Eingabe verwendet die fish Farben, um verschiedene Bestandteile Ihres Kommandos (z.B. Zeichenketten) zu kennzeichnen. Das sieht nett aus, der entscheidende Vorteil ist aber, dass Sie oft Tippfehler erkennen, bevor Sie Return drücken: Kommandos, die es gar nicht gibt, werden rot hervorgehoben, ebenso nicht geschlossene Zeichenketten. (Die Farben sind vom aktiven Farbschema abhängig.)
Die Vervollständigung von Kommandos, Optionen, Datei- und Variablennamen mit der Tabulator-Taste ist noch »intelligenter« als bei bash und zsh. fish greift dazu auf über 1000 *.fish-Dateien im Verzeichnis /usr/share/fish/completions zurück, die Regeln für alle erdenklichen Fälle enthalten und mit jeder fish-Version erweitert werden. Die fish zeigt sogar kurze Hilfetexte an (siehe die folgende Abbildung). Wenn es viele mögliche Vervollständigungen gibt, zeigt fish diese in mehreren Spalten an. Sie können mit den Cursortasten das gewünschte Element auswählen.
Bei der Eingabe von Kommandos durchsucht die fish die History, also eine Datei, in der alle zuletzt ausgeführten Kommandos gespeichert wurden. In etwas blasserer Schrift schlägt es das passendste Kommando vor. Die fish berücksichtigt dabei auch den Kontext (welches Verzeichnis ist aktiv, welche Kommandos wurden vorher ausgeführt) und schlägt oft — fast schon ein wenig unheimlich — das richtige Kommando vor. Wenn Sie dieses Kommando ausführen möchten, vervollständigen Sie die Eingabe mit Cursor rechts (nicht Tabulator!) und drücken dann Return. Durch ähnliche Kommandos können Sie mit den Cursortasten blättern.
Alternativ können Sie auch mit Strg+R suchmuster nach früher ausgeführten Kommandos suchen. Die fish sucht nach dem Muster nicht nur in den Anfangsbuchstaben, sondern in den gesamten Zeichenketten der History.
Wenn das aktuelle Verzeichnis Teil eines Git-Repositories ist, zeigt fish den Namen des aktuellen Zweigs in Klammern an. (Wenn Sie mehr Git-Infos sehen wollen, ändern Sie die Prompt-Konfiguration.)
Die »fish« zeigt Hilfetexte zu allen »mysql«-Optionen an, die mit »–default« beginnen.
Globbing-Eigenheiten
In Shells wird die Umwandlung von *.txt in die Liste passender Dateinamen als »Globbing« bezeichnet. Die fish verhält sich dabei fast gleich wie die bash — aber mit einem kleinen Unterschied: Wenn es keine passenden Dateien gibt (z.B. keine einzige Datei mit der Endung .txt), löst die fish einen Fehler aus. Die bash übergibt dagegen das Muster — also *.txt — an das Kommando und überlässt diesem die Auswertung. In der Regel tritt der Fehler dann dort auf. Also kein großer Unterschied?
Es gibt Sonderfälle, in denen das Verhalten der bash günstiger ist. Stellen Sie sich vor, Sie wollen mit scp alle *.png-Dateien von einem externen Rechner auf Ihren lokalen Rechner übertragen:
scp externalhost:*.png .
In der bash funktioniert das wie gewünscht. Die fish kann aber mit externalhost:*.png nichts anfangen und löst einen Fehler aus. Abhilfe: Sie müssen das Globbing-Muster in Anführungszeichen stellen, also:
scp "externalhost:*.png" .
Analoge Probleme können auch beim Aufruf von Paketkommandos auftreten. apt install php8-* funktioniert nicht, wohl aber apt install "php8-*". Hintergründe zum Globbing-Verhalten können Sie hier nachlesen:
Tastenkürzel
Grundsätzlich gelten in der fish dieselben Tastenkürzel wie in der bash. In der fish gibt es darüberhinaus weitere Kürzel, von denen ich die wichtigsten hier zusammengestellt habe. bind oder fish_config (Dialogblatt bindings) liefert eine wesentlich längerer Liste aller Tastenkürzel. Beachten Sie, dass es vom Desktopsystem und vom Terminal abhängt, ob die Alt-Tastenkürzel wirklich funktionieren. Wenn die Kürzel vom Terminal oder dem Desktopsystem verarbeitet werden, erreichen Sie die fish nicht.
Kürzel Bedeutung
------------------ -------------------------------------------------------
Alt+Cursor links führt zurück ins vorige Verzeichnis (prevd)
Alt+Cursor rechts macht die obige Aktion rückgängig (nextd)
Alt+E öffnet den Dateinamen mit $EDITOR
Alt+H oder F1 zeigt die man-Seite zum eingegebenen Kommando an (Help)
Alt+L führt ls aus
Alt+P fügt der Eingabe &| less hinzu (Pager)
Alt+S fügt sudo am Beginn der Eingabe ein
Alt+W zeigt Aliasse und eine Beschreibung des Kommandos (What is?)
Noch eine Anmerkung zu Alt+S: In meiner Praxis kommt es ständig vor, dass ich sudo vergesse. Ich führen also dnf install xy aus und erhalte die Fehlermeldung, dass meine Rechte nicht ausreichen. Jetzt drücke ich einfach Alt+S und Return. Die fish stellt sudo dem vorigen, fehlgeschlagenen Kommando voran und führt es aus.
Konfiguration
Das Kommando fish_config öffnet einen Konfigurationsdialog im Webbrowser. Falls Ihr Webbrowser gerade minimiert ist, müssen Sie das Fenster selbst in den Vordergrund bringen. Im Browser können Sie nun ein Farbenschema auswählen, noch mehr Informationen in den Prompt integrieren, die Tastenkürzel nachlesen etc.
In SSH-Sessions scheitert der Start eines Webbrowsers. In diesem Fall können Sie mit fish_config prompt bzw. fish_config theme das Promptaussehen und das Farbschema direkt im Textmodus verändern.
fish-Konfiguration im Webbrowser
Wenn Sie Änderungen durchführen, werden diese im Terminal mit set -U fish_xxx newvalue ausgeführt und in Konfigurationsdateien in .config/fish gespeichert, insbesondere in:
Das Gegenstück zu .bashrc oder .zshrc ist die Datei .config/fish/config.fish. Das ist der richtige Ort, um eigene Abkürzungen zu definieren, den PATH zu erweitern etc. config.fish enthält einen vordefinierten if-Block für Einstellungen, die nur für interaktive fish-Sessions relevant sind. Alle anderen Einstellungen, die z.B. in Scripts gelten sollen, führen Sie außerhalb durch. Das folgende Listing zeigt ein paar typische Einstellungen:
# Datei .config/fish/config.fish
...
# PATH ändern
fish_add_path ~/bin
fish_add_path ~/.local/bin
# keine fish-Welcome-Nachricht
set -U fish_greeting ""
# Einstellungen nur für die interaktive Nutzung
if status is-interactive
# abr statt alias
abbr -a ls eza
abbr -a ll 'eza -la'
abbr -a gc 'git commit'
# Lieblingseditor
set -gx EDITOR /usr/bin/jmacs
end
Das obige Listing zeigt schon, das die fish gängige Einstellungen anders handhabt als bash und zsh:
Abkürzungen: Anstelle von alias sieht die fish das Kommando abbr vor. alias steht auch zur Verfügung, von seinem Einsatz wird aber abgeraten. abbr unterscheidet sich durch ein paar Details von alias: Die Expansion in das Kommando erfolgt bereits, wenn Sie Return drücken. Sie sehen daher, welches Kommando wirklich ausgeführt wird, und dieses Kommando (nicht die Abkürzung) wird in der History gespeichert.
PATH-Änderungen: Sie müssen die PATH-Variable nicht direkt verändern, sondern können stattdessen fish_add_path aufrufen. Ihr Pfad wird am Ende hinzugefügt, wobei die Funktion sicherstellt, dass es keine Doppelgänger gibt.
Variablen (set): Die Optionen des set-Kommandos zur Einstellung von Variablen funktionieren anders als in der bash:
-g: Die Variable ist in der gesamten fish-Session zugänglich (Global Scope), nicht nur in einer Funktion oder einem Block.
-x: Die Variable wird an Subprozesse weitergegeben (Export).
-U: Die Variable wird dauerhaft in .config/fish/fish_variables gespeichert und gilt daher auch für künftige fish-Sessions (Universal). Sie wird aber nicht exportiert, es sei denn, Sie verwenden -Ux.
-l: Definiert eine lokale Variable, z.B. innerhalb einer Funktion.
Zusätzliche eingebaute Kommandos
Jede Shell hat eine Menge integrierter Kommandos wie cd, if oder set. In der fish können Sie mit builtin -n alle derartigen Kommandos auflisten. Die meisten Kommandos entsprechen exakt den bash- und zsh-Vorgaben. In der fish gibt es aber einige originelle Erweiterungen: math führt einfache Berechnungen aus, random produziert ganzzahlige Zufallszahlen, string manupuliert Zeichenketten ohne die umständliche Parametersubstitution, path extrahiert Komponenten aus einem zusammengesetzten Dateinamen, count zählt Objekte (vergleichbar mit wc -l etc. Das folgende Listing zeigt die Anwendung dieser Kommandos:
math "2.5 * 3.8"
9.5
string split " " "lorem ipsum dolor est"
lorem
ipsum
dolor
est
string replace ".png" ".jpg" file1.png file2.png file3.png
file1.jpg
file2.jpg
file3.jpg
string sub -s 4 -e 8 "abcdefghijkl" # Start und Ende inklusive
defgh
path basename /home/kofler/images/img_234.png
img_234.png
path dirname /home/kofler/images/img_234.png
/home/kofler/images
path extension /home/kofler/images/img_234.png
.png
random 1 100
13
random choice a b c
c
count * # das aktuelle Verzeichnis hat
# 32 Dateien/Verzeichnisse
32
ps ax | count # gerade laufen 264 Prozesse
264
Programmierung
Die Bezeichnung Friendly Interactive Shell weist schon darauf hin: Die fish ist für die interaktive Nutzung optimiert, nicht für die Programmierung. Die fish unterstützt aber sehr wohl auch die Script-Programmierung. Diese ist insofern attraktiv, weil die fish-Entwickler auf maximale Kompatibilität verzichtet haben und die schlimmsten Syntaxungereimtheiten der bash behoben haben. fish-Scripts sind daher ungleich leichter zu verstehen als bash-Scripts. Umgekehrt heißt das leider: fish-Scripts sind inkompatibel zu bash und zsh und können nur ausgeführt werden, wo die fish zur Verfügung steht. Für mich ist das zumeist ein Ausschlusskriterium.
Anstelle einer systematischen Einführung will ich Ihnen hier anhand eines Beispiels die Vorteile der fish beim Programmieren nahebringen. Das Script ermittelt die Anzahl der Zeilen für alle *.txt-Dateien im aktuellen Verzeichnis. (Ich weiß, wc -l *.txt wäre einfacher; es geht hier nur darum, diverse Syntaxeigenheiten in wenig Zeilen Code zu verpacken.) Die bash-Variante könnte so aussehen:
#!/bin/bash
files=(*.txt)
if [ ${#files[@]} -eq 0 ]; then
echo "No .txt files found"
exit 1
fi
for file in "${files[@]}"; do
if [ -f "$file" ]; then
lines=$(wc -l < "$file")
echo "$file: $lines lines"
fi
done
Das äquivalente fish-Script ist deutlich besser lesbar:
#!/usr/bin/env fish
set files *.txt
if not count $files > /dev/null
echo "No .txt files found"
exit 1
end
for file in $files
if test -f $file
echo "$file: "(count < $file)" lines"
end
end
Auf ein paar Details möchte ich hinweisen:
Kontrollstrukturen werden generell mit end abgeschlossen, nicht mit fi für if oder mit esac für case.
Bedingungen für if, for etc. müssen weder in eckige Klammern gestellt noch mit einem Strichpunkt abgeschlossen werden.
Die fish verarbeitet Variablen korrekt selbst wenn sie Dateinamen mit Leerzeichen enthalten. Es ist nicht notwendig, sie in Anführungszeichen zu stellen (wie bei "$file" im bash-Script).
Wenn Sie in eigenen Scripts Optionen und andere Parameter verarbeiten möchten, hilft Ihnen dabei das Builtin-Kommando argparse. Eine gute Zusammenstellung aller Syntaxunterschiede zwischen bash und fish gibt die fish-Dokumentation.
Paketmanager fisher
Das Versprechen von fish ist ja, dass fast alles out-of-the-box funktioniert, dass die Installation von Zusatzfunktionen und deren Konfiguration ein Thema der Vergangenheit ist. Aber in der Praxis tauchen trotzdem immer Zusatzwünsche auf. Mit dem Paketmanager fisher können Zusatzmodule installiert werden. Eine Sammlung geeigneter Plugins finden Sie hier.
Die Geschichte von fish
Die fish ist erst in den letzten Jahren so richtig populär geworden. Das zeigt, dass es auch in der Linux-Welt Modetrends gibt. fish ist nämlich alles andere als neu. Die erste Version erschien bereits 2005.
fish wurde ursprünglich in C entwickelt, dann nach C++ und schließlich nach Rust portiert. Erst seit Version 4.0 (erschienen im Februar 2025) besteht fish ausschließlich aus Rust-Code sowie in fish selbst geschriebenen Erweiterungen.
Fazit
Die fish punktet durch die gut durchdachte Grundkonfiguration und die leichte Zugänglichkeit (Konfiguration und Hilfe im Webbrowser). Es gibt nicht das eine Feature, mit dem sich die fish von anderen Shells abhebt, es ist vielmehr die Summe vieler, gut durchdachter Kleinigkeiten und Detailverbesserungen. Das Arbeiten in der fish ist intuitiver als bei anderen Shells und macht mehr Spaß. Probieren Sie es aus!
Bei der Programmierung ist die fish inkompatibel zu anderen Shells und insofern kein Ersatz (auch wenn die fish-eigenen Features durchaus spannend sind). Zur Ausführung traditioneller Shell-Scripts brauchen Sie weiterhin eine traditionelle Shell, am besten die bash.
Mozilla testet Firefox VPN, einen in den Browser integrierten kostenfreien VPN-Dienst. Im Gegensatz zum kostenpflichtigen Mozilla VPN schützt Firefox VPN nur den Verkehr im Browser.
Mozilla hat die neue Version 144 seines bekannten E Mail Programms Thunderbird veröffentlicht. Die kostenlose und quelloffene Anwendung steht ab sofort zum Download bereit und bringt zahlreiche Korrekturen sowie Verbesserungen bei Leistung und Sicherheit. Eine der auffälligsten Änderungen betrifft die Zuverlässigkeit im Alltag. Texte aus Fehlermeldungen lassen sich nun korrekt kopieren, und ein Problem mit […]
Mozilla hat Firefox 144 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.
Chronik, Lesezeichen, Passwörter und mehr speichert Firefox in einem sogenannten Profil. Während Firefox das Konzept von Profilen bereits seit der allerersten Version kennt, handelte es sich dabei immer eher um ein Detail im Hintergrund. Mit den neuen Profilen samt neuer Profilverwaltung macht Mozilla dieses Feature sichtbarer und erlaubt einen schnellen Wechsel über das Menü. Dies kann zum Beispiel praktisch für Nutzer sein, die ihren Arbeits- von ihrem Privat-Firefox trennen wollen.
Im Gegensatz zu den „traditionellen“ Profilen kann den neuen Profilen ein Profilbild zugeordnet werden, welches in der Taskleiste über das Firefox-Symbol gelegt wird, was das parallele Arbeiten mit mehreren Profilen erleichtert. Außerdem bietet die neue Profilverwaltung direkt beim Erstellen eines neuen Profils eine Theme-Auswahl zwecks besserer Unterscheidung an. Optional kann Firefox auch mit einer Profilauswahl statt mit einem festgelegten Standard-Profil starten.
Bereits seit Firefox 138 rollt Mozilla dieses Feature aus, allerdings erst für einen sehr kleinen Teil der Firefox-Nutzer. In der Zwischenzeit gab es weitere Verbesserungen. Ab Firefox 144 und über die kommenden Wochen soll eine flächendeckende Ausrollung für Nutzer von Windows 11, macOS und Linux erfolgen. Nutzer von Windows 10 müssen länger auf dieses Feature warten.
KI-Suchmaschine Perplexity
Seit Firefox 139 rollt Mozilla Perplexity als Suchmaschine in Firefox aus – allerdings erst für 25 Prozent der Nutzer in Deutschland, den USA sowie Großbritannien. Im Laufe der kommenden Wochen soll Perplexity flächendeckend für alle Nutzer ausgerollt werden.
Perplexity unterscheidet sich von traditionellen Suchmaschinen dadurch, dass man nicht seitenweise Listen als Ergebnis erhält, sondern KI-basierte Antworten in natürlicher Sprache.
Verbesserungen der Übersetzungsfunktion
Es ist nicht direkt eine Verbesserung von Firefox 144, weil die Ausrollung unabhängig von Firefox-Versionen erfolgt. Da es zeitlich aber ungefähr zusammenfällt, sei an dieser Stelle erwähnt, dass Mozilla durch neu trainierte Sprachmodelle die Qualität zahlreicher Sprachen für die Übersetzung von Websites verbessert hat. Mit Isländisch, Aserbaidschanisch und Bengali werden außerdem drei weitere Sprachen unterstützt.
Mehr Sicherheit für Firefox-Nutzer
Firefox nutzt nicht länger den 3DES-CBC-Algorithmus zum Speichern von Passwörtern, sondern das modernere AES-256-CBC, was die Sicherheit der lokal gespeicherten Daten deutlich erhöht.
Auch wurden in Firefox 144 wieder mehrere Sicherheitslücken geschlossen. Alleine aus Gründen der Sicherheit ist ein Update auf Firefox 144 daher für alle Nutzer dringend empfohlen.
Sonstige Endnutzer-Neuerungen in Firefox 144
Der aktive Tab ist nun immer sichtbar, auch wenn sich dieser in einer zusammengeklappten Tab-Gruppe befindet. Außerdem können Tabs nun in eine zusammengeklappte Tab-Gruppe verschoben werden, ohne, dass diese sich automatisch öffnet.
Der Bild-im-Bild-Modus für Videos kann jetzt auch beendet werden, ohne das Video zu pausieren. Dafür muss die Schließen-Schaltfläche geklickt oder die ESC-Taste betätigt werden, während die Shift-Taste gehalten wird.
Unter Windows verwendet Firefox beim Öffnen eines Links aus einer anderen Anwendung nur ein Fenster auf dem aktuellen virtuellen Desktop oder öffnet bei Bedarf ein neues Fenster.
Deaktivierung von KI-Funktionen und Google Lens
Firefox 144 unterstützt neue Unterehmensrichtlinien zur Deaktivierung diverser KI-Funktionen sowie zur Deaktivierung der inversen Bildersuche via Google Lens. Diese Richtlinien werden bereits vom Enterprise Policy Generator unterstützt.
Verbesserungen der Entwicklerwerkzeuge
Im Inspektor ist es in der Anzeige der CSS-Deklarationen nun möglich, über ein Symbol neben CSS-Variablen direkt zur Definition der jeweiligen Variable zu springen.
Im Events-Tooltip des Inspektors werden benutzerdefinierte Events nun entsprechend gekennzeichnet, um sie leichter von nativen DOM-Events unterscheiden zu können.
Wird über about:config die Option devtools.anti-tracking.enabled auf true gesetzt, kann in den Entwicklerwerkzeugen ein neues „Anti tracking“-Panel genutzt werden, welches die Ressourcen anzeigt, welche durch den Tracking-Schutz von Firefox blockiert worden sind. Diese können dann individuell auch entblockt und wieder geblockt werden.
Verbesserungen der Webplattform und für Erweiterungs-Entwickler
Firefox unterstützt jetzt die View Transitions API Level 1. Die View Transitions API bietet einen Mechanismus zum einfachen Erstellen animierter Übergänge zwischen verschiedenen Website-Ansichten.
Weitere Verbesserungen der Webplattform und für Erweiterungsentwickler lassen sich wie immer in den MDN Web Docs nachlesen.
Letzte Version für 32-Bit-Linux
Firefox 144 ist die letzte Firefox-Version, welche auf Linux-Systemen mit 32-Bit-CPU verwendet werden kann. Die meisten Linux-Distributionen und Browser unterstützen solche Systeme schon seit langer Zeit nicht mehr. Wenn am 11. November 2025 Firefox 145 erscheinen wird, wird für Linux-Nutzer eine 64-Bit-CPU vorausgesetzt. Firefox ESR 140, die Firefox-Version mit Langzeit-Unterstützung, wird weiterhin und bis mindestens September 2026 auf Linux-Systemen mit 32-Bit-CPU laufen.
Mit dem heutigen Tag endet die Unterstützung für Windows 10 in vielen Ländern. Millionen Rechner erfüllen nicht die hohen Hardwareanforderungen von Windows 11 und verlieren damit den offiziellen Support. Für viele Betroffene stellt sich nun die Frage: Neues Gerät kaufen oder auf ein modernes System umsteigen? Genau hier setzt das frisch veröffentlichte Zorin OS 18 […]