Tux-Tage 2025 (Samstag, Track B)

--------------------
Links:
Offizielle Webseite: https://www.tux-tage.de/
Programm: https://www.tux-tage.de/programm
Shop: https://tux-tage.myspreadshop.de/



Ein E-Mail-Umzug von einem Server auf einen anderen gehört zu den Aufgaben, die oft unterschätzt werden. Wer schon einmal versucht hat, ein E-Mail-Konto auf einen neuen Mailserver zu übertragen, kennt die typischen Probleme: unterschiedliche IMAP-Server, abweichende Login-Methoden, große Postfächer oder das Risiko, E-Mails doppelt oder gar nicht zu übertragen.
Für eine saubere und zuverlässige E-Mail-Migration gibt es jedoch ein bewährtes Open-Source-Tool: imapsync. Mit imapsync lassen sich komplette IMAP-Konten effizient und sicher von einem Server auf einen anderen synchronisieren – ohne Datenverlust und mit minimaler Ausfallzeit. Ob beim Providerwechsel, beim Umzug auf einen eigenen Mailserver oder beim Zusammenführen mehrerer Postfächer: imapsync bietet eine stabile und flexible Lösung für jede Art von Mailserver-Migration.
In diesem Artikel zeige ich Schritt für Schritt, wie imapsync funktioniert, welche Parameter in der Praxis wichtig sind und wie du deinen E-Mail-Umzug stressfrei und automatisiert durchführen kannst.
So einem Umzug von einem E-Mail-Server zu einem anderen mit einem Terminal-Programm zu machen, klingt etwas verrückt. In Wirklichkeit ist das aber eine große Stärke, da imapsync während der Übertragung bereits wertvolle Statusmeldungen ausgibt und man die Statistik im Blick behält.
Theoretisch lässt sich das Programm via Eingabe verschiedener Flags bedienen. Für mich hat sich aber bewährt, dass man es mit einem einfachen Skript ausführt. In aller Regel zieht man ja kein einzelnes Postfach um, sondern mehrere E-Mail-Konten. Motivation könnte zum Beispiel eine Änderung der Domain oder der Wechsel des Hosters sein. Aber selbst bei Einzelkonten empfehle ich die Benutzung des Skripts, weil sich hier die Zugangsdaten übersichtlich verwalten lassen.
Was imapsync jetzt macht, ist ziemlich straight-forward: Es meldet sich auf dem ersten Host („alter Server“) an, checkt erstmal die Ordnerstruktur, zählt die E-Mails und verschafft sich so einen Überblick. Hat man bereits die Zugangsdaten für den zweiten Host („neuer Server“), tut er das gleiche dort. Danach überträgt die Software die E-Mails von Host 1 auf Host 2. Bereits übertragene Mails werden dabei berücksichtigt. Man kann den Umzug also mehrfach starten, es werden nur die noch nicht übertragenen Mails berücksichtigt.
Die Webseite von imapsync ist auf den ersten Blick etwas ungewöhnlich, worauf der Entwickler auch stolz ist. Wenn man aber genauer hinsieht, merkt man die gute Dokumentation. Es werden auch Spezialfälle wie Office 365 von Microsoft oder Gmail behandelt.

Die Software gibt es für Windows, Mac und Linux. Die Installation unter Ubuntu ist für geübte Benutzer recht einfach, auch wenn die Software nicht in den Paketquellen vorkommt. Github sei Dank.
sudo apt-get installlibauthen-ntlm-perl libclass-load-perllibcrypt-openssl-rsa-perl libcrypt-ssleay-perllibdata-uniqid-perl libdigest-hmac-perl libdist-checkconflicts-perl libencode-imaputf7-perl libfile-copy-recursive-perl libfile-tail-perl libio-compress-perl libio-socket-inet6-perl libio-socket-ssl-perl libio-tee-perllibjson-webtoken-perl libmail-imapclient-perl libmodule-scandeps-perl libnet-dbus-perllibnet-dns-perl libnet-ssleay-perllibpar-packer-perllibproc-processtable-perl libreadonly-perllibregexp-common-perl libsys-meminfo-perl libterm-readkey-perllibtest-fatal-perllibtest-mock-guard-perl libtest-mockobject-perl libtest-pod-perllibtest-requires-perl libtest-simple-perl libunicode-string-perlliburi-perl libtest-nowarnings-perl libtest-deep-perl libtest-warn-perl make time cpanminus
wget -N https://raw.githubusercontent.com/imapsync/imapsync/master/imapsync
chmod +x imapsync
sudo cp imapsync /usr/bin/
Die Installation ist nun fertig und systemweit verfügbar.
Für den Umzug von einem Server zum anderen braucht man – wenig überraschend – jeweils die Zugangsdaten. Diese beinhalten IMAP-Server, Benutzername und Passwort. Das wars. Es empfiehlt sich, mit einem echten Host 1 zu starten, als Host 2 aber erstmal einen Testaccount zu verwenden.
Ich orientiere mich an den Empfehlungen des Programmierers und erstelle zunächst eine Datei mit den jeweiligen Zugangsdaten. Genau wie im Beispielskript verwende ich eine siebte, unnötige Spalte. Sie endet die Zeilen ordentlich ab, ohne dass man ein Problem mit den Zeilenumbruch zu erwarten hat.
Wir nennen die Datei file.txt. Jeweils die Einträge 1 bis 3 sind die Quelle, Spalten 4 bis 6 sind das Ziel.
host001_1;user001_1;password001_1;host002_1;user002_1;password002_1;;
host001_2;user001_2;password001_2;host002_2;user002_2;password002_2;;
Das Skript nennen wir mailumzug.sh und es enthält folgenden Inhalt.
echo Looping on accounts credentials found in file.txt
echo
line_counter=0
# Empty the error listing
> file_failures.txt
{ while IFS=';' read h1 u1 p1 h2 u2 p2 extra fake
do
line_counter=`expr 1 + $line_counter`
{ echo "$h1" | tr -d '\r' | egrep '^#|^ *$' ; } > /dev/null && continue # this skip commented lines in file.txt
echo "==== Starting imapsync with --host1 $h1 --user1 $u1 --host2 $h2 --user2 $u2 $extra $@ ===="
echo Got those values from file.txt presented inside brackets: [$h1] [$u1] [$h2] [$u2] [$extra] [$fake]
if eval imapsync --host1 "$h1" --user1 "$u1" --password1 "$p1" \
--host2 "$h2" --user2 "$u2" --password2 "$p2" $extra "$@"
then
echo "success sync for line $line_counter "
else
echo "$h1;$u1;$p1;$h2;$u2;$p2;$extra;" | tee -a file_failures.txt
fi
echo "==== Ended imapsync with --host1 $h1 --user1 $u1 --host2 $h2 --user2 $u2 $extra $@ ===="
echo
done
} < file.txt
Das Skript wird aufgerufen via
sh mailumzug.sh
Es wird während der Überführung ein ausführliches Log geführt, das man im Nachgang auch als Text-Datei erhält. Viel Spaß!
The post E-Mail-Konto umziehen mit imapsync first appeared on bejonet - Linux | Smart Home | Technik.

Die Webseite des Ubuntu-Derivats Xubuntu wurde kürzlich manipuliert und lieferte Malware aus. Wer also in den vergangen drei Wochen etwas von der Webseite heruntergeladen hat, sollte nochmal nachschauen, was er sich denn konkret heruntergeladen hat. Nach jetziger Erkenntnis wurde wohl eine Windows-Malware (.exe) verbreitet, konkret ein sog. Crypto-Clipper, der nach dem Einnisten die Zwischenablage manipuliert, damit Kriminelle sich in Kryptowährungstranskationen als Empfänger eintragen.
Die Malware wurde zwar somit über die offiziellen Wege verteilt, aber ließ sich für den geübten Nutzer noch unterscheiden. Schlimmer wäre es gewesen, wenn eine manipulierte ISO-Datei verteilt worden wäre.
Aber was schützt uns überhaupt davor? Diese Frage ist tatsächlich gar nicht so einfach zu beantworten, wenn wir davon ausgehen müssen, dass Angreifer Zugang zur Homepage der Distribution erhalten.
Denn effektiv fällt die Checksum bzw. der Hash, sei sie MD5, SHA1, SHA256, SHA512, als Kriterium raus. Sie wird immerhin über den gleichen Weg übermittelt wie der Download selber und kann somit mitmanipuliert werden. Checksums eignen sich allenfalls zur Überprüfung, ob der Download vollständig ist. Damit erfüllen wir das Sicherheitsziel Integrität, aber nicht Authentizität.
Die richtige Antwort lautet natürlich Signatur, meist in Form einer GPG-Signatur, und birgt gleichzeitig eine neue Frage in sich: woher weiß ich denn, welchen Schlüssel bzw. Key das „echte“ Xubuntu-Team hat? Und damit drehen wir uns eigentlich wieder im Kreis, weil die Antwort in der Mehrzahl der Fälle wiederum auf eine Webseite hinausläuft, von der man sich den Key heruntergeladen hat.
An sich ist das aber ein altes Problem, für das es verschiedene dezentrale (Teil-)Lösungsvarianten gibt:
Jedes der Modelle hat Vor- und Nachteile und steht einer zentralisierten Struktur gegenüber: wir vertrauen einer CA und die sorgt schon davor, die Spreu vom Weizen zu trennen. Da landen wir bei EV-Zertifikaten oder Secure Boot.
Gibt es auf die Problematik eine allgemeine, zufriedenstellende Antwort? Wahrscheinlich nicht, wir mittelfristig keiner Distributionsseite mehr vertrauen können.
Im Falle von Ubuntu haben wir vereinfachende Bedingungen: Während die Webseite in Eigenregie durch das Xubuntu-Team läuft, wird für die ISOs die Infrastruktur von Ubuntu mitgenutzt, siehe releases.ubuntu.com oder cdimage.ubuntu.com. Darüber hinaus gibt es bei Ubuntu weitere Vertrauensanker, so hält z. B. Ubuntuusers auch eine Linksammlung vor.
Es zeigt aber, wie tiefgreifend Supply-Chain-Attacks ansetzen können. Das Beispiel warnt ähnlich wie bei der xz-Lücke, dass theoretische Angriffsszenarien mittlerweile mit hoher Wahrscheinlichkeit Realität werden. Und es wird auch hier wieder das schwächste Glied in der Kette angegriffen - nicht die (auch personell) gut bestückte Ubuntu-Infrastruktur selber mit der ISO-Datei, sondern die Webseite der Schwerdistribution, die dem Copyright zufolge ihre letzte große Überarbeitung in 2012 erfahren hat.

Mit ein wenig Verspätung ist Fedora 43 fertig. Ich habe in den letzten Monaten schon viel mit der Beta gearbeitet und war schon damit überwiegend zufrieden. Fedora 43 ist das erste weitgehend X-freie Release (X wie X Window System, nicht wie Twitter …), es gibt nur noch XWayland zur Ausführung von X-Programmen unter Wayland. Relativ neu ist das Installationsprogramm, auf das ich gleich näher eingehe. Es ist schon seit Fedora 42 verfügbar, aber diese Version habe ich in meinem Blog übersprungen.
Die folgenden Ausführungen beziehen sich auf Fedora 43 Workstation mit Gnome.

Das Installationsprogramm beginnt aus deutschsprachiger Sicht gleich mit einem Ärgernis: Zwar kann die Sprache mühelos auf Deutsch umgestellt werden, nicht aber das Tastaturlayout. Dazu verweist das Installationsprogramm auf die Systemeinstellungen. Dort müssen Sie nicht nur das gewünschte Layout hinzufügen, sondern auch das vorhandene US-Layout entfernen — vorher ist das Installationsprogramm nicht zufrieden. Das ist einigermaßen umständlich.

In virtuellen Maschinen wird bei der Installationsmethode (gemeint ist die Partitionierung des Datenträgers und das Einrichten der Dateisysteme) nur eine Option angezeigt: Gesamten Datenträger verwenden. Damit haben Sie weder Einfluss auf die Größe der Partitionen noch auf den Dateisystemtyp oder dessen Optionen. Das Standardlayout lautet: EFI-Partition (vfat), Boot-Partition (ext4) und Systempartition (btrfs mit zwei Subvolumes für / und /home und aktiver Komprimierung). Eine Swap-Partition gibt es nicht, Fedora verwendet schon seit einiger Zeit Swap on ZRAM.

Wenn Sie die Installation auf einem Rechner durchführen, auf dem schon Windows oder andere Linux-Distributionen installiert sind, wird die Auswahl größer:
Gesamten Datenträger verwenden löscht alle vorhandene Partitionen und richtet dann wie oben beschreiben EFI-, Boot- und Systempartition ein.
Zuweisung des Einhängepunkts bietet Linux-Profis die Möglichkeit, schon vorhandene Dateisysteme zu nutzen. Es gibt zwei Möglichkeiten, diese Dateisysteme einzurichten. Eine bietet der über den unscheinbaren Menü-Button erreichbare Speicher-Editor. Dort können Sie Partitionen, Logical Volumes, RAID-Setup und Dateisysteme samt Verschlüsselung einrichten. Es mangelt nicht an Funktionen, aber leider ist die Bedienung sehr unübersichtlich. Alle hier initiierten Aktionen werden sofort durchgeführt und können nicht rückgängig gemacht werden. Alternativ können Sie vorweg in einem Terminal mit parted Partitionen einrichten und dann mit mkfs.xxx darin die gewünschten Dateisysteme anlegen. Falls das Dateisystem verschlüsselt werden soll, müssen Sie sich auch darum selbst kümmern (Kommando cryptsetup). Das erfordert ein solides Linux-Vorwissen.


In der Speicher-Konfiguration können Sie das Dateisystem verschlüsseln (außer Sie haben sich im vorigen Schritt für die Zuweisung des Einhängepunkts entschieden). Zur Verschlüsselung geben Sie zweimal das Passwort an und stellen ein, welches Tastaturlayout beim Bootvorgang für die Eingabe dieses Passworts gelten soll.

Zuletzt zeigt das Installationsprogramm eine Zusammenfassung der Einstellungen ein. Ein Benutzeraccount samt Passwort wird erst später beim ersten Start von Gnome eingerichtet.

Alles in allem ist die Bedienung des neuen Programms zwar einfach, sie bietet aber zu wenig Optionen für eine technisch orientierte Distribution. Der aktuelle Trend vieler Distributionen besteht darin, den Installationsprozess auf Web-basierte Tools umzustellen. Die Sinnhaftigkeit erschließt sich für mich nicht, schon gar nicht, wenn dabei auch noch die Funktionalität auf der Strecke bleibt. Muss das Rad wirklich immer wieder neu erfunden werden?
Nach dem Neustart landen Sie in einen Assistenten, der bei der Grundkonfiguration von Gnome hilft: Sprache und Tastaturlayout noch einmal bestätigen, Zeitzone einstellen etc. Vollkommen missglückt ist das Dialogblatt zur Aktivierung von Drittanbieter-Softwarequellen. Gemeint sind damit die RPM-Fusion-Paketquellen mit Paketen und Treibern (z.B. für NVIDIA-Grafikkarten), die nicht dem Open-Source-Modell entsprechen. Im Zentrum des Bildschirms befindet sich ein Toggle-Button mit den Zuständen aktivieren oder deaktivieren. Es ist unmöglich zu erkennen, ob Sie den Button zur Aktivierung drücken müssen oder ob dieser den Zustand »bereits aktiv« ausdrückt. (Auflösung: Sie müssen ihn nicht drücken. Wenn mit blauem Hintergrund »aktivieren« angezeigt wird, werden die zusätzlichen Paketquellen mit Weiter eingerichtet.)

Erst jetzt werden Sie dazu aufgefordert, einen Benutzer einzurichten, der dann auch sudo-Rechte erhält. Sobald Sie alle Daten samt Passwort festgelegt haben, können Sie sich einloggen und mit Fedora loslegen.

Um den Hostname hat sich weder das Installationsprogramm noch der Setup-Assistent gekümmert. Außerdem sollten Sie gleich ein erstes Update durchführen:
sudo hostnamectl set-hostname <name>
sudo dnf update
Die Partitionierung eines zuvor leeren Systems sieht so aus:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
zram0 251:0 0 3,8G 0 disk [SWAP]
vda 253:0 0 32G 0 disk
├─vda1 253:1 0 600M 0 part /boot/efi
├─vda2 253:2 0 1G 0 part /boot
└─vda3 253:3 0 30,4G 0 part /home
/
cat /etc/fstab
UUID=8ecb5756-a227-47e4-bb45-bf7087952ff5 / btrfs subvol=root,compress=zstd:1 0 0
UUID=32281370-1a5c-4440-8e16-60715e191080 /boot ext4 defaults 1 2
UUID=E969-E24F /boot/efi vfat umask=0077,shortname=winnt 0 2
UUID=8ecb5756-a227-47e4-bb45-bf7087952ff5 /home btrfs subvol=home,compress=zstd:1 0 0
Die folgende Tabelle fasst die Versionen der Kernkomponenten von Fedora 43 zusammen:
Basis Programmierung Server
--------------- -------------- --------------------------
Kernel 6.17 bash 5.3 Apache 2.4
glibc 2.42 gcc 15.2 CUPS 2.4
Wayland 1.24 git 2.51 MariaDB 10.11 / MySQL 8.4
Gnome 49 Java 25 OpenSSH 10.0
Mesa 25.2 PHP 8.4 PostgreSQL 18
Systemd 258 Podman 5.6 Postfix 3.10
NetworkMan 1.54 Python 3.14 qemu/KVM 10.1
GRUB 2.12 Node.js 22 Samba 4.23
Die einzige Auffälligkeit ist die komplett veraltete MariaDB-Version. Aktuell ist 12.0, Debian verwendet immerhin 11.8. Die von Fedora eingesetzte Version 10.11 wurde im Februar 2023 (!!) veröffentlicht.
Dafür enthält Fedora mit Version 8.4 eine ganz aktuelle MySQL-Version. Generell steht MySQL erst seit Fedora 41 wieder regulär in Fedora zur Verfügung; ältere Versionen waren MariaDB-only.
Wenn man von durch Software-Updates verbundenen optischen Änderungen absieht (z.B. in Gnome), gibt es relativ wenig technische Änderungen, und noch weniger davon sind sichtbar.
Gnome und gdm sind seit Version 49 Wayland-only. Darüber wurde in den letzten Wochen schon viel geschrieben. Seit die NVIDIA-Treiber endlich Wayland-kompatibel sind, ist der Abschied von X nicht mehr aufzuhalten. (Persönlich vermisse ich X nicht. Die meisten Linux-Anwender werden keinen Unterschied bemerken bzw. arbeiten ohnedies schon seit zwei, drei Releases mit Wayland, ohne es zu wissen …)
Fedora 43 verwendet erstmals RPM 6.0 als Basis zur Verpackung von Software-Paketen. Daraus ergeben sich neue Möglichkeiten beim Signieren von Paketen, aber an der Anwendung des rpm-Kommandos (das Sie ohnedies selten benötigen werden, es gibt ja dnf) ändert sich nichts.
Distributions-Upgrades auf die neue Fedora-Version können Sie jetzt äußerst komfortabel direkt im Gnome-Programm Software starten.

Wie bisher können Sie natürlich auch auf die folgende Kommandoabfolge zurückgreifen:
sudo dnf update
sudo dnf repolist --releasever 43
sudo dnf system-upgrade download --releasever 43
sudo dnf offline reboot
Auf UEFI-Systemen setzt das Installationsprogramm nun eine GPT-Partitionierung voraus (nicht MBR).
Die /boot-Partition wird mit 2 GiB großzügiger als bisher dimensioniert, um Platz für zukünftige neue Boot-Systeme zu schaffen.
dnf module gibt es nicht mehr, weil das Modularity-Projekt eingestellt wurde. Bei Fedora ist das weniger schade als bei RHEL, wo ich dieses Feature wirklich vermisse.
dracut, das Tool zum Erzeugen von initramfs-Dateien, verwendet nun zstd statt xz zum Komprimieren der Dateien. Das macht die Boot-Dateien größer, aber den Boot-Vorgang schneller.
Ich habe in den letzten Monaten sehr viel unter Fedora gearbeitet. Fedora ist dabei zu meiner zweiten Lieblingsdistribution geworden (neben Arch Linux). Im Betrieb gab es eigentlich nichts auszusetzen. Auch die Distributions-Upgrades haben mehrfach gut funktioniert: Ich habe zuletzt eine physische Installation von Fedora 41 auf 42 und vorgestern auf 43 aktualisiert. Zwischenzeitlich hat sich sogar der Rechner geändert, d.h. ich habe die SSD bei einem Rechner aus- und bei einem anderen Rechner wieder eingebaut. Hat alles klaglos funktioniert.
Das neue Installationsprogramm (neu schon seit der vorigen Version, also Fedora 42) ist aber definitiv ein Rückschritt — und das alte war schon keine Offenbarung. Bevor der Installer in Zukunft unter RHEL 11 zum Einsatz kommen kann, muss Red Hat noch viel nacharbeiten. Wie soll damit ein für den Server-Einsatz übliches RAID- oder LVM-Setup gelingen?
Der oft gehörten Empfehlung, Fedora sei durchaus für Einsteiger geeignet, kann ich deswegen nur teilweise zustimmen. Im Betrieb ist Fedora in der Tat so unkompliziert und stabil wie vergleichbare Distributionen (Debian, Ubuntu etc.). Für die Installation gilt dies aber nur, wenn Sie den gesamten Datenträger — z.B. eine zweite SSD — für Fedora nutzen möchten und mit dem vorgegebenen Default-Layout einverstanden sind. Unkompliziert ist natürlich auch die Installation in eine virtuelle Maschine. Aber jeder Sonderwunsch — ext4 statt btrfs, eine getrennte /home-Partition etc. — wird sofort zum Abenteuer. Schade.
Firefox Klar ist ein spezialisierter Privatsphäre-Browser von Mozilla. Für Apple iOS werden in Zukunft seltener Updates erscheinen.
Download Mozilla Firefox Klar für Apple iOS
Firefox Klar (internationaler Name: Firefox Focus) ist ein im Funktionsumfang gegenüber Firefox deutlich reduzierter Browser, bei dem Privatsphäre besonders im Vordergrund steht. Während vor zwei Wochen Firefox 144 für iOS, ebenso wie Firefox 144 für Android und auch Firefox Klar 144 für Android erschienen, sucht man nach Firefox Klar 144 für Apple iOS nach wie vor vergebens.
Wie Mozilla auf Nachfrage bestätigt hat, werden neue Versionen von Firefox Klar für iOS nicht länger parallel zu jedem Firefox-Update veröffentlicht. Ohnehin dürften die Updates in der Vergangenheit wenige bis teilweise vielleicht sogar keine Änderungen gehabt haben, da Firefox Klar einen bewusst sehr reduzierten Funktionsumfang hat, der gar nicht erweitert werden soll. Und da praktisch alle Browser auf iOS unter der Haube auf die Engine von Safari setzen, sind auch zwecks Webkompatibilität, anders als auf Android, keine Updates für Firefox Klar notwendig.
Sicherheits- und Bugfix-Updates sowie Anpassungen für neuere iOS-Versionen werden aber weiterhin erscheinen, wenn dies notwendig ist.
Der Beitrag Updates von Firefox Klar für Apple iOS erscheinen seltener erschien zuerst auf soeren-hentzschel.at.
Es ist schon eine logistische Herausforderung, wenn ein Buch mit nunmehr zwölf Autoren auf den neuesten Stand gebracht werden soll! Das hat uns natürlich nicht abhalten können. Diese Woche wird die vierte Auflage unseres Standardwerks mit fast 1300 Seiten an die Buchhandlungen ausgeliefert. Ich glaube, wir dürfen ein wenig stolz sein :-)
Die Inhalte sind auf dem neuesten Stand, aber das Konzept ist gleich geblieben: Wir wollen in diesem Buch zeigen, wie und mit welchen Tools Hacker und Pen-Tester arbeiten. Und Ihnen in logischer Konsequenz erklären, wie Sie sich gegen Angriffe bestmöglich schützen können. Ganz bewusst lassen wir es nicht beim klassischen Netzwerk-Hacking bewenden, sondern gehen auch auf Einfallsvektoren wie Cloud, IoT, Mobile Devices usw. ein.
Für die hier vierte Auflage haben wir das Buch umfassend aktualisiert und um viele neue Inhalte erweitert. Besonders erwähnen möchten wir:
Die wohl größte Neuerung im Vergleich zur vorigen Auflage besteht darin, dass KI-Tools 2022 noch exotisch waren, heute aber allgegenwärtig sind. KI-Tools werden sowohl von Hackern (Angriff) als auch zur Verbesserung der Sicherheit (Verteidigung) genutzt. Viele Kapitel enthalten Tipps und Hinweise zur Anwendung von KI-Werkzeugen.
Hier finden Sie mehr Infos zum Buch, den obligatorischen Bestell-Links sowie eine Leseprobe.
Mozilla hat Firefox 144.0.2 veröffentlicht und behebt damit mehrere Probleme der Vorgängerversion. Auch eine Sicherheitslücke wurde behoben.
Download Mozilla Firefox 144.0.2
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.
Mit dem Update auf Firefox 144.0.2 behebt Mozilla eine Sicherheitslücke.
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.
Der Beitrag Mozilla veröffentlicht Sicherheits-Update Firefox 144.0.2 erschien zuerst auf soeren-hentzschel.at.
Anknüpfend an den Artikel „Bilder unter Linux effizient per Kommandozeile skalieren“ möchte ich diesmal zeigen, wie man mehrere Bilder auf einmal zur Weiterverarbeitung umbenennen kann.
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.
Auf einem Ubuntu-System erfolgt die Mehrfachumbenennung ganz einfach: Zunächst wird das Verzeichnis geöffnet, in dem sich alle zu verarbeitenden Bilder befinden.

Im Dateimanager „Dateien“ (früher „Nautilus“) werden mit Strg + A alle Dateien markiert.

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.

In diesem Fall habe ich mich für „001, 002, 003, 004“ entschieden.

Der Vorgang wird durch Klicken auf „Umbenennen“ abgeschlossen.


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.
Der Beitrag Mehrfachumbenennung von Dateien erschien zuerst auf intux.de.
Dieser Artikel ist mit einem Augenzwinkern zu verstehen. Er soll euch unterhalten und bestenfalls inspirieren.
Und so sieht nun der perfekte Wochenplan für IT-Betriebsabteilungen aus.
Das Wochenende ist gerade erst vorbei. Wir sind ausgeruht, hoch motiviert und voller Tatendrang. Heute ist der Tag für:
Aktualisiert, deployt und patcht, als wenn es kein morgen gebe. Diese Woche gibt es keinen Tag, der besser dafür geeignet ist, denn:
Zieht man das regelmäßig durch, gewöhnen sich die Kolleginnen und Kollegen daran. Mit Routine geht vieles leichter.
Bonus: Ihr führt hier wirklich wichtige Aufgaben aus. Da muss einfach jeder Verständnis dafür haben, dass ihr nicht gleichzeitig an irgendwelchen Besprechungen teilnehmen könnt.
Und wenn doch etwas klemmt, das ihr nicht sofort lösen könnt, ist das gar nicht schlimm. Schreibt es auf und kümmert euch am Troubleshooting Tuesday darum.
Machen wir uns nichts vor, es geht nicht immer alles glatt, eigentlich ist immer irgendwas. Ärgert euch nicht darüber, es ist ganz normal und heute ist der Wochentag, wo ihr die Probleme aktiv angehen könnt, die vom Montag übrig sind.
Bedenkt, wie viel ihr gestern schon geschafft habt. Einen großen Teil der Aufgaben für diese Woche habt ihr gestern bereits abgearbeitet. Dadurch habt ihr heute die Zeit, um euch in Ruhe den hartnäckigen Problemen widmen zu können.
Hinzu kommt, dass die gestrigen Änderungen schon zu lange her sind, um jetzt noch zurückzurollen. Es gibt nur noch den Weg nach vorn.
Auch hier hilft euch die Routine. Wenn ihr immer montags Wartungsarbeiten durchführt, gewöhnen sich eure Stakeholder daran, dass es halt dienstags hier und da noch klemmt. Sie wissen aber auch, dass ihr heute nichts anderes macht, als die hartnäckigen Probleme zu analysieren, mit dem Hersteller-Support zu kollaborieren und den störungsarmen Betrieb wiederherzustellen.
Bonus: Wenn man euch beim Troubleshooting stört, gehen die Probleme nicht weg. Ihr werdet somit heute vor unnötigen Besprechungen verschont bleiben.
Herzlichen Glückwunsch. Zwei Tage harter Arbeit liegen hinter euch. Heute nutzt ihr den Tag, um die Stakeholder überprüfen zu lassen, welche Aufgaben umgesetzt und welche Probleme gelöst wurden.
Fragt aktiv nach, ob eure Kundschaft zufrieden ist, lasst euch feiern und sammelt die Aufgaben für den nächsten Maintenance Monday ein.
Bonus: Nach zwei Tagen voller Änderungen, Anpassungen und kleinerer Störungen und Totalausfälle, freuen sich die Stakeholder heute endlich richtig arbeiten zu können. Da haben sie keine Zeit, sich mit euch in Besprechungen zu treffen.
Um Störungen zu minimieren, wollen Änderungen gut geplant werden. Daher dient der Donnerstag dem Denken der Gedanken. Heute wird der Plan erstellt, was am kommenden Maintenance Monday aktualisiert, deployt und geändert werden soll.
Der Kreativität sollen hierbei keine unnötigen Schranken gesetzt werden. Verlasst ruhig mal die gewohnte Umgebung eures Arbeitszimmers bzw. Büros und geht zusammen in die Kneipe oder ins Schwimmbad. Studien renommierter Personen belegen, dass es sich positiv auf die Kreativität und Innovationsentwicklung auswirkt, wenn man sich mal aus dem Tagesgeschäft herausnimmt.
Bonus: Wenn ihr nicht da seid, könnt ihr nicht an Besprechungen teilnehmen.
Das Motto dieses Tages lautet:
Lass die Finger von den IT-Systemen und fummel heute nicht dran rum. Es gibt genügend andere wichtige Dinge, die heute getan werden können. Zum Beispiel:
Bonus: Gleich ist Wochenende. Heute kann eh niemand mehr etwas reißen, da braucht ihr auch nicht mehr an unnützen Besprechungen teilnehmen.
Dieser Wochenplan bietet Routine und Struktur für IT-Betriebsabteilungen. Die wichtigsten Aufgaben werden direkt zu Beginn der Woche erledigt und dadurch die Motivation und der Stolz auf die eigene Leistung gesteigert.
Bereits nach wenigen Wochen seid ihr so geübt, dass Besprechungen durch eure absolute Routine völlig überflüssig werden. Denn jeder weiß genau, womit ihr an welchem Wochentag beschäftigt seid.
Was wünscht ihr euch da noch mehr?
Die MZLA Technologies Corporation hat mit Thunderbird 13.0 ein Update für die Android-Version seines E-Mail-Clients veröffentlicht.
Download Thunderbird für Android
Thunderbird 13.0 unterstützt das automatische Ausfüllen durch die Android-IME für Passwortmanager beim Hinzufügen eines neuen Kontos. Die Kompatibilität mit Android 15 wurde verbessert. Die Unterstützung für SMTPUTF8 und andere UTF-8 E-Mail-Standards wurde verbessert. Dazu kommen wie immer weitere Fehlerkorrekturen und Detail-Verbesserungen unter der Haube. Da Thunderbird 12.0 über den Google Play Store nie ausgerollt wurde, sind in diesem Fall die Release Notes sowohl von Thunderbird 12.0 als auch von Thunderbird 13.0 relevant.
Der Beitrag Thunderbird 13.0 für Android veröffentlicht erschien zuerst auf soeren-hentzschel.at.


Da für dieses Jahr keine Änderungen bei meiner Hardware geplant sind, habe ich die Hardwareübersicht aktualisiert. Wesentliche Änderungen:
Mozilla hat Version 2.32 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.
Das Update auf das Mozilla VPN 2.32 bringt in erster Linie Fehlerbehebungen und Verbesserungen unter der Haube. Auf macOS werden jetzt auch die Shortcuts Cmd + M zum Minimieren sowie Cmd + Komma zum Öffnen der Einstellungen unterstützt.
Der Beitrag Mozilla VPN 2.32 veröffentlicht erschien zuerst auf soeren-hentzschel.at.
In meinem Arbeitsalltag wimmelt es von virtuellen Linux-Maschinen, die ich primär mit zwei Programmen ausführe:
virt-manager (KVM/QEMU) unter LinuxDabei treten regelmäßig zwei Probleme auf:
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.
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:
sudo apt install spice-vdagent wl-clipboard
sudo dnf install spice-vdagent wl-clipboard
sudo pacman -S spice-vdagent wl-clipboard
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.
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:
sudo apt install qemu-guest-agent
sudo dnf install qemu-guest-agent
sudo pacman -S qemu-guest-agent
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...![]()
Mozilla hat Firefox 144 für Apple iOS veröffentlicht. Dieser Artikel beschreibt die Neuerungen von Firefox 144.
Mozilla hat Firefox 144 für das iPhone, iPad sowie iPod touch veröffentlicht. Die neue Version steht im Apple App Store zum Download bereit.
Firefox 144 bringt weitere Design-Anpassungen für ein einheitlicheres Erscheinungsbild mit iOS 26.
In den Einstellungen der Adressleiste wurde eine neue Option hinzugefügt, womit der Nutzer entscheiden kann, ob die Toolbar einen Button zum Öffnen der Startseite oder zum Öffnen eines neuen Tabs anzeigen soll. Ebenfalls neu ist eine Einstellung, um den Standard-Zoom für Websites festzulegen.
Dazu kommen wie immer Detail-Verbesserungen, Fehlerbehebungen sowie Optimierungen unter der Haube. Unter anderem nennt Mozilla eine verbesserte Performance, wenn Firefox als Standard-Browser festgelegt ist.
Der Beitrag Mozilla veröffentlicht Firefox 144 für Apple iOS erschien zuerst auf soeren-hentzschel.at.
Firefox Klar ist ein spezialisierter Privatsphäre-Browser. Nun hat Mozilla Firefox Klar 144 für Android veröffentlicht.
Download Mozilla Firefox Klar für Google Android
Mozilla hat Firefox Klar 144 (internationaler Name: Firefox Focus 144) für Android veröffentlicht.
Bei Firefox Klar 144 handelt es sich um ein Wartungs-Update, bei welchem der Fokus auf Fehlerbehebungen und Verbesserungen unter der Haube lag. Dazu kommen wie immer neue Plattform-Features der aktuellen GeckoView-Engine sowie geschlossene Sicherheitslücken.
Firefox Klar 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.
Der Beitrag Mozilla veröffentlicht Firefox Klar 144 für Android erschien zuerst auf soeren-hentzschel.at.
Mozilla hat Firefox 144 für Android veröffentlicht. Dieser Artikel beschreibt die Neuerungen von Firefox 144 für Android.
Download Firefox für Android im Google Play Store
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.
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 ist für Nutzer eines Huawei-Smartphones ab sofort auch in der Huawei AppGallery verfügbar.
Der Beitrag Mozilla veröffentlicht Firefox 144 für Android erschien zuerst auf soeren-hentzschel.at.
Die MZLA Technologies Corporation hat mit Thunderbird 144 eine neue Version seines Open Source E-Mail-Clients für Windows, Apple macOS und Linux veröffentlicht.
Mit Thunderbird 144 hat die MZLA Technologies Corporation ein Update für seinen Open Source E-Mail-Client veröffentlicht. Dieses bringt diverse Fehlerkorrekturen und Verbesserungen unter der Haube, welche sich in den Release Notes (engl.) nachlesen lassen. Auch Sicherheitslücken wurden behoben.
Update 16.10.2025: Mit Thunderbird 144.0.1 wurde ein schnelles Update nachgereicht, welches einen Fehler behebt.
Der Beitrag Thunderbird 144 veröffentlicht erschien zuerst auf soeren-hentzschel.at.
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.

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

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

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:
~/.config/fish/fish_variables (Farbeinstellungen)
~/.config/fish/functions/fish_prompt.fish (Prompt)
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.
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
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:
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.
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 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.
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.
YouTube-Videos