staging.inyokaproject.org

29. Oktober 2024

Mozilla hat Firefox 132 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

Streaming: PlayReady-Unterstützung

Firefox auf Windows unterstützt (zunächst auf ausgewählten Websites) jetzt die verschlüsselte Wiedergabe über Microsoft PlayReady. Dies ebnet den Weg für die 4K-Wiedergabe auf wichtigen Streaming-Plattformen. Weitere Vorteile sind eine verbesserte Akkulaufzeit und Leistung beim Streaming gegenüber der Wiedergabe via Google Widevine.

Diese Neuerung wird schrittweise im Laufe der kommenden Wochen für alle Nutzer ausgerollt werden.

Datenschutz: Blockieren von Drittanbieter-Cookies und Begrenzung der Cookie-Lebenszeit

Bei Aktivierung des strengen Schutzes vor Aktivitätenverfolgung blockiert Firefox jetzt sämtliche Drittanbieter-Cookies.

Die Lebenszeit von jeglichen Cookies, welche eine Lebensdauer definieren, ist ab sofort auf maximal 400 Tage beschränkt.

Datenschutz: „Link ohne Website-Tracking kopieren“ verbessert

Über das Kontextmenü lassen sich Links entweder im Original oder mit entfernten Tracking-Parametern kopieren. Mozilla hat diese Funktion verbessert, so dass einerseits mehr Tracking-Parameter erkannt werden. Zum anderen ist der Kontextmenü-Eintrag jetzt ausgegraut, wenn der Link keine erkannten Tracking-Paramater beinhaltet.

Wem weitere Tracking-Parameter bekannt sind, welche über diese Funktion nicht entfernt werden, kann diese an Mozilla melden.

Tabs auf anderen Geräten schließen

In Firefox lassen sich nicht nur Daten wie Lesezeichen, Chronik und Passwörter synchronsieren, man kann auch die gleichen Tabs öffnen, die auf anderen Geräten bereits geöffnet sind. Dies ist beispielsweise über die Sidebar für synchronisierte Tabs möglich. Über das Kontextmenü der einzelnen synchronisierten Tabs ist es ab sofort möglich, die jeweiligen Tabs auf den anderen Geräten zu schließen. Diese Möglichkeit steht jedoch nur in der neuen Sidebar zur Verfügung, welche in Firefox 132 noch nicht standardmäßig aktiviert ist und über about:config aktiviert werden kann, indem der Schalter sidebar.revamp per Doppelklick auf true geschaltet wird.

Sonstige Endnutzer-Neuerungen von Firefox 132

Auch die Übersetzungsfunktion hat wieder Verbesserungen erhalten. So werden Leerzeichen um Elemente nun korrekt beibehalten und implizite option-Werte (bei Fehlen des value-Attributs) nicht länger übersetzt, weil dies zu unvorhergesehenen Ergebnissen führen könnte. Die Seite about:translations zur freien Textübersetzung hat eine Schaltfläche erhalten, um Quell- und Zielsprache zu tauschen.

Je nachdem, was Websites für Grafiken bereitstellen, konnte es vorkommen, dass Firefox für Lesezeichen ein anderes Icon angezeigt hat als in den Tabs, weil für die Lesezeichen auch andere Bildquellen berücksichtigt wurden. Dies ist nicht länger der Fall und Firefox sollte in den Lesezeichen jetzt immer das erwartete Icon verwenden, welches auch für den Tab verwendet wird.

Auf macOS 15 und höher werden die neuen Auswahlfunktionen des Apple-Betriebssystems für die Bildschirm- und Fensterfreigabe unterstützt. Unterstützung dieser Neuerung auf macOS 14 wird mit einem späteren Update folgen.

Firefox auf macOS wird jetzt automatisch neu gestartet, wenn er vor einem Systemneustart geöffnet war, zum Beispiel nach einer Betriebssystemaktualisierung.

Auf Linux-Systemen mit XWayland und Mesa-Grafiktreiber war die Hardwarebeschleunigung bislang erst ab Verwendung von Mesa 21 oder höher aktiviert. Diese Anforderung wurde auf Mesa 17 oder höher gesenkt.

Das Rendering für die meisten SVG Filter-Primitive kann jetzt durch die Hardware beschleunigt werden, was zu einer verbesserten Performance auf grafiklastigen Websites führen kann.

Die Anzahl der Seiten aus der Chronik in Firefox View sowie in der Chronik-Sidebar war bislang auf maximal 300 begrenzt. Dieses Limit wurde entfernt.

Die Kompression von Zertifikaten wird jetzt unterstützt, was deren Größe reduziert und damit die Geschwindigkeit des TLS-Handshakes verbessert.

Der Minidump-Analysator des Absturzmelders wurde in der Programmiersprache Rust neu implementiert.

Nach einem Update-Fehler konnte es vorkommen, dass Firefox mit einer Fehlermeldung „XULRunner – Error: Platform version is not compatible with minVersion“ nicht mehr startete. In einem solchen Fall hilft eine Neuinstallation von Firefox, worauf der Nutzer bei dieser Meldung aber nicht unbedingt von alleine kommt. Ein entsprechender Hinweis wurde in dieser Fehlermeldung ergänzt.

Für Firefox-Distributionen (von Partnern angepasste Firefox-Versionen) ist es jetzt möglich, ein anderes Theme standardmäßig zu setzen.

Eine neue (standardmäßig deaktivierte) Option wurde implementiert, um HTTP/3 zu deaktivieren, wenn ein Root-Zertifikat eines Drittanbieters gefunden wird. Diese Option wurde explizit für den Fall eingebaut, dass wieder einmal auf Probleme reagiert werden muss, welche durch die Sicherheitssoftware von Avast verursacht wird.

Mehr Sicherheit für Firefox-Nutzer

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

Über unverschlüsseltes http:// geladene Favicons auf Websites, welche über https:// aufgerufen werden, werden ab sofort blockiert, wenn diese nicht ebenfalls über https:// aufrufbar sind.

Verbesserungen der Entwicklerwerkzeuge

Das Debugging von Websites auf anderen über USB angeschlossenen Geräten via about:debugging funktioniert wieder. Außerdem werden über console.log geloggte Nachrichten in Service Workers jetzt wieder in der Konsole ausgegeben.

Verbesserungen der Webplattform

Wide Color Gamut WebGL ist jetzt für Windows und macOS verfügbar. Damit unterstützt Firefox eine reichhaltigere und lebendigere Farbpalette in Videos, Bildern und Spielen.

Die Unterstützung der silent-Option für Webbenachrichtigungen wurde hinzugefügt.

Die Unterstützung von HTTP/2 Push wurde entfernt. Zum einen gab es dadurch Kompatibilitätsprobleme mit verschiedenen Websites, zum anderen unterstützt kein anderer der relevanten Browser dieses Feature.

Die Berechnung der Textausrichtung wurde aktualisiert, um dem neuesten in der HTML-Spezifikation definierten Modell zu folgen, was die Interoperabilität mit anderen Webbrowsern verbessert.

Das Attribut fetchpriority ermöglicht es Webentwicklern, das Laden von Ressourcen zu optimieren, indem sie die relative Priorität von Ressourcen angeben, die vom Browser abgerufen werden sollen.

Dies war nur eine kleine Auswahl der Verbesserungen der Webplattform. Eine vollständige Auflistung lassen sich in den MDN Web Docs nachlesen.

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

28. Oktober 2024

Kürzlich habe ich auf Fryboyter diesen Artikel gelesen: Wie sollte man Veröffentlichungen versionieren?

Meine Gedanken zu dem Artikel und dem Thema möchte ich an dieser Stelle mit Fryboyter und euch teilen.

Fryboyter favorisiert nach eigener Darstellung Calendar Versioning (CalVer), da dies seiner Meinung nach aussagekräftiger ist, als z.B. 0.78.1, was sehr stark nach Semantic Versioning (SemVer) aussieht. Meiner Meinung nach kann man dies nicht pauschal sagen, da beide Versionsschemata ihre eigenen Vor- und Nachteile haben. Doch wann sollte man zu welchem Schema greifen?

Calendar Versioning

Die folgende Liste ist eine Übersetzung des englischen Textes, welcher hier zu finden ist. Wenn einer der in dieser Liste genannten Punkte auf ein Projekt zutrifft, scheint CalVer ein geeignetes Schema für die Versionierung zu sein.

  • Hat Ihr Projekt einen großen oder ständig wechselnden Umfang?
  • Große Systeme und Frameworks, wie Ubuntu und Twisted.
  • Amorphe Gruppen von Dienstprogrammen, wie Boltons.
  • Ist Ihr Projekt in irgendeiner Weise zeitkritisch? Beeinflussen externe Änderungen neue Projektveröffentlichungen?
  • Geschäftliche Anforderungen, wie Ubuntus Fokus auf Unterstützungstermine.
  • Sicherheitsupdates, wie certifi’s Notwendigkeit, Zertifikate zu aktualisieren.
  • Politische Veränderungen, wie die Handhabung von Zeitzonenänderungen durch die IANA-Datenbank.

Einige Betriebssysteme wie z.B. Ubuntu haben einen festen Veröffentlichungsrythmus und Unterstützungszeitraum. So werden Ubuntu LTS Versionen ohne Zusatzverträge für 5 Jahre unterstützt und mit Aktualisierungen versorgt. Bei Ubuntu 24.04 LTS kann man bereits am Namen erkennen, wie alt dieses Release ist und wie lange es mit Aktualisierungen versorgt wird. Ubuntu veröffentlicht Aktualisierungen für die enthaltenen Pakete in unregelmäßigen Abständen, meist sobald diese verfügbar sind. Aufgrund der vielen enthaltenen Pakete und der Aktualisierungsrichtlinie scheint SemVer (siehe nächster Abschnitt) hier nicht vorteilhaft zu sein.

Bei Debian 12, RHEL 9 oder SLES 15 erkennt man das Datum der Veröffentlichung hingegen nicht. Hier hilft nur ein Blick in die jeweilige Versionshistorie der Projekte, um Informationen über den Zeitpunkt der Veröffentlichung und der jeweiligen Unterstützungszeiträume zu finden.

Semantic Versioning

Auf Grundlage einer Versionsnummer von MAJOR.MINOR.PATCH werden die einzelnen Elemente folgendermaßen erhöht:
1. MAJOR wird erhöht, wenn API-inkompatible Änderungen veröffentlicht werden,
2. MINOR wird erhöht, wenn neue Funktionalitäten, die kompatibel zur bisherigen API sind, veröffentlicht werden, und
3. PATCH wird erhöht, wenn die Änderungen ausschließlich API-kompatible Bugfixes umfassen.

Quelle: https://semver.org/lang/de/

SemVer ist stringent, einfach nachzuvollziehen und bietet für mich als Systemadministrator die folgenden Vorteile.

Wird PATCH erhöht, weiß ich, dass lediglich Fehler behoben wurden, sich am Funktionsumfang einer Anwendung jedoch nichts ändert. Das Einzige, was mir hierbei den Tag vermiesen kann, sind Regressionen. Das Risiko, dass irgendetwas kaputtgeht oder schlimmer wird, ist jedoch gering.

Wird MINOR erhöht, weiß ich, dass die Anwendung neue Funktionalität enthält und ich weiß, dass nun ein genauerer Blick erforderlich ist, um zu entscheiden, ob diese Funktionalität in meiner Umgebung bereitgestellt werden soll bzw. darf. Gegebenenfalls sind vor einer Aktualisierung Anwenderschulungen durchzuführen und interne Prozessbeschreibungen zu aktualisieren, bevor die neue Version zur Nutzung freigegeben werden kann.

Einem an Featureritis erkrankter Nerd mag jede neue Funktion gefallen. Unzureichend geplante Veröffentlichungen neuer Funktionen in Unternehmen können hingegen interessante Folgen haben.

Wird MAJOR erhöht, ist ein Blick in die Release Notes angeraten. Denn man weiß schon mit einem Blick auf die Versionsnummer, dass diese Version Breaking Changes enthält. Dies können sein:

  • API-inkompatible Änderungen
  • Entfallene bzw. entfernte Funktionalität
  • Geänderte Architektur
  • Geändertes Format der Konfigurationsdatei(en)
  • etc.

Eine solche Aktualisierung kann man in aller Regel nicht ohne sorgfältige Planung installieren. Das Risiko, dass dabei etwas kaputtgeht und Stress und Produktionsausfall folgen ist einfach zu groß.

Aussagekraft

Fryboyter schreibt: „Zumal meiner Meinung nach 2024.10.11 aussagekräftiger als 0.78.1 ist.“

Aber ist es wirklich aussagekräftiger? Wenn ich nur das Datum sehe, weiß ich lediglich, wann die Version veröffentlicht wurde. Welchen Funktionsumfang die Version hat, welche Änderungen es zur vorhergehenden Version es gibt, ob diese Version stabil ist oder ob es die aktuellste Version ist, erkennt man nicht. Bei zwei Daten erkennt man zumindest, welches die aktuellere Version ist.

Sehe ich nur 0.78.1, weiß ich nicht, wann diese Version veröffentlicht wurde. Ich sehe jedoch auf den ersten Blick, dass sich diese Version in einer initialen Entwicklungsphase befindet, der Funktionsumfang nicht abschließend definiert ist und sich jederzeit ändern kann. Kurz gesagt, mit jeder weiteren Erhöhung von MINOR und PATCH ist damit zu rechnen, dass sich das Verhalten und der Funktionsumfang signifikant ändern. Da die einzelnen Elemente bei SemVer ausschließlich erhöht jedoch nie gesenkt werden, kann man bei Vorliegen von zwei Versionsnummern der gleichen Anwendung erkennen, welches die aktuellere ist. Details zu Änderungen gegenüber der Vorgängerversion verrät SemVer zwar auch nicht, doch kann ich den Umfang der Änderungen erkennen. Für mich besitzt SemVer damit in den meisten Fällen die größere Aussagekraft.

Die Frage wann es Zeit für Version 1.0.0 ist, beantwortet SemVer wie folgt:

Wenn die Software schon in der Produktion verwendet wird, sollte sie bereits in Version 1.0.0 vorliegen. Falls eine stable API existiert, auf die sich Nutzer bereits verlassen, sollte es ebenfalls die Version 1.0.0 sein. Auch wenn Kompatibilität zu vorherigen Versionen bereits eine wichtige Rolle spielt, ist Version 1.0.0 angebracht.

Quelle: https://semver.org/lang/de/#woher-wei%C3%9F-ich-wann-es-zeit-ist-version-100-zu-ver%C3%B6ffentlichen

Abschließende Bemerkung

Ich gehöre tendenziell eher zu Team SemVer und denke, dass dies eine höre Aussagekraft als CalVer besitzt.

Grundsätzlich halte ich es für sinnvoll und wichtig, wenn sich Entwickler bzw. Organisationen Gedanken machen, welches Versionsschema am besten zu ihrem Projekt passt.

Wie denkt ihr darüber? Hinterlasst doch gern einen Kommentar mit eurer Meinung oder veröffentlicht einen eigenen Text dazu in eurem Blog.

27. Oktober 2024

Die aktuelle Aufregung um den Rauswurf von 12 russischen Kernelentwicklern durch Linus Tovalds und Greg Kroah-Hartman verweist mal wieder auf die Illusionen der Open-Source-Community über ihren weltweiten Spirit. Open Source agiert nicht im luftleeren Raum, sondern ist in staatliche Strukturen eingebettet.

Die meisten Open-Source-Entwicklergemeinschaften sind organisiert. Das deutsche Vereinsrecht ist bei einigen sehr beliebt. Andere Foundations haben ihren Sitz in den USA oder in anderen Ländern. Sie sind an das jeweilige Recht und Gesetz gebunden. Ich hatte das am Beispiel der Fedora Lizenzbedingungen schon ein paar mal thematisiert, die klar auf die US-Exportbedingungen verweisen (wenn auch nur sehr versteckt beim Download verlinkt)

By contributing to or downloading Fedora content, you acknowledge that you understand all of the following: Fedora software and technical information may be subject to the U.S. Export Administration Regulations (the “EAR”) and other U.S. and foreign laws and may not be exported, re-exported or transferred:

(a) to a prohibited destination country under the EAR and the U.S. Department of Treasury, Office of Foreign Assets Controls (currently Cuba, Iran, North Korea, Syria, and the Crimea Region of Ukraine, subject to change as posted by the United States government);

(b) to any prohibited destination or to any end user who has been prohibited from participating in U.S. export transactions by any federal agency of the U.S. government; or

(c) for use in connection with the design, development or production of nuclear, chemical or biological weapons, or rocket systems, space launch vehicles, or sounding rockets, or unmanned air vehicle systems.

You may not download Fedora software or technical information if you are located in one of these countries or otherwise subject to these restrictions. You may not provide Fedora software or technical information to individuals or entities located in one of these countries or otherwise subject to these restrictions. You are also responsible for compliance with foreign law requirements applicable to the import, export and use of Fedora software and technical information.

Fedora software in source code and binary code form are publicly available and are not subject to the EAR in accordance with §742.15(b).

Fedora Export Control Policy

Diese Regeln gelten so oder so ähnlich eben für alle in den USA registrierten Firmen und Entwicklergemeinschaften und eben auch für die Linux Foundation.

Wenn russische Entwickler persönlich oder deren Arbeitgeber auf der SDN-Liste des Office of Foreign Asset Control stehen, das damit Verstöße gegen US-Sanktionen ahndet, dann fliegen diese Entwickler eben aus der Entwicklung. Das ist nachvollziehbar und total unspektakulär. Sie können dann ja in Russland einen Fork betreiben und der russischen Kriegsindustrie direkt oder indirekt zuarbeiten. Open-Source entzieht sich ja einer direkten Kontrolle und wird auch nicht unbrauchbar, nur weil Entwickler daran nicht mehr mitarbeiten dürfen. Ihre Arbeit fließt nur nicht mehr unmittelbar nach Upstream.

Dass diese Entscheidung gerade in Deutschland diskutiert wird, ist wenig überraschend. Schließlich ist der chronische Antiamerikanismus hier weit verbreitet und der Weg zur Relativierung des russischen Angriffskrieges nicht besonders weit. Die politischen Positionen an den Rändern des Systems bei z.B. AfD, Linke und BSW und deren jüngste Wahlergebnisse haben das mal wieder mehr als deutlich gemacht. Das gleiche Phänomen kann man seit dem russischen Einmarsch in die Ukraine in einigen Ecken der Privacy- wie auch der Open-Source-Community beobachten. Man betrachte hier nur die moderierten Kommentare unter einer den zwei Meldungen bei Linuxnews (Meldung 1, Meldung 2). Denn auch die Anwender-Community bewegt sich nicht im luftleeren Raum.

Open Source ist eben nicht staatenlos. Weder die Entwickler, noch die Nutzer. Daran ändert auch die Mär von der weltweiten Community nichts, in der angeblich alle Angehörigen aller Nationalitäten gleichberechtigt mitmachen können. Open-Source-Communitys können auch nicht so tun, als ob sie die Welt nichts angehen würde. Die Entscheidung der Linux Foundation war mehr als überfällig.

Warum Linux und nicht macOS oder Windows? Wenn wir ehrlich sind, dann nur aus ideologischen Gründen. Dasselbe gilt für freie Android-Systeme wie GrapheneOS. Alle anderen Gründe sind mittlerweile durch die langsame Entwicklung weggefallen.

Vor einigen Tagen las ich im Blog von Michael Kofler seine Vorstellung von Ubuntu 24.10. Aus dem Blogartikel spricht Frustration und er artikuliert sie auch. Meinen Frust mit Linux habe ich hier im Blog schon in verschiedenen Wellen ausgebreitet. Das muss und will ich hier nicht noch einmal tun.

Wer diesen Blog verfolgt, hat sicher bemerkt, dass ich mich wieder etwas mehr im Apple-Universum bewege und diverse Tutorials aktualisiere. Beruflich komme ich gerade mit Windows 11 in Berührung. Das bringt mich immer wieder zum Nachdenken und wenn ich ehrlich bin:

Ich halte beide Systeme Linux in fast jeder Hinsicht für überlegen!

Apple bietet mit macOS eine super integrierte Gesamtlösung. Dies gilt umso mehr, wenn man auch ein iPhone verwendet. Das System deckt mit seinen vorinstallierten Apps bereits die allermeisten Anwendungsszenarien ab. Dabei werden viele standardisierte Schnittstellen unterstützt (CalDAV, CardDAV, WebDAV, SMB), so dass das System sehr gut mit Diensten von Drittanbietern genutzt werden kann. Die Qualität der Anwendungen von Drittanbietern ist tendenziell höher als bei Linux und Windows. Dies liegt nicht daran, dass die Entwickler besser wären, sondern daran, dass Apple-Kunden eine höhere Zahlungsbereitschaft haben und somit mehr Entwickler von ihrer Arbeit leben können. Apple-Kunden legen auch Wert auf eine gute GUI, weshalb diesem Aspekt mehr Aufmerksamkeit geschenkt wird. Die meisten Open Source Apps sind auch für Apples macOS verfügbar und schließen so die verbleibenden Lücken. Der App Store macht es einfach, die Software aktuell zu halten, und die jährlichen Upgrades zwischen den macOS-Versionen funktionieren reibungslos. Das System ist im besten Sinne benutzerfreundlich.

Windows 11 war für mich eigentlich die größte Überraschung. Microsoft hat hier wirklich viel Entwicklungsarbeit investiert Das System wirkt wie aus einem Guss (auch wenn es das unter der Oberfläche nicht ist) und hat eine moderne, einheitliche Oberfläche. Der Dateiexplorer hat sich gut entwickelt und wurde um sinnvolle Funktionen erweitert. Microsoft Edge ist ein guter Chromium-basierter Browser. Der Store und die Kommandozeilen-Paketverwaltung winget sind inzwischen sinnvoll nutzbar. Microsoft hat sich auch an den richtigen Stellen für Open-Source-Lösungen geöffnet. OpenSSH im Windows Terminal war für mich ein echter Quantensprung im positiven Sinne.

Warum also noch Linux nutzen? Es gibt eigentlich nur noch ideologische Gründe:

  • Open Source: Apple und Microsoft integrieren Open Source Software, sind und bleiben aber proprietäre Unternehmen. Der konsequente Einsatz von Open Source Software ist nur mit Linux oder BSD möglich.
  • Datenschutz: Microsoft Windows ist seit einigen Jahren eine Datenschutzhölle. Sehr viele Daten fließen an den Konzern in Redmond und der Datenabfluss kann nicht vollständig eingeschränkt werden. Auch die Entwicklung neuer KI-Tools zeugt von einem völlig fehlenden Datenschutzbewusstsein des Konzerns. Apple ist hier etwas besser, aber auch hier bauen die Systeme viele Verbindungen zu Apple auf. Nicht alles ist transparent oder blockierbar.

Das war es meiner Meinung nach. Mir fallen wirklich keine funktionalen Gründe ein, Linux zu nutzen. Linux ist auf dem Desktop funktional, in der UX und in vielen Sicherheitsaspekten der Konkurrenz unterlegen. Die Nutzung ist mit Einschränkungen verbunden, die je nach persönlichen Anforderungen mehr oder weniger spürbar sind. Mobil spielt Linux gar keine Rolle. Hier muss ein speziell angepasstes Android-Derivat verwendet werden (ja, der Kernel ist Linux) und auch das geht nur mit funktionalen Einschränkungen und Kompromissen. Es gibt absolut keine Aussicht auf Besserung. Da sollte man sich keine Illusionen machen.

Natürlich kann Linux immer noch viele Erwartungshaltungen abdecken. Niemand, der gerne mit Linux am Desktop hantiert muss kann, soll und wird zu macOS oder Windows abwandern. Insbesondere wenn man sich über viele Jahrzehnte mit Linux eingerichtet hat, dann kann das System oft genau das, was man möchte. Sei es, weil man die weitergehenden Möglichkeiten nicht kennt, sie gar nicht nutzen möchte oder sie schlicht umgeht. Das sind aber keine Argumente für Linux, sondern Gewohnheit.

Nur ist es ernüchternd, gemessen an den Erwartungen, die ich und viele andere sich um 2007 herum hegten. Zur Erinnerung: Damals waren Netbooks gerade der Renner und Linux schien kurz vor dem Durchbruch auf dem Desktop zu stehen. Microsoft hatte Windows mit Vista gerade richtig geschadet und auch funktional schloss Linux mit jedem Distributionsrelease massiv auf. Apple hatte noch kein iPhone und kämpfte mit wirtschaftlichen Schwierigkeiten. Nun, vorbei ist vorbei.

Ich werde weiterhin Linux und Android in Form von GrapheneOS verwenden. Wegen Privacy und Datenschutz. Den Rest kann man ertragen. Ich werde aber auch (gerne) Windows auf der Arbeit nutzen und parallel etwas Apple-Hardware im Haus behalten. Diese grundsätzliche Frustration ist schade, aber nicht zu ändern. Im Jahr 2024 sprechen nur noch ideologische Gründe für Linux. Das ist nicht unbedingt schlecht, immerhin sind es zwei gewichtige Gründe für Linux auf dem Desktop. Es ist aber weniger als viele vor 15-20 Jahren erwartet haben.

26. Oktober 2024

Solo ist ein Ende des vergangenen Jahres vom Mozilla Innovation Studio angekündigter Website-Builder, der auf Künstliche Intelligenz (KI) und einen maximal einfachen Erstellungsprozess setzt. Nun steht Solo 1.3 bereit und bringt viele Neuerungen.

Im Rahmen der Innovation Week im Dezember 2023 hatte das Mozilla Innovation Studio Solo angekündigt. Dabei handelt es sich um einen sogenannten Website-Builder mit Fokus auf Selbständige, der auf generative Künstliche Intelligenz für einen maximal einfachen Erstellungsprozess setzt.

Jetzt Website-Builder Solo von Mozilla testen

Seit dem Start hat Mozilla einige Funktionen ergänzt. Jetzt hat Mozilla Solo 1.3 fertiggestellt. Dies sind die Neuerungen:

  • Github als neue Link-Option für soziale Medien hinzugefügt
  • Neue Fit vs. Fill Option für Bilder in den Abschnitten Intro und Textbanner
  • Zwei neue Schriftartenpaare
  • Mobile Vorschau hinzugefügt
  • Die maximale Anzahl der FAQ wurde auf 12 Fragen und die Teamgröße auf 12 Personen erhöht
  • Unterstützung von Häkchen in RTF-Eingabefeldern
  • Verbesserte Lesbarkeit der Bildunterschriften im Bildkarussell
  • Verbesserte Bildauflösung für Bilder auf der veröffentlichten Website
  • Neue Stile für Schaltflächen mit und ohne Umriss hinzugefügt
  • Hinzufügen von benutzerdefinierten Fragen zum Kontaktformular
  • Neuer Newsletter-Bereich, damit sich Kunden in eine Mailingliste eintragen können
  • Neue Onboarding-Seiten, um mit Yelp-, Facebook- oder Thumbtack-Links zu beginnen
  • Anwendung von Bildformen auf die Bilder in den Abschnitten Intro und Textbanner
  • Neuer Übergang bei der Navigation zu einem In-Page-Link
  • Neuer illustrativer Modaldialog beim Hinzufügen neuer Abschnitte zu Ihrer Website
  • Sichtbare Zeichenanzahl für alle Felder hinzugefügt
  • Fehler in Zusammenhang mit dem Laden von Google Analytics behoben, wenn der Cookie-Banner aktiviert war
  • Zahlreiche weitere kleine Bugs und Leistungsverbesserungen

Die Nutzung von Solo ist kostenlos. Geringe Kosten fallen höchstens bei Verwendung einer benutzerdefinierten Domain an. Als Nächstes stehen weitere Optionen zum Bearbeiten und Gestalten, ein Abschnitt für Kundenlogos, eine neue Bibliothek zur Verwendung von Icons auf der Website sowie das Bearbeiten der Website durch mehrere Benutzer auf der Roadmap.

Der Beitrag Website-Builder Solo von Mozilla: Version 1.3 fertiggestellt erschien zuerst auf soeren-hentzschel.at.

25. Oktober 2024

Mozilla arbeitet an mehreren neuen Features für Firefox. Ein neues Video anlässlich des bevorstehenden 20. Geburtstages von Firefox teasert mehrere der geplanten Neuerungen an – und zeigt damit, neben anderen Dingen, auch eine erste Vorschau auf die Tabgruppen und die neue Profilverwaltung.

Am 9. November 2024 feiert Firefox seinen 20. Geburtstag. Ein zu diesem Anlass erstelltes Video hebt ein paar der jüngsten Neuerungen hervor und gibt einen Ausblick auf das, was schon bald kommen wird.

Video auf YouTube ansehen

Bereits vorgestellte Neuerungen

Aufmerksame Leser dieses Blogs wissen bereits von allen Funktionen, die in Arbeit sind. So zeigt das Video eine komplett neue Einstellungsoberfläche, die Personalisierung der Pocket-Empfehlungen auf der Firefox-Startseite sowie die neue Sidebar und vertikale Tabs. Alle diese Dinge wurden hier bereits in eigenen Artikeln inklusive Bildmaterial vorgestellt. Die im Mai 2024 veröffentlichte Feature-Roadmap nannte noch zwei weitere neue Features, die ebenfalls in dem Video zu sehen sind: Tabgruppen sowie ein neuer Profilmanager. Von diesen Features gab es bislang noch nichts auf diesem Blog zu sehen. Deswegen liegt der Fokus dieses Artikels auf genau diesen Funktionen.

Tabgruppen

Tabgruppen sind das meistgewünschte Feature der Firefox-Nutzer laut der Community-Plattform Mozilla Connect. Nutzer einer Nightly-Version von Firefox können eine frühe Implementierung bereits testen, indem über about:config der Schalter browser.tabs.groups.enabled per Doppelklick auf true gesetzt wird. Zu beachten ist, dass die Umsetzung noch unvollständig ist und Fehler beinhaltet. Der erste Screenshot zeigt die Integration in die horizontale Tableiste, wie sie bereits in der Nightly-Version zu sehen ist. Der zweite Screenshot zeigt eine Verwaltung der Tabgruppen über die Sidebar sowie Integration in die vertikalen Tabs, wie sie zu diesem Zeitpunkt noch nicht umgesetzt, aber geplant ist.

Vorschau auf Tabgruppen in FirefoxVorschau auf Tabgruppen in Firefox

Neuer Profilmanager

Firefox nutzt sogenannte Profile. Darin sind alle relevanten Daten wie Chronik, Passwörter, Erweiterungen, Lesezeichen und noch vieles mehr gespeichert. Jede Firefox-Installation kann mit beliebig vielen Profilen genutzt werden. Mozilla möchte es einfacher machen, zwischen Profilen zu wechseln. Zu diesem Zweck soll ein Profilwechsler direkt in das Anwendungsmenü integriert werden. Auch die Implementierung des neuen Profilmanagers befindet sich bereits in vollem Gang, kann aber nicht so einfach wie die Tabgruppen ausprobiert werden, weil dessen Implementierung nicht an eine Option in about:config, sondern an ein Build-Flag gekoppelt ist, Firefox hierfür also vom Anwender selbst kompiliert werden muss. Der Grund dafür ist, dass Mozilla vermeiden möchte, dass Nutzer in der Frühphase der Implementierung Datenverluste erleiden, wenn sie mit diesem Feature experimentieren, während Mozilla noch an den grundlegenden Dingen dieses Features arbeitet.

Das Video zeigt die Erstellung eines neuen Profils. Was hier sofort auffällt: Der Nutzer vergibt hier nicht nur einen Namen für das Profil, sondern wählt auch ein Theme sowie ein Avatar aus. Dies sorgt für eine bessere Unterscheidbarkeit der Profile. In der Taskleiste respektive dem Dock des Betriebssystems soll das Avatar dann auch über dem Firefox-Symbol angezeigt werden, sodass man hier direkt erkennen kann, welches Profil genutzt wird.

Vorschau auf neue Profilerstellung in Firefox

Der Beitrag Ein erster Blick auf die Tabgruppen und den neuen Profilmanager erschien zuerst auf soeren-hentzschel.at.

Seid ihr Windows satt? Dann gehört ihr zur wachsenden Gruppe von Anwender:innen, die umsteigen.

Seit Monaten sehe ich in Social Media viele Leute, die von Windows auf Linux umsteigen möchten. Die Gründe dafür sind vielfältig:

  • Am 14. Oktober 2025 endet der Support für Microsoft Windows 10
  • Microsoft ist in den letzten Monaten/Jahren durch viele Verfehlungen aufgefallen
  • Windows 11 verlangt neue Hardware
  • Windows 11 bringt Werbung im Betriebssystem
  • Windows 11 nimmt mit der Anwendung Recall alle paar Sekunden euren Bildschirm auf
  • und so weiter, uns so fort

Manche Anwender:innen sind es auch einfach satt, sich von Microsoft gängeln zu lassen und wünschen sich ein freies und selbstbestimmtes Betriebssystem und Anwendungen für ihren täglichen Gebrauch.

Dieser Artikel richtet sich an Personen, die IT-technisch keine Ahnung von nichts haben. Ich versuche den Umstieg von Windows zu Linux so einfach wie möglich zu beschreiben.

Deine persönliche Einstellung zählt

Wer umsteigen möchte und dabei dasselbe wie vorher erwartet, hat von Anfang an verloren. Windows ist nicht Linux, ist nicht MacOS, ist nicht Android, ist nicht iOS. Der Wechsel des Betriebssystems (und dazu gehört auch die grafische Erscheinung und Bedienbarkeit der Oberfläche sowie die Anwendungen) erfordert eine offene Haltung für Neues. Wer mit Freude und Entdeckergeist den Umstieg in Angriff nimmt, hat gewonnen.

Die grosse Vielfalt

Windows ist nur Windows, macOS ist nur macOS - bei beiden Betriebssystemen gibt es keine Auswahl. Leute, die nicht sehr mit Computern vertraut sind, empfinden diese fehlende Auswahl eher als positiv. Bei Linux werdet ihr das Gegenteil erleben. Es gibt Hunderte Linux-Distributionen, ein Dutzend Benutzeroberflächen und viele alternative Anwendungen für denselben Zweck. Das ist kein Nachteil, sondern eine Bereicherung.

Was ist eine Linux-Distribution?

Eine "Distro" kommt immer als Gesamtpaket daher, in dem das Betriebssystem, eine oder mehrere Benutzeroberflächen, eine Vorauswahl von Anwendungsprogrammen und eine bestimmte Abstimmung aller Komponenten geliefert wird. Die Distro deiner Wahl liefert ein Gesamterlebnis ab, mit dem dein Computer ohne weiteres Zutun nutzbar ist.

Was ist eine Benutzeroberfläche?

Im Gegensatz zu Windows und macOS gibt es bei Linux viele unterschiedliche Benutzeroberflächen, aus denen du diejenige auswählen kannst, die deinem Geschmack und deiner Arbeitsweise am besten entspricht. Fast alle Distros bieten mehrere Benutzeroberflächen zur Auswahl an.

Wie funktioniert das mit den Anwendungen?

Kennst du den App-Store vom iPhone oder den Play-Store auf dem Android-Handy? Genauso kannst du es dir bei Linux vorstellen. Es gibt eine zentrale Anwendungsverwaltung. Dort kannst du Anwendungen suchen, installieren oder deinstallieren. Diese Anwendungsverwaltung (Paket-Manager) kümmert sich um die Aktualisierung des gesamten Betriebssystems und aller Anwendungen. Du musst nie wieder aus dem Internet EXE-Dateien herunterladen oder dubiose Anwendungen abonnieren. Die Paket-Manager liefern geprüfte Software und verwalten sie für dich.

Wie finde ich die richtige Linux-Distribution?

Als Einsteiger:in sollte euch die Distro egal sein, weil fast alle gut sind. Viel wichtiger für den ersten Eindruck und das Arbeitserlebnis ist die Benutzeroberfläche. Das ist das, was ihr seht und womit ihr arbeitet. Ihr könnt euch überlegen, ob ihr lieber eine klassische oder moderne Arbeitsumgebung haben möchtet. Oder ob ihr mehr auf das Aussehen von Windows oder macOS steht. Manche Oberflächen (KDE-Plasma, GNOME) brauchen mehr Power, andere sind gut für alte Hardware geeignet (Xfce, Mate, Lxqt).

Die grossen Benutzeroberflächen

Es gibt zwei grosse und populäre Linux-Benutzeroberflächen: KDE-Plasma und GNOME. Hier seht ihr Bilder davon:

KDE-Plasma

GNOME

KDE-Plasma lehnt sich eher an Windows an und hat sehr viele Einstellmöglichkeiten. Die GNOME-Benutzeroberfläche erinnert ein wenig an macOS und bietet weniger Einstellmöglichkeiten. Beide Optionen sind den Angeboten von Windows und Apple weit voraus; sie sind der technische Status quo, wenn es um Funktionalität und Benutzerfreundlichkeit geht.

Die beiden Fotos sagen sehr wenig aus. Daher empfehle ich euch, aktuelle Videos zu KDE-Plasma und GNOME anzuschauen, um einen besseren Eindruck zu erhalten. Wenn ihr im Internet danach sucht, findet ihr viele Eindrücke und Testberichte. Achtet bitte darauf, dass ihr aktuelle Videos anschaut, die in den letzten Monaten aufgenommen wurden. Auch zu den leichtgewichtigen Desktops findet ihr Videos.

Die grossen Distributionen

Wie im letzten Kapitel erwähnt, ist die Wahl der Distribution für Ein- und Umsteiger:innen nebensächlich. Ein Kriterium bei den Distros ist der Update-Zyklus, also wie oft ihr Aktualisierungen erhaltet. Ganz grob wird dabei zwischen "Stabil" und "Rollend" unterschieden. Das stabile Modell erneuert eure Anwendungen ca. einmal pro Jahr, während ihr beim rollenden Modell kontinuierlich Aktualisierungen erhaltet. Davon ausgenommen sind Sicherheits-Aktualisierungen, die in beiden Modellen ständig ausgeliefert werden.

Ich empfehle euch, ein stabiles Modell zu wählen.

Zu den bekanntesten Distributionen gehören:

Die grossen Distributionen sind nicht zwingend die besten für Einsteiger. Ich würde keine davon für Anfänger:innen empfehlen. Stattdessen rate ich zu Linux Mint. Diese Distribution basiert auf Ubuntu, welches wiederum auf Debian aufbaut. Mint verwendet weder KDE-Plasma noch GNOME als Benutzeroberfläche, sondern den Cinnamon-Desktop.

Cinnamon-Desktop

Mit dieser Oberfläche kommen alle zurecht, die schon einmal einen Computer bedient haben. Insbesondere haben Windows-Umsteiger damit keine Probleme. Falls euch das zu langweilig aussieht, könnt ihr Zorin Linux ausprobieren. Wem gutes Design wichtig ist, findet mit Zorin einen schönen Einstieg in die Linux-Welt.

Zorin-Desktop

Ausprobieren

Niemand möchte die Katze im Sack kaufen. Wobei "kaufen" hier das falsche Wort ist. Linux-Distributionen kann man kostenlos beziehen. Leider ist das für viele Leute ein wichtiger Faktor, wenn sie sich für Freie Software entscheiden. Tatsächlich steht nirgendwo geschrieben, dass Freie Software kostenlos sein muss. Die Entwickler:innen von Freier Software müssen auch von irgendetwas leben.

Freie Software garantiert diese Vorteile:

  1. Verwenden, zu jedem Zweck
  2. Verbreiten, um andere teilhaben zu lassen
  3. Verstehen, um die Bildung zu unterstützen
  4. Verbessern, um die Sache voranzubringen

Wer eine Linux-Distro ausprobieren möchte, hat viele Möglichkeiten. Man kann die Distro auf einen USB-Stick speichern und damit booten. Fast alle Distributionen bieten einen Live-Modus an, in dem vom Stick gestartet wird, ohne etwas am installierten Betriebssystem zu ändern. Eine andere Möglichkeit bieten virtuelle Maschinen, in denen man unter Windows ein anderes Betriebssystem starten kann. Anfängern empfehle ich etwas anderes und viel Einfacheres. Auf der Webseite distrosea.com könnt ihr sehr viele Linux-Distributionen im Browser ausprobieren.

Am Beispiel von Zorin OS möchte ich euch zeigen, wie es funktioniert. Wenn ihr auf der DistroSea-Webseite ganz nach unten scrollt, findet ihr Zorin OS. Wenn ihr auf das Icon klickt, seht ihr eine Beschreibung dieser Distribution und diese Auswahl:

Dort wählt ihr die Version 17 und Core64 aus. Dann seht ihr einen "Bist du ein Mensch"-Dialog und könnt danach auf Start Zorin OS klicken. Ihr werdet dann in eine Warteschlange eingereiht, weil es noch andere Personen gibt, die diese Distro auf dem Server von DistroSea ausprobieren wollen. Normalerweise dauert es nicht lange, bis du an der Reihe bist. Sobald das der Fall ist, klickst du auf Weiter. Sodann startet der originale Installationsprozess des gewählten Betriebssystems. Bei Zorin OS wählt ihr die Sprache und klickt auf Zorin OS ausprobieren.

Nachdem Zorin im Ausprobieren-Modus gestartet ist, kannst du alles ausprobieren, was diese Linux-Distribution bietet. DistroSea stellt ein Menü auf der linken Seite zur Verfügung, mit dem du in den Vollbild-Modus schalten kannst. Damit füllt Zorin deinen gesamten Bildschirm aus.

Nachdem ihr euch verschiedene Distributionen angesehen habt, gibt es drei Möglichkeiten:

  1. Ihr testet die Distro eurer Wahl über einen längeren Zeitraum in einer virtuellen Maschine auf eurem bisherigen Betriebssystem. Da das bei den meisten Windows sein wird, empfehle ich die Installation von Oracle VirtualBox. Eine Anleitung dazu findet ihr hier. Anfänger können mit dieser Methode überfordert sein. Wer die Windows-Home-Edition hat, wird sich mit der Installation des Microsoft Visual C++ Redistributable herumschlagen müssen, bevor VirtualBox installiert werden kann.

  2. Eine Linux-Distribution kann als Dual-Boot neben eurem bestehendem Windows installiert werden. Auch hierfür findet man viele Anleitungen. Leider ist auch diese Variante nichts für Einsteiger.

  3. Man kann die Lieblings-Distro auf einem USB-Stick speichern und davon im Live-Modus booten, ohne das bisherige Betriebssystem zu beeinflussen. Das ist nicht schwierig, ist jedoch für einen monatelangen Testbetrieb nicht geeignet. Ein grosser Vorteil dieser Methode ist, dass ihr die Hardware-Kompatibilität testen könnt.

  4. Besorgt euch ein ausgedientes Notebook und installiert eure Distribution darauf. Das Vorgehen ist das gleiche, wie unter Punkt 3. beschrieben. Allerdings verwendet ihr nicht den Live-Modus, sondern installiert Linux tatsächlich. Dieses Vorgehen hat mehrere Vorteile: Ihr lernt den kompletten Installationsprozess kennen. Die Installation läuft auf echter Hardware. Wenn die Distribution auf dem "alten Hund" schnell genug ist, wird es auf eurem aktuellen Notebook nur noch besser.

Ja, was denn jetzt? Ich schlage eine Kombination von 3 und 4 vor. In beiden Fällen gilt es, die Distribution auf einem USB-Stick zu speichern. Das geht am einfachsten mit der Anwendung Etcher. Zuvor gilt es, die ISO-Datei der Distro herunterzuladen. Nehmen wir Linux Mint als Beispiel: Ihr geht auf die Download-Seite von Mint und sucht euch irgendeinen Download-Server aus. Sinnvollerweise nicht den in Papua-Neuguinea, sondern einen in eurem Land. Dann klickt ihr auf den Link und habt ein paar Minuten später die ISO-Datei in eurem Download-Verzeichnis liegen. Die heisst dann z. B. so: linuxmint-22-cinnamon-64bit.iso

Dann steckt ihr einen USB-Stick ein und startet Etcher. Die Bedienung muss ich hier nicht beschreiben; sie ist kinderleicht. Verwendet bitte einen frischen USB-Stick; uralte Sticks sind gerne mal kaputt.

Installieren

Nachdem die Distribution mit Etcher auf dem USB-Stick gespeichert wurde, könnt ihr euren aktuellen Rechner (oder den alten Hund) herunterfahren und neu starten. Der USB-Stick muss natürlich eingesteckt sein.

Ich habe schon Notebooks erlebt, die nur von bestimmten USB-Buchsen booten konnten. Falls ihr damit Probleme habt, steckt den USB-Stick in einen anderen Port und versucht es erneut.

Nun müsst ihr eurem Gerät erklären, dass es nicht von der Festplatte, sondern vom USB-Stick booten soll. Dafür gibt es zwei Möglichkeiten, die beide etwas nervig sind. Fast alle Geräte erlauben es, beim Starten ein Boot-Menü aufzurufen. Dafür gibt es eine nicht standardisierte Taste. Diese befindet sich immer in der oberen Reihe eurer Tastatur, also entweder ESC oder eine der F-Tasten. Entweder schaut ihr in die Beschreibung eures Gerätes oder sucht im Internet nach der richtigen Taste. Falls es bei euch kein Boot-Menü gibt, müsst ihr das BIOS-Menü aufrufen. Das geschieht ebenfalls über die ESC- oder eine der F-Tasten. Im Boot-Menü kann man mit den Cursor-Tasten auswählen, von welchem Massenspeicher gebootet werden soll (ihr wollt den USB-Stick). Im BIOS-Menü kann man die Boot-Reihenfolge auswählen. Dort könnt ihr einstellen, dass zuerst vom USB-Stick gebootet werden soll.

Soll ich jetzt noch beschreiben, wie man Secure-Boot abschaltet? Puh, ich lasse es sein.

Sobald ihr es geschafft habt, dass euer Gerät vom USB-Stick bootet, ist das die halbe Miete. Zuerst würde ich den Live-Modus auswählen, um sich umzusehen und um die Hardware-Erkennung zu testen. Wenn das gut aussieht, könnt ihr entweder im Live-Modus bleiben (siehe oben bei 3.) oder die tatsächliche Installation anstossen. Dafür gibt es in der Regel ein Icon "Installieren" auf dem Desktop (siehe oben bei 4.)

Nun könnt ihr den Installationsprozess eurer Distro geniessen und beurteilen. Während der Installation müsst ihr ein paar Angaben machen, die alle selbsterklärend sind (ausser bei den die-hard Distros). Nach Abschluss der Installation werdet ihr zum Neustarten aufgefordert.

Dann beginnt das Entdecken eurer neuen GNU/Linux-Distribution. Viel Spass dabei!

Im zweiten Teil des Artikels "Von Windows zu Linux umsteigen", beschreibe ich alles, was man nach der erfolgreichen Installation machen kann. Der dritte Teil handelt von den mitgelieferten Anwendungen.

Schönes Wochenende ☀️

Titelbild: https://wallpaperaccess.com/full/1875475.jpg

Quellen: stehen alle im Text


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

24. Oktober 2024

Suchst Du nach einer GNU/Linux-Distribution, die in einer virtuellen Maschine schnell genug läuft und aktuelle Software liefert?

Gestern habe ich über das Spieglein an der Wand geschrieben und die angepasste Benutzeroberfläche von Zorin OS gelobt. Tatsächlich hatte ich die Idee, weitere Schönheitskönige vorzustellen. Davon hat mich die Erfahrung mit EndeavourOS in einer virtuellen Maschine abgehalten. Diese Arch-basierte Distribution erfreut sich einer grossen Beliebtheit, weil sie Calamares als grafisches Installationsprogramm verwendet und ebenfalls viel Wert auf ein stimmiges Erscheinungsbild legt.

Leider musste ich die Übung vorzeitig abbrechen, da EndeavourOS mit KDE-Plasma als Desktop-Umgebung in der virtuellen Maschine (VM) GNOME-Boxes nicht bedienbar ist. Die Distro funktioniert zwar, jedoch derart zähflüssig, dass man nach ein paar Minuten die Lust verliert. Diese Erfahrung brachte mich zur Idee für diesen Artikel.

Stellen wir uns folgenden Anwendungsfall vor:

In eurem von Microsoft beherrschten Büro möchtet ihr in einer VM eine GNU/Linux-Distribution installieren, damit ihr produktiv arbeiten könnt. Welche Distro eignet sich dafür?

Ich habe noch einen weiteren Use Case zu bieten:

Du verwendest Linux als Haupt-Distribution auf deinem Heimrechner. Gelegentlich möchtest du Anwendungen in einer VM ausprobieren, ohne den Hauptrechner zu versauen.

Diese VM-Installation muss diese Bedingungen erfüllen:

  • einfache Installation in einer VM
  • gute Aufführungsgeschwindigkeit in einer VM
  • Verfügbarkeit von aktuellen Paketen

Wenn das eure Anforderungen sind, empfehle ich Manjaro mit dem Xfce-Desktop. Ich habe die Distro in GNOME-Boxes installiert und für euch kurz getestet. Hier sind meine Ergebnisse:

Installation

Nachdem ihr die ISO-Datei von Manjaro mit dem Xfce-Desktop heruntergeladen habt, erfolgt die Installation wie man es von Manjaro gewohnt ist. Zuerst erscheint ein TUI, in dem man grundlegende Optionen für den Installer einstellen kann. Danach bootet man in die Live-Session und klickt auf das Installieren-Icon. Dann folgt man den Anweisungen des grafischen Installationsprogramms. Ich zeige euch hier keine Bildschirmaufnahmen dieses Prozesses, weil ihr diese bestimmt schon x-mal gesehen habt.

Nachdem die Installation abgeschlossen ist seht ihr nach einem Neustart diese Oberfläche:

Xfce verwendet das Whisker-Menü, welches nach meiner Meinung zu den Besten gehört. Im Screenshot seht ihr den Dateimanager Thunar. Auch diese Anwendung gehört in den Olymp, wenn es um Dateimanager geht. Das Erscheinungsbild entspricht nicht dem Manjaro-Xfce-Standard. Ich habe das Hintergrundbild geändert und von hell auf dunkel umgeschaltet. Ausserdem habe ich dem Panel Anwendungsstarter hinzugefügt.

Nachteile von Xfce

Die Desktop-Umgebung entwickelt sich langsam und bedächtig. Die aktuelle Version von Xfce 4.18 ist am 15. Dezember 2022 erschienen. Die nächste Version Xfce 4.20 ist für den 15. Dezember 2024 geplant. Wie ihr seht, vergehen zwei Jahre zwischen den Releases. Dafür erhaltet ihr eine sehr stabile und durchdachte Arbeitsumgebung.

Das Panel von Xfce ist nicht einsteigerfreundlich. Die Trennung zwischen Starter-Icons und der Anzeige von laufenden Anwendungen ist längst nicht mehr der Stand der Dinge. Man kann im Xfce-Panel zwar alles Gewünschte erreichen, aber nicht als Anfänger:in.

Die Einstellungsverwaltung erinnert an Windows 11. Schlimmer geht es nicht. Das erinnert an die 90er-Jahre. KDE-Plasma und GNOME zeigen, wie es besser geht. Die Xfce-Einstellungen sind ein Sammelsurium von verschiedenen Anwendungen:

Vorteile von Xfce

Xfce ist ein Fels in der Linux-DE-Brandung. Das XForms Common Environment wurde 1996 von Olivier Fourdan begonnen und wird seit fast 30 Jahren bewusst und stetig weiterentwickelt. Diese Desktop-Umgebung gehört zwar nicht zu den Neuesten, behauptet sich jedoch durch ihre Ausgewogenheit zwischen Design, Funktionalität und Geschwindigkeit. Je nachdem, wie Xfce konfiguriert ist, erscheint der Desktop modern und stylish.

Manchmal überlege ich, ob ich vom modernen GNOME-Desktop auf die sauschnelle Xfce-Benutzerumgebung wechseln soll.

Der grösste Vorteil von Xfce ist seine Geschwindigkeit. Das gilt generell, aber besonders bei den oben genannten Anwendungsfällen. KDE-Plasma halte ich für unbenutzbar in virtuellen Umgebungen; langsamer geht es nicht. (Alle KDE-Fans dürfen gerne den Gegenbeweis antreten). Der GNOME-Desktop ist auch lahm, lässt sich aber in VMs noch geradeso anwenden.

Wir schreiben das Jahr 2024. Wir haben in unseren PCs, Notebooks und Smartphones CPUs, GPUs und NPUs zur Verfügung, die die tausendfache Leistung im Vergleich zu den Prozessoren der Jahrtausendwende bieten. Warum wird alles immer langsamer?

Xfce ist schnell, sehr schnell. In meiner Test-Installation öffnet sich der Dateimanager Thunar in gefühlten 0 Sekunden. Das Terminal startet ebenfalls in 0 Sekunden. Firefox ist nicht schneller als in anderen DEs. Gimp braucht 10 Sekunden für den Erststart und 2 Sekunden für den nächsten Start. Thunderbird nimmt sich  6 Sekunden für den Erststart.

Für die Paketverwaltung ist Manjaros Pamac verantwortlich, der auf dem Arch Pacman basiert. Dort gibt es die nativen Arch-Pakete, sowie auf Wunsch AUR-Pakete, Flatpaks und Snap-Pakete:

Himmel, was willst du mehr?

Fazit

Wenn es um eine Distribution geht, die in einer virtuellen Umgebung optimal laufen soll, ist Manjaro mit dem Xfce-Desktop eine gute Wahl. Damit erhaltet ihr eine performante Umgebung, die neue Pakete liefert und gut aussieht. Was wollt ihr mehr?

Hm, ich überlege mir gerade, ob Xfce auf meinen Rechnern eine Alternative für GNOME wäre, tja. Das passiert, wenn man beim Artikelschreiben das Bessere entdeckt :)

Quellen:

Titelbild: https://pixabay.com/illustrations/ai-generated-mouse-racing-car-car-8674235/, KI-generiert, von Ralf bearbeitet

https://xfce.org/
https://wiki.xfce.org/releng/start
https://en.wikipedia.org/wiki/Xfce


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.

23. Oktober 2024

... welches ist die schönste Distro im Land? Oder richtiger: welches ist die schönste Desktop-Konfiguration im Land?

Man sagt, "Die Schönheit liegt im Auge des Betrachters". Von wem diese Weisheit stammt, ist nicht bekannt. Die Schönheit einer GNU/Linux-Distribution kann man bewerten, was jedoch viel schwieriger ist, als auf die Schönheit einer Desktop-Umgebung zu schauen. Auch dabei liegt es im Auge des Betrachters, ob man Schlichtheit oder Opulenz als schöner empfindet. Liegt es an der einfachen Bedienung oder an der Vielzahl der Optionen? Dazu gibt es so viele Geschmäcker wie Anwender:innen. Deshalb spiegelt dieser Artikel nur mein Auge wider.

Meine Kriterien für eine schöne Distro, bzw. Desktop sind:

  • Klarheit
  • Ausgewogenheit
  • Farbliche Abstimmung
  • Gute Dekorationen, inklusive der Auswahl der Hintergrundbilder
  • Stimmige Auswahl der Standard-Anwendungen
  • Geschwindigkeit

Meine Wahl fällt auf Zorin OS. Diese Distribution rangiert bei DistroWatch auf Position 11, was nicht viel bedeutet. Die aktuelle Version 17.2 basiert auf Ubuntu 22.04 LTS, womit sie relativ alt ist (die aktuelle Ubuntu LTS-Version ist 24.04 und somit zwei Jahre neuer). Als Desktop-Umgebung kommt GNOME 43.9 zum Einsatz (aktuell ist GNOME 47). Beim Linux-Kernel wird die Version 6.8 verwendet. Die Installation von Zorin OS ist narrensicher; da es auf Ubuntu aufsetzt. Es werden viele Paketformate unterstützt:

  • APT
  • Flatpak
  • Snap
  • .deb
  • AppImage
  • .exe & .msi (mit dem optionalen Windows App Support)

Doch hier geht es nicht um die Ubuntu-Basis und das Innenleben der Distribution oder die Installation in einer VM, sondern um die Schönheit. So sieht es aus:

Auch das Menü sieht gut aus, ist aber unpraktisch, weil man nach dem Öffnen einer Kategorie (z. B. "Büro") einen Extra-Klick auf die Zurück-Schaltfläche verschwenden muss:

Die Akzentfarben der Anwendungen (Dateien und Taschenrechner) gefallen mir gut:

Die mitgelieferten Hintergrundbilder sind zwar überwiegend gut gewählt, es könnten jedoch ein paar mehr sein.

Auch bei LibreOffice hat sich das Zorin-Team Mühe gegeben, um eine stimmige Konfiguration zu finden:

Zum Schluss zeige ich noch den Webbrowser (Firefox), der keine Designanpassungen erfahren hat und das Terminal:

Selbstverständlich gibt es einen dunklen Modus, der nach meiner Meinung ein wenig zu dunkel geraten ist. Da fehlt der Kontrast, um die einzelnen Fenster gut voneinander unterscheiden zu können:

Da fällt mir noch etwas auf: seht ihr die App-Indikatoren unterhalb der App-Icons? Das geht noch besser, finde ich. Und ja, ich weiss, dass man das einstellen kann; mir geht es um die Standard-Konfiguration.

Fazit

Wenn es um das Design geht, gehört Zorin OS für meinen Geschmack zu den Schönsten im Lande. Die Distribution an sich empfehle ich nicht, weil sie auf dem vorletzten Ubuntu-LTS aufbaut und damit ziemlich alt ist.

Quelle: https://zorin.com/os/


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. Oktober 2024

Die MZLA Technologies Corporation hat mit Thunderbird 128.3.3 ein Update für seinen Open Source E-Mail-Client veröffentlicht.

Neuerungen von Thunderbird 128.3.3

Mit Thunderbird 128.3.3 hat die MZLA Technologies Corporation ein Update für seinen Open Source E-Mail-Client veröffentlicht. Die neue Version bringt mehrere Korrekturen für die Versionsreihe 128, welche sich in den Release Notes (engl.) nachlesen lassen.

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

17. Oktober 2024

Die MZLA Technologies Corporation hat mit Thunderbird 128.3.2 ein Update für seinen Open Source E-Mail-Client veröffentlicht.

Neuerungen von Thunderbird 128.3.2

Mit Thunderbird 128.3.2 hat die MZLA Technologies Corporation ein Update für seinen Open Source E-Mail-Client veröffentlicht. Die neue Version bringt mehrere Korrekturen für die Versionsreihe 128, welche sich in den Release Notes (engl.) nachlesen lassen.

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

14. Oktober 2024

Mozilla hat Firefox 131.0.3 veröffentlicht und bringt damit eine neue Anpassungsmöglichkeit, mehrere Fehlerkorrekturen und Webkompatibilitätsverbesserungen sowie eine geschlossene Sicherheitslücke.

Download Mozilla Firefox 131.0.3

In Firefox 131 hatte Mozilla das Symbol für die Funktion „Alle Tabs anzeigen“ in der Tableiste geändert. Diese Änderung wurde mit Firefox 131.0.3 zurückgenommen, sodass hier jetzt wieder ein weniger auffälliges Pfeil-Symbol angezeigt wird. Außerdem lässt sich die Schaltfläche ab sofort wie andere Schaltflächen aus der Oberfläche entfernen oder verschieben. Bei entfernter Schaltfläche erscheint diese automatisch wieder, sobald Tabs über eine Erweiterung versteckt werden, damit Erweiterungen nicht dazu in der Lage sind, Tabs dauerhaft vor dem Benutzer komplett zu verstecken.

Wie schon mit Firefox 131.0.2 vor wenigen Tagen wurde auch mit diesem Update wieder eine Sicherheitslücke behoben.

Eine mögliche Absturzursache wurde abgefangen, die von der Sicherheits-Software Avast oder AVG unter Windows verursacht wurde.

Die Übersetzungsfunktion übersetzt nicht länger den value-Wert für bestimmte Arten von input-Feldern wie Radio-Buttons oder Checkboxen, weil dies zu unvorhergesehenen Ergebnissen führen könnte.

Ein Problem in Zusammenhang mit dem Tracking-Schutz wurde behoben, welches verursachte, dass mehrere Bank-Websites nicht mehr ordnungsgemäß funktionierten.

Die Wiedergabe von VR180 und 360-Grad-Videos auf YouTube funktionierte nicht mehr.

Für Linux-Nutzer mancher Distribution funktionierte die Wiedergabe von H.264-Videos nicht mehr, ohne dass der Anwender eine Option änderte. Die Linux-Builds von Mozilla waren von diesem Problem nicht betroffen.

Ein Speicherleak bei der canvas-Darstellung auf Websites wurde behoben, welcher zu Abstürzen führen konnte.

Ein Fehler in der Darstellung von SVG-Grafiken wurden behoben, wenn das textPath-Attribut verwendet und der Pfad skaliert wird.

Bei Verwendung von Firefox, wenn dieser über den Microsoft Store auf Windows installiert wurde, konnten nach dem Start zwei Firefox-Symbole in der Taskleiste angezeigt werden, wenn Firefox an die Taskleiste angepinnt wurde.

Eine Anpassung in Zusammenhang mit der Ausrollung des überarbeiteten Dialogs zum Hinterlegen eines alt-Textes für Bilder in PDF-Dateien wurde vorgenommen.

DTLS 1.3 funktioniert bei manchen Diensten nicht korrekt, welche die Spezifikation falsch implementierten. Eine Telemetrie-Erhebung wurde ergänzt, um die Häufigkeit des Auftretens dieses Problems zu messen.

Außerdem gab es eine Korrektur für die Firefox-Startseite, welche die Kacheln zu häufig aus dem Start-Cache gelesen hat, was negative Auswirkungen auf Mozillas Einnahmen über gesponserte Kacheln haben konnte.

Der Beitrag Sicherheits-Update Firefox 131.0.3 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

11. Oktober 2024

Wenn es um die Entwicklung von Software geht, wird oft eine Versionierung wie 0.98.1 verwendet. Historisch gesehen hat dies zur Folge, dass viele Nutzer erwarten, dass Version 1.0 ausgereift ist.

Diese Erwartungshaltung führt dazu, dass einige Projekte eine Veröffentlichung der Version 1.0 vermeiden oder zumindest möglichst lange hinauszögern wollen. Ein Beispiel dürfte Hugo sein. Nach Version 0.99.1 wurde nicht Version 1.0 veröffentlicht, sondern Version 0.100.0. Aktuell ist Version 0.135.0.

Natürlich kann man als Entwickler ignorieren, was manche Nutzer von Version 1.0 erwarten. Oder man kann diese Version so lange hinauszögern bis man bereit ist diese Versionsnummer zu verwenden.

Aber man kann sich als Entwickler auch überlegen, ob man dieses Versionierung überhaupt nutzen möchte. Ich persönlich würde eher “Calendar Versioning” verwenden. Zumal meiner Meinung nach 2024.10.11 aussagekräftiger als 0.78.1 ist. Projekte wie pip, Unity oder Ubuntu nutzen CalVer bereits.

Mir geht es jetzt nicht darum, dass nun jedes Projekt auf CalVer oder einer anderen Versionierung von Veröffentlichung wechselt. Aber ich halte es für sinnvoll, wenn sich Entwickler Gedanken machen, ob eine andere Versionierung heutzutage nicht vielleicht sinnvoller wäre.

10. Oktober 2024

Die MZLA Technologies Corporation hat mit Thunderbird 128.3.1 ein Sicherheits-Update für seinen Open Source E-Mail-Client veröffentlicht.

Neuerungen von Thunderbird 128.3.1

Mit dem Update auf Thunderbird 128.3.1 hat die MZLA Technologies Corporation ein Sicherheits-Update für seinen Open Source E-Mail-Client veröffentlicht. Dieses beinhaltet die Korrektur des gestern veröffentlichten Sicherheits-Updates für Firefox.

Der Beitrag Sicherheits-Update Thunderbird 128.3.1 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

9. Oktober 2024

Mozilla hat Firefox 131.0.2 veröffentlicht und behebt damit eine Sicherheitslücke, welche bereits aktiv ausgenutzt wird.

Download Mozilla Firefox 131.0.2

Mit dem Update auf Firefox 131.0.2 behebt Mozilla eine als kritisch eingestufte Sicherheitslücke, von welcher Mozilla Kenntnis hat, dass diese bereits aktiv ausgenutzt wird. Parallel dazu wurden auch Firefox ESR 128.3.1 sowie Firefox ESR 115.16.1 veröffentlicht, welche die identische Sicherheitslücke beheben.

Zum Zeitpunkt der Erstellung der neuen Version war Firefox 131.0.1 für Android bereits veröffentlicht. Aus diesem Grund gibt es keinen Firefox 131.0.1 für Desktop-Betriebssysteme und auf Firefox 131 folgt direkt Firefox 131.0.2.

Der Beitrag Sicherheits-Update Firefox 131.0.2 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

8. Oktober 2024

Vergangene Woche hat Mozilla Firefox 131 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

Temporäre Website-Berechtigungen

Firefox 131 merkt sich temporär erteilte Website-Berechtigungen. Bislang war es so, dass wenn beispielsweise einer Website die Geolocation-Berechtigung erteilt worden ist, diese nach einem Neuladen oder Navigieren innerhalb der Seite erneut erteilt werden musste, wenn die Berechtigung ein weiteres Mal benötigt worden ist – außer man aktivierte eine Checkbox, dass sich Firefox die Entscheidung merkt. Jetzt merkt sich Firefox automatisch temporär erteilte Berechtigungen maximal eine Stunde lang oder bis der Tab geschlossen wird.

Verlinken von Text-Ausschnitten einer Website

Auf einen bestimmten Abschnitt einer Website zu verlinken, ist über einen sogenannten Ankerlink (example.com#anker) kein Problem. Voraussetzung dafür ist, dass das zu verlinkende Element eine ID im Code hat, welche als Ankername verwendet werden kann. Was auf den etwas sperrigen Namen „URL Fragment Text Directives“ hört, bietet weitaus mehr Flexibilität. Nicht nur, dass man damit auch ohne ID im Code, sondern rein über den Inhalt der Website auf eine beliebige Stelle verlinken kann; Der Browser hebt die verlinkte Stelle auch noch optisch hervor.

Text-Fragmente in Firefox 131

Es ist sogar möglich, mehrere Textstellen hervorzuheben. Die Syntax ist im Vergleich zu Ankerlinks erwartungsgemäß etwas komplexer. Die MDN Web Docs bieten eine ausführliche Dokumentation inklusive Beispielen.

Während Firefox (noch) keine Möglichkeit anbietet, auf einfache Weise einen solchen Link durch Markieren einer Textstelle zu erstellen, kann diese Funktion bereits jetzt durch ein Add-on wie zum Beispiel Link zu Textfragment nachgerüstet werden.

Sonstige Endnutzer-Neuerungen von Firefox 131

Die seit Firefox 129 neu eingeführte und schrittweise ausgerollte Vorschau beim Herüberfahren mit der Maus über einen Tab ist ab sofort für alle Nutzer standardmäßig aktiviert.

Die Übersetzungsfunktion merkt sich jetzt die zuletzt ausgewählte Zielsprache für zukünftige Übersetzungen.

Für Nutzer der separaten Suchleiste ist es wieder möglich, die ausgewählte Suchmaschinen-Website ohne Eingabe eines Suchbegriffes zu öffnen. Dafür muss die Shift-Taste bei Klick auf das entsprechende Suchmaschinen-Symbol oder bei Betätigung der Enter-Taste gehalten werden.

Das Symbol für die Funktion „Alle Tabs anzeigen“ in der Tableiste wurde geändert. Diese Änderung wird mit Firefox 131.0.3 zurückgenommen werden. Die versteckte Option browser.tabs.tabmanager.enabled, um die Schaltfläche komplett zu deaktivieren, wird nicht mehr unterstützt. Dafür wird man das Symbol ab Firefox 131.0.3 wie die anderen Schaltflächen aus der Oberfläche entfernen oder verschieben können.

Firefox merkt sich jetzt wieder die Größe von Sidebars und setzt diese nach einem Neustart von Firefox nicht länger auf den Standardwert zurück.

Die Unterstützung hochauflösender Bildschirme für Linux-Nutzer wurde verbessert, indem nun die Einstellungen für die Schriftskalierung von Gnome 3 / GTK3 vollständig respektiert werden.

Microsoft hat Anpassungen in Windows 11 24H2 im Umgang mit Geolocation-Berechtigungen vorgenommen, welche in älteren Firefox-Versionen zu unerwarteten Dialogen, irreführenden Fehlermeldungen oder ungenauer Standortbestimmung führen können. Firefox 131 nimmt notwendige Anpassungen für die Verwendung der Geolocation-API vor.

Das Setzen von Firefox als Standardbrowser auf Windows aus den Firefox-Einstellungen heraus funktioniert jetzt mit einem Klick, ohne dass weitere Aktionen in den Windows-Einstellungen notwendig sind.

Das Anpinnen von Firefox an die Taskleiste von Windows über die Einführungstour ist jetzt auch mit einem Build möglich, der über den Microsoft Store installiert worden ist.

Mehr Sicherheit für Firefox-Nutzer

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

Außerdem gab es weitere Verbesserungen des Schutzes vor IDN-Spoofing, bei dem bestimmte Zeichen in der Adressleiste vortäuschen, man würde sich auf einer vertrauenswürdigen Domain befinden.

Verbesserungen der Entwicklerwerkzeuge

Im Inspektor-Werkzeug lassen sich bereits die Werte von CSS-Variablen in einem Tooltip anzeigen. Dies war bisher allerdings nicht für Variablen möglich, welche wiederum von anderen Variablen abhängen. Dort stand als Wert dann nur der Name der anderen Variablen anstelle des berechneten Wertes. Jetzt zeigt Firefox zusätzlich auch den berechneten Wert an. Außerdem kann der überarbeitete Tooltip auch eine Farbvorschau anzeigen und nicht aktive Parameter in var() und light-dark() durchgestrichen darstellen.

In der Anzeige der CSS-Regeln wird jetzt auch die Farbauswahl angezeigt, wenn eine verschachtelte Variable genutzt wird. Das Gleiche gilt für die Autovervollständigung. Das Ändern von Zahlenwerten in der Anzeige der CSS-Regeln ist jetzt auch über das Mausrad möglich.

Beim Bearbeiten von HTML-Attributen ist nun besser sichtbar, was gerade bearbeitet wird. Und das Auswählen von Video-Elementen mit dem Inspektor-Werkzeug startet nicht länger automatisch das Video.

Verbesserungen der Webplattform

SameSite=None-Cookies werden nun abgelehnt, wenn kein Secure-Attribut enthalten ist.

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 JavaScript-Seite wurde die Unterstützung für synchrone Iterator-Helfer hinzugefügt. Diese Helfer ermöglichen Array-ähnliche Operationen auf Iteratoren, ohne dass Array-Zwischenobjekte erstellt werden müssen. Sie können auch mit sehr großen Datensätzen verwendet werden, bei denen die Erstellung eines Array-Zwischenobjekts gar nicht möglich wäre.

Dies war nur eine kleine Auswahl der Verbesserungen der Webplattform. Eine vollständige Auflistung lassen sich in den MDN Web Docs nachlesen.

Der Beitrag Die Neuerungen von Firefox 131 erschien zuerst auf soeren-hentzschel.at.

6. Oktober 2024

Schalen am Strand
Schalen am Strand

Zu Beginn meiner Linuxnutzung hatte ich die Bash als meine Shell genutzt (war bzw. ist ja auch Standard), teilweise auch mit oh-my-bash . Irgendwann bin ich dann ueber Zsh und oh-my-zsh gestolpert und habe das dann hauptsaechlich genutzt. Auf Arbeit war es weiterhin ueberall Bash.

Ca. 2015 (?), nachdem ich meinen Terminal Emulator geaendert hatte (auf xiate , Blockpost in Arbeit), musste (?) auch die Zsh dran glauben. Denn ich hatte zwischenzeitlich immer mal wieder was von fish gehoert, aber der Mut zu aendern war nicht so gross 😉

fish #

Dank noqqe (mal wieder) wollte ich fish ca. 2018 nun doch mal etwas laenger austesten. Anscheinend wollte ich damals oh-my-zsh loswerden. Die Gruende weiss ich leider nicht mehr.

fish habe ich dann auch jahrelang eingesetzt (nicht nur unter Arch Linux sondern auch auf dem Arbeitsrechner (diverse MacBook Pros) und diversen Raspberry Pis ).

Der Wechsel war natuerlich einfach (auch dank dem hervorragenden Arch Linux Wiki ):

brew install fish
sudo pacman -S fish
sudo apt-get install fish

Allerdings habe ich nicht fish als Standardshell genutzt (sondern nur als interaktive Shell) indem ich weiterhin Bash als Standard hatte und eine simple .bashrc mit exec fish als Inhalt.

fisher #

Zur Pluginverwaltung kam bei mir fisher zum Einsatz. Zuletzt hatte ich folgende Plugins (andere Favoriten ) in Benutzung:

$ fisher ls
tohn/fish-git-util              # Convenient git utility functions
barnybug/docker-fish-completion # Completion for Docker
jorgebucaran/autopair.fish      # Auto-complete matching pairs
orefalo/g2                      # einfachere git Befehle
jorgebucaran/fisher             # fisher selbst
markcial/cprintf                # Printf with colors
jethrokuan/fzf                  # fuzzy-finder
brgmnn/fish-docker-compose      # docker-compose completions
jethrokuan/z                    # Pure-fish z directory jumping

oh-my-fish gibt es uebrigens auch. Z ist schon (statt autojump, fasd oder v) ziemlich cool, besonders in Verbindung mit fzf (hier ein alternatives Plugin fuer fish).

Weitere Links fuer fish #

Damals hatten mich neben dem Beitrag von noqqe auch folgende Links zu einem Wechsel bewogen:

Zsh (again) #

Allerdings hatte ich immer so meine Probleme mit fish. Zum einen konnte ich mich einfach nicht an die Syntax gewoehnen, wenn ich quasi ueberall sonst (in Scripts oder auf Arbeit) Bashsyntax verwende. In meinem Terminal waren Schleifen, Subshells usw. immer ein Problem (fuer mich) und ich musste daher immer extra kleine Scripte schreiben.

Auch sowas wie die Installation von z.B. conda waren immer aufwaendig/unmoeglich (wahrscheinlich weil fish nur als interaktive Shell gesetzt war). Und bis heute nutze ich den Hack, dass meine Standardshell immer noch Bash ist, indem in der .bashrc nach vielen Exports ein exec fish drin steht. Also irgendwie war ich nie rundum gluecklich. Auch ein paar Kleinigkeiten wie Tab Completions in/mit Ordnern und fehlende Completions bei git commit, wenn die Datei gerade mit git add hinzugefuegt wurde.

tl;dr es wurde Zeit fuer einen Wechsel. Da Zsh seit 5 Jahren die Standardshell unter macOS ist, habe ich sie auch wieder auserkoren. Mal sehen, was mich damals gestoert hatte 😅

Zumindest die Installation ist wieder recht einfach:

brew install zsh
sudo pacman -S zsh
sudo apt-get install zsh

# danach (OS unabhaengig)
chsh -s $(which zsh)

Danach habe ich einfach mal zsh eingegeben (ohne ~/.zshrc). Und bin damit die Installation ganz normal durchgegangen mit den Standardwerten.

Allerdings sind die Defaults ziemlich langweilig. Also nutzen wir Plugins ✨

Plugins #

Erstmal brauchen wir einen Pluginmanager oder Framework. Nachdem ich einen Tag lang oh-my-zsh installiert hatte (und mich auch hier die Defaults genervt hatten) und Antigen leider nicht mehr weiterentwickelt wird, habe ich mich dank dem Artikel im Arch Linux Wiki fuer Zim entschieden (das war eine gute Entscheidung ).

Natuerlich wollte ich moeglichst viele Sachen von fish auch wieder in Zsh haben, z.B. Aliase (meistens Abkuerzungen fuer haeufig genutzte Befehle), aber auch:

  • Rueckwaertssuche in der History mit fzf
  • Tab Completions (u.a. fuer ssh)

Im Moment sieht meine ~/.zimrc so aus:

zmodule environment
zmodule input
zmodule direnv
zmodule fzf
#zmodule git # finde grosses G bisschen seltsam
#zmodule homebrew # ebenso hier mit brew
zmodule ssh
zmodule utility
zmodule termtitle
zmodule prompt-pwd
zmodule git-info
zmodule duration-info
zmodule zsh-users/zsh-completions --fpath src
zmodule zsh-users/zsh-syntax-highlighting
zmodule zsh-users/zsh-autosuggestions
zmodule ohmyzsh/ohmyzsh --root plugins/brew
#zmodule ohmyzsh/ohmyzsh --root plugins/docker
zmodule ohmyzsh/ohmyzsh --root plugins/docker-compose
zmodule ohmyzsh/ohmyzsh --root plugins/globalias
zmodule ohmyzsh/ohmyzsh --root plugins/z
zmodule hlissner/zsh-autopair
zmodule joke/zim-starship
zmodule /Users/uxgch/path/to/zsh-plugin # lokaler Kram (hauptsaechlich Aliases)
zmodule completion # muss fast ans Ende
zmodule ohmyzsh/ohmyzsh --root plugins/git

Zim ist fuer Zsh was Vundle fuer (neo)vim ist. Recht easy 😊

Weitere (Plugin)sammlungen:

Prompts/Themes #

Das ist echt ein Thema fuer sich. Bisher sah jede Prompt bei mir anders aus (und war meist eine geaenderte Version von oeffentlich verfuegbaren), aber ich glaube ich haette gerne etwas, was crossplattform ist.

Etwa eine Stunde lang hatte ich dank Zim bira (weitere Themes ) genutzt 😅

Und bin dann dank Modul fuer Zim zu Starship gewechselt. Als Vorlage habe ich mir Gruvbox Rainbow runtergeladen 🌈

Zusaetzlich dazu habe ich mir eine Nerdfont (genauer die “Hack Nerd Font”) installiert und in iTerm2 eingerichtet .

Sonstiges #

SSH #

Meine SSH-Config ist etwas umfangreicher (mehrere Includes, eigene UserKnownHostsFiles, mehrere Identities, mehrere Namen in einer Host-Zeile usw.)

Sehr aufgehalten hat mich die UserKnownHostsFiles. Die Hosts wurden naemlich einfach nicht angezeigt bei der Completion. Beheben konnte ich das durch folgende Zeile in der ~/.zshrc:

zstyle ':completion:*:(ssh|scp|sftp|rsh|rsync):*' hosts ${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_,~/.ssh/ssh-config/.known_}hosts{,_*}(|2)(N) /dev/null)"}%%[# ]*}//,/ }

History #

Bei der Migration von fish zu zsh bin ich grob dieser Anleitung gefolgt . Ich wollte eigentlich auch die History migrieren, hatte auch dieses kleine Programm dafuer genutzt. Allerdings gab es anscheinend irgendwo in meiner History einen Fehler und es konnte leider keine History migriert werden. Ist aber auch ok, ich hab sie ja noch als Datei in meinem Dateisystem rumfliegen.


Danke, dass du das hier via RSS liest! :)

3. Oktober 2024

Mit chezmoi lassen sich nicht nur einzelne Konfigurationsdateien verwalten, sondern auch ganze Verzeichnisse.

Auf meinen Rechnern sieht der Inhalt des Verzeichnisses ~/.config/zsh beispielsweise folgendermaßen aus.

 1zsh
 2├── aliase.zsh
 3├── completion.zsh
 4├── environment.zsh
 5├── functions.d
 6│   ├── clrhist
 7│   ├── sshf
 8│   ├── up
 9│   └── updpkgbuild
10├── functions.zsh
11├── options.zsh
12├── prompt.zsh
13├── .zhistory
14└── .zshrc

Führt man chezmoi add ~/.config/zsh aus, werden alle darin enthaltenen Dateien übernommen. Was aber nicht immer gewünscht ist.

Damit chezmoi bestimmte Dateien bzw. Verzeichnisse ignoriert, legt man in der Standardkonfiguration unter ~/.local/share/chezmoi die Datei .chezmoiignore an und trägt die Dateien / Verzeichnisse ein die ignoriert werden sollen. Will man nun, dass chezmoi die Datei .zhistory ignoriert, reicht es in dem Fall aber nicht, einfach .zhistory in die Datei zu schreiben. Man muss doublestar.Match verwenden. Somit würde bei diesem Beispiel der Eintrag **/.zhistory funktionieren.

Führt man nun chezmoi add ~/.config/zsh aus, sollte “chezmoi: warning: ignoring .config/zsh/.zhistory” angezeigt werden und die Datei sollte nicht übernommen werden.

2. Oktober 2024

Um Konfigurationsdateien auf mehreren Rechnern zu verwalten, kann man das Tool chezmoi nutzen.

Das Tool erstellt hierfür unter ~/.local/share/chezmoi ein lokales Git-Repository. Allerdings habe ich alle meine anderen Repositories in einem anderen Verzeichnis gespeichert. Daher habe ich mich gefragt, ob man das Standardverzeichnis von chezmoi ändern kann. Ja, kann man.

Hierfür legt man, falls nicht bereits vorhanden, die Datei ~/.config/chezmoi/chezmoi.toml an und trägt in dieser beispielsweise folgendes ein.

1sourceDir = "~/repository/dotfiles"

Führt man nun chezmoi init aus, wird das Repository nicht mehr in ~/.local/share/chezmoi, sondern im angegebenen Verzeichnis erstellt.

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

Neuerungen von Thunderbird 128.3

Mit dem Update auf Thunderbird 128.3 hat die MZLA Technologies Corporation ein planmäßiges Update für seinen Open Source E-Mail-Client veröffentlicht. Das Update bringt diverse Fehlerbehebungen und Verbesserungen unter der Haube, welche sich in den Release Notes (engl.) nachlesen lassen. Auch wurden diverse Sicherheitslücken geschlossen.

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

30. September 2024

Die MZLA Technologies Corporation hat die erste Beta-Version von Thunderbird für Android veröffentlicht. Die App steht im Google Play Store sowie auf GitHub zum Download bereit.

Im Sommer 2022 wurde die Übernahme des E-Mail-Clients K-9 für Android durch die MZLA Technologies Corporation, Entwicklerin von Thunderbird, bekannt gegeben. Nun steht eine erste Beta-Version von Thunderbird für Android zum Download bereit, wahlweise über den Google Play Store oder via GitHub. Später soll auch noch F-Droid als zusätzliche Option dazukommen.

Die Veröffentlichung der ersten finalen Version von Thunderbird für Android ist derzeit für die vierte Oktoberwoche geplant. Dann wird es auch eine ausführlichere Vorstellung auf diesem Blog geben.

Der Beitrag Thunderbird Beta für Android veröffentlicht erschien zuerst auf soeren-hentzschel.at.

Dieser Artikel gibt meine Motivation für den Bau von Container-Images und die Vorgehensweise wieder und zeigt, wie ich mit Buildah meine OCI-kompatiblen Container-Images erstelle.

Es handelt sich dabei mehr um einen Erfahrungsbericht als ein Tutorial und ich erhebe keinen Anspruch auf Vollständigkeit. Das behandelte Beispiel ist jedoch zum Einstieg und zur Nachahmung für all jene geeignet, die Container ausführen können und diese gerne ohne Verwendung von Containerfiles bauen möchten.

Motivation

Ich möchte die Ansible-Rollen aus meiner Collection tronde.nextcloud mit Molecule und Podman-Containern testen. Als Zielplattform für das Deployment der Nextcloud unterstütze ich zunächst Debian und RHEL.

Die Tests sollen verifizieren, dass Nextcloud im Container in einer rootless-Podman-Umgebung bereitgestellt werden kann. Da der Test unter Verwendung von Podman-Containern durchgeführt werden soll, müssen diese Container eine solche rootless-Podman-Umgebung bereitstellen.

Für RHEL 8 und RHEL 9 habe ich entsprechende Container-Images gefunden. Für Debian bin ich nicht fündig geworden und habe daher beschlossen, diese Container-Images selbst zu erstellen.

Buildah ist das Werkzeug meiner Wahl, da:

  • Container-Images damit interaktiv erstellt werden können,
  • die verwendeten Befehle am Ende in einem Bash-Skript gesammelt werden können,
  • sich damit sogar interaktive Abfragen mit Heredocs beantworten lassen,
  • man kein containerfile(5) benötigt und
  • ich das Werkzeug noch nicht kenne und es gerne kennenlernen möchte.

Für mich sind dies ausreichend Gründe, um mich kopfüber in ein neues Container-Projekt zu stürzen. Wer mehr über die Beziehung von Buildah zu Podman erfahren möchte, dem empfehle ich den englischsprachigen Artikel: Buildah and Podman Relationship von Tom Sweeney.

Mein Weg zum Image

Um rootless Podman in einem Container zum Laufen zu bekommen, habe ich mich an dem englischsprachigen Artikel How to use Podman inside of a container von Dan Walsh orientiert. Das Ergebnis findet ihr in meinem GitHub-Repo tronde/container-image-forge.

Die folgenden Code-Blöcke zeigen Auszüge aus dem Skript buildah_create_debian_bookworm_with_rootless_podman.sh (Commit 7634ed8). Die enthaltenen Befehle werden unter dem jeweiligen Code-Block erläutert. Alle Befehle werden als normaler Benutzer ohne Root-Rechte ausgeführt.

# Name of target container image
tctri=debian_rootless_podman

# Get a base image
ctr=$(buildah from --pull=newer docker://docker.io/library/debian:bookworm)
  • Die Variable tctri nimmt den Namen des Container-Images auf, welches ich erzeugen werde
  • Die Variable ctr nimmt den Namen des Containers auf, welcher durch den buildah-from(1)-Befehl erzeugt wird; mit diesem Container wird im Folgenden gearbeitet
  • Die Option --pull=newer sorgt dafür, dass das Image nur dann aus der angegebenen Registry heruntergeladen wird, wenn es aktueller als das evtl. lokal gespeicherte Image ist
buildah run -- $ctr apt -y update
buildah run -- $ctr apt -y upgrade
buildah run -- $ctr apt -y install podman fuse-overlayfs libvshadow-utils libcap2-bin ca-certificates
  • Mit buildah-run(1) werden Befehle innerhalb des Arbeits-Containers ausgeführt
  • Ich aktualisiere die im Basis-Image enthaltenen Pakte und
  • installiere die für rootless Podman benötigten Pakete
  • Das Paket ca-certificates wird benötigt, um später Container-Images aus einer Registry herunterladen zu können
buildah run -- $ctr useradd podman
buildah run -- $ctr sh -c "echo podman:1:999 > /etc/subuid"
buildah run -- $ctr sh -c "echo podman:1001:64535 >> /etc/subuid"
buildah run -- $ctr sh -c "echo podman:1:999 > /etc/subgid"
buildah run -- $ctr sh -c "echo podman:1001:64535 >> /etc/subgid"
buildah run -- $ctr setcap cap_setuid+epi /usr/bin/newuidmap
buildah run -- $ctr setcap cap_setgid+epi /usr/bin/newgidmap
  • Mit den hier dargestellten Befehlen wird der nicht-privilegierte Benutzer podman erstellt
  • Die IDs für /etc/sub[g,u]id habe ich mir aus dem ubi9/podman-Image abgeschaut
  • Die setcap-Befehle sind notwendig, um rootless Podman ausführen zu können; ich habe sie durch Internetrecherche und Trial-and-Error zusammengestellt
buildah config -v /var/lib/containers $ctr
buildah config -v /home/podman/.local/share/containers $ctr
  • Das Image wird in der Lage sein, rootful und rootless Podman auszuführen
  • Mit den beiden Befehlen werden die Volumes hinzugefügt, die Podman als Container Storage nutzt
    • Rootful Podman verwendet /var/lib/containers
    • Rootless Podman verwendet /home/podman/.local/share/containers
buildah run -- $ctr chown -R podman:podman /home/podman
buildah run -- $ctr sh -c "mkdir -p /var/lib/shared/overlay-images /var/lib/shared/overlay-layers /var/lib/shared/vfs-images /var/lib/shared/vfs-layers; touch /var/lib/shared/overlay-images/images.lock; touch /var/lib/shared/overlay-layers/layers.lock; touch /var/lib/shared/vfs-images/images.lock; touch /var/lib/shared/vfs-layers/layers.lock"
buildah config --env _CONTAINERS_USERNS_CONFIGURED="" $ctr
  • Der Benutzer podman bekommt ein HOME-Verzeichnis
  • Ich erstelle die Verzeichnisse, die ich im Artikel [7] gefunden habe
  • Ich erstelle die Environment-Variable, die ich ebenfalls in genanntem Artikel [7] gefunden habe
buildah run -- $ctr apt -y reinstall uidmap
buildah run -- $ctr apt -y clean
buildah run -- $ctr rm -rf /var/lib/apt/lists/*
  • Aus mir nicht bekannter Ursache muss das Paket uidmap neu installiert werden, um ein UID/GID-Mapping sicherzustellen; dies scheint analog zur Neuinstallation der shadow-utils in Artikel [7] notwendig zu sein
  • Die beiden folgenden Befehle sollen den Paket-Cache aufräumen, um die Größe des resultierenden Images zu verkleinern, zeigen jedoch keinen sichtbaren Effekt
# Commit to an image
buildah commit --rm $ctr $tctri
# Alternative: Use this and add GPG fingerprint for image signing
# buildah commit --sign-by <fingerprint> --rm $ctr $tctri

# Tag the image just created
buildah tag $tctri $tctri:bookworm-$(date --iso)
  • Mit buildah-commit(1) wird der Inhalt des Arbeits-Containers $ctr in ein Container-Image namens $tctri geschrieben
  • Durch Angabe der Option --rm wird der Arbeits-Container entfernt
  • Die Kommentarzeile lässt erkennen, dass ich zukünftig beabsichtige, meine Images digital zu signieren
  • buildah-tag(1) fügt dem Image einen Tag mit Datumsstempel hinzu; siehe auch: Recommendations for tagging and versioning container images

Der Befehl buildah-commit(1) fügt dem neuen Image übrigens nur einen weiteren Layer hinzu, egal wie viele Befehle zuvor im Arbeits-Container ausgeführt wurden. Das erzeugte Image umfasst also die Layer des Basis-Image plus einen weiteren.

Zwischenfazit

An diesem Punkt habe ich ein Basis-Image ausgewählt, mithilfe von buildah zusätzliche Software installiert, einen Benutzer hinzugefügt und ein neues Image erzeugt.

Um den Build-Prozess zu automatisieren, habe ich die notwendigen Befehle in Bash-Skripte geschrieben und unter https://github.com/Tronde/container-image-forge abgelegt.

Die fertigen Images halte ich in der Registry https://quay.io/repository/rhn-support-jkastnin/debian_rootless_podman vor. Fühlt euch frei, diese für eigene Experimente zu benutzen, doch verwendet sie nur mit Vorsicht in Produktion. Ich erzeuge diese Images nur nach Bedarf neu, so dass die veröffentlichen Versionen veraltet und voller Sicherheitslücken sein können.

Validierung

Jetzt, wo die Images fertig sind, kann ich prüfen, ob sich rootless Podman darin auch wie gewünscht ausführen lässt.

Die Prozesse innerhalb des von meinem Container-Image instanziierten Containers laufen als Benutzer root. Um die Prozesse als Benutzer podman auszuführen, ist dies beim Aufruf von podman run explizit mit anzugeben. Der folgende Code-Block verdeutlicht dies und zeigt zugleich den ersten Fehler beim Versuch rootless Podman auszuführen.

]$ podman run --rm localhost/debian_rootless_podman:bookworm-2024-09-21 id
uid=0(root) gid=0(root) groups=0(root)
]$ podman run --rm --user podman localhost/debian_rootless_podman:bookworm-2024-09-21 id
uid=1000(podman) gid=1000(podman) groups=1000(podman)
]$ podman run --rm --security-opt label=disable --user podman --device /dev/fuse localhost/debian_rootless_podman:bookworm-2024-09-21 podman info
time="2024-09-21T18:43:35Z" level=error msg="running `/usr/bin/newuidmap 15 0 1000 1 1 1 999 1000 1001 64535`: newuidmap: write to uid_map failed: Operation not permitted\n"
Error: cannot set up namespace using "/usr/bin/newuidmap": exit status 1

Der Fehler deutet auf fehlende capabilities(7) hin. Um diese Hypothese zu testen, wiederhole ich den letzten Befehl mit der Option --privileged (siehe dazu podman-run(1)):

]$ podman run --rm --security-opt label=disable --user podman --device /dev/fuse --privileged localhost/debian_rootless_podman:bookworm-2024-09-21 podman info
host:
…

Damit funktioniert es. Leider geben sich viele Menschen an dieser Stelle mit dem Ergebnis zufrieden. Doch ich möchte diese Container nicht einfach mit --privileged ausführen. Also studiere ich die Manpage capabilities(7) und teste mich Stück für Stück heran, bis ich mit dem folgenden Kommando ebenfalls erfolgreich bin:

]$ podman run  --rm --user podman --security-opt label=disable --device /dev/fuse --cap-add=setuid,setgid,sys_admin,chown localhost/debian_rootless_podman:bookworm-2024-09-21 podman info
host:
…

Dies ist schon deutlich besser, da dem Container hiermit deutlich weniger Privilegien eingeräumt werden müssen. Das Thema Container-Privilegien und capabilities(7) werde ich noch genauer untersuchen. Eventuell folgt dazu dann auch ein weiterer Artikel. Für den Moment ist das Ergebnis gut genug.

Quellen und weiterführende Links

  1. Buildah.io
  2. Ansible Collection tronde.nextcloud
  3. Mein Wochenendprojekt Nextcloud im Container
  4. Podman Images im Red Hat Catalog
  5. Buildah and Podman Relationship von Tom Sweeney
  6. About Ansible Molecule
  7. How to use Podman inside of a container by Dan Walsh
  8. Using podman containers
  9. Having trouble getting started with rootless podman running rootless podman inside a Debian 12 image #23838
  10. Recommendations for tagging and versioning container images

29. September 2024

Mozilla hat Version 2.24 seiner VPN-Clients für das Mozilla VPN veröffentlicht. Dieser Artikel beschreibt die Neuerungen vom Mozilla VPN 2.24.

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

Das Update auf das Mozilla VPN 2.24 bringt keine neuen Funktionen, sondern ausschließlich Fehlerbehebungen und Verbesserungen unter der Haube. Für Nutzer eines Mac-Computers ist macOS 11 die neue Mindestanforderung.

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

Die letzten wichtigen verbleibenden Bausteine für den Realtime-Support für Linux wurden in den Mainline-Zweig aufgenommen. Das bedeutet, dass Linux 6.12 voraussichtlich in einem echtzeitfähigen Modus betrieben werden kann, wenn der Kernel entsprechend kompiliert wird.

Echtzeitfähigkeit wird insbesondere in Embedded-Szenarien benötigt, wenn auf eine Eingabe innerhalb einer vorhersagbaren Zeit eine Antwort erwartet wird. Speziell in der Robotik, aber auch in der Multimediaproduktion gibt es solche Anforderungen. Dabei kommt es nicht darauf an, dass eine Aufgabe schnell abgearbeitet wird, sondern, dass sie in einer deterministischen Zeit begonnen wird.

Ein Beispiel für Echtzeit

An dieser Stelle mag sich die Frage stellen, was diese Echtzeitfähigkeit, von der hier geredet wird, überhaupt ist. Das lässt sich gut am Beispiel eines Line-following Robot klären. Was ein solcher Roboter tut, kann man sich z. B. in diesem YouTube-Video ansehen. Technisch besteht so ein Roboter aus zwei (oder mehr) Kameras als Sensoren, zwei Motoren für jeweils ein Rad als Aktoren und einem Controller zur Steuerung. Die Kameras sollen den Kontrast ermitteln, damit festgestellt werden kann, ob sie noch auf die schwarze Linie zeigen. Bemerkt eine der Kameras beim Fahren, dass sie den Sichtkontakt zur Linie aufgrund z. B. einer Kurve verliert, müssen die Motoren durch eine leichte Drehung nachsteuern, um auf der Linie zu bleiben.

Diese Kameras lösen üblicherweise entsprechend ihrer Abtastfrequenz auf dem Controller für die Steuerung einen Interrupt aus. Das führt zur Abarbeitung der Steuerungsroutine, die für beide Motoren die Geschwindigkeit berechnet, mit der sie sich drehen sollen.

Entscheidend ist, dass nicht beide Kameras den Sichtkontakt verlieren, damit der Roboter weiterhin weiß, in welche Richtung er nachsteuern muss. Üblicherweise wird das beim Testen funktionieren, aber es kann in bestimmten Randbedingungen bei normalen Betriebssystemen, wenn der Controller z. B. mit vielen anderen Aufgaben zufälligerweise beschäftigt ist, passieren, dass auf einmal nicht schnell genug die Routine aufgerufen wird. Der Roboter verliert dann den Sichtkontakt.

Der Entwickler eines solchen Roboters kann nun eine Echtzeitanforderung formulieren, dass z. B. auf ein Interrupt von den Kameras innerhalb von 1 Millisekunde reagiert werden muss. Er kann mit dieser Anforderung jetzt die maximale Geschwindigkeit des Roboters so wählen, dass der Roboter langsam genug fährt, um nicht die Linie – trotz der Latenz von im worst-case 1 Millisekunde – nicht zu verlieren.

Diese 1 Millisekunde muss aber auch vom Controller, seinem Betriebssystem und schließlich seinem Kernel garantiert werden. Der Kernel muss also in jeder Situation in der Lage sein, auf eine Anforderung innerhalb einer vorbestimmten Zeit zu reagieren. Unabhängig von der zwingenden Fähigkeit, präemptiv zu arbeiten, also jederzeit anderer Prozesse unterbrechen zu können, darf der Kernel auch nicht mit sich selber unvorhersehbar lange beschäftigt sein, wenn z. B. eine Synchronisation hängt.

20 Jahre Arbeit

Und genau hierum geht es beim grob gesagt beim PREEMPT_RT-Patch. Der Kernel muss so nachgebessert werden, dass keine Komponente sich unnötig lange aufhängt und somit die Abarbeitung von Aufgaben behindert, für die eine garantierte Ausführungszeit festgelegt wurde.

Die ursprüngliche Arbeit begann bereits im Jahr 2004 auf einem getrennten Zweig und hatte viele Verbesserungen in den Kernel gebracht, zuletzt an der printk()-Infrastruktur. Jetzt sollten die Arbeiten so weit sein, dass Realtime nicht mehr auf einem getrennten Zweig, sondern im Hauptzweig entwickelt werden kann.

Die Echtzeitfähigkeit gab es somit in speziell präparierten Kernels schon lange. Neu ist, dass der Code im Hauptzweig gepflegt wird und somit besser mit Änderungen anderer Maintainer abgestimmt werden kann. Denn eine Änderung an einer anderen Komponente reicht schon aus, um die Echtzeitfähigkeit zu unterminieren.

Linux echtzeitfähig zu machen, ist somit ein großer Aufwand gewesen, weil man solche Fähigkeiten oft nur in spezialisierten Betriebssystemen (sogenannten Real-time operating systems, RTOS) vorfindet. Insbesondere Thomas Gleixner und John Ogness haben hier große Anstrengungen unternommen. Jetzt, nach knapp 20 Jahren Arbeit, dürfte das Vorhaben einen wichtigen Meilenstein erreichen.

Wer sich für einen tieferen Einblick in die Linux-RT-Welt interessiert, kann einerseits den Artikel von Thomas Leemhuis auf Heise Online von letzter Woche lesen oder sich auf LWN durch das Artikelarchiv zu der Thematik arbeiten.

24. September 2024

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. Auch in diesem Monat wurde die Unterstützung von Sprachen erweitert.

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.

Seit ich im vergangenen Monat zuletzt berichtet hatte, ist die Unterstützung weiterer Sprachen dazugekommen.

Komplett neu sowohl für finale als auch Nightly-Versionen von Firefox ist die Unterstützung sowohl aus dem Schwedischen als auch ins Schwedische, nach Finnisch sowie Türkisch. Neu in finalen Firefox-Versionen, zuvor aber bereits in Nightly-Versionen unterstützt, sind Übersetzungen aus dem Griechischen, Russischen sowie Slowenischen. Nightly-Versionen erhalten außerdem die Unterstützung von Übersetzungen ins Slowakische neu dazu.

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 28 Sprachen in mindestens eine Richtung. Für die Nightly-Version von Firefox sind es sogar schon 34 Sprachen. Mozilla arbeitet mit Hochdruck daran, dass noch viele weitere folgen werden.

Firefox Translations September 2024

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