ubuntuusers.de

24. Oktober 2023

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

Verbessertes Firefox View

Mit Firefox 106 hatte Mozilla vor ziemlich genau einem Jahr Firefox View eingeführt. Dabei handelt es sich um eine Seite, welche standardmäßig über eine Schaltfläche in der Tableiste erreicht werden kann. Diese Seite zeigte bisher sowohl die letzten drei synchronisierten Tabs von anderen Geräten als auch die 25 zuletzt geschlossenen Tabs an, welche von dort auch wiederhergestellt werden können.

Mit Firefox 119 hat Mozilla Firefox View überarbeitet. Nicht nur das Layout der Seite sowie das Symbol in der Tableiste haben sich geändert. Firefox View beinhaltet jetzt auch eine Liste aller geöffneten Fenster und deren Tabs. Ebenfalls neu ist ein Reiter für die Chronik, welche wahlweise nach Datum oder Website sortiert werden kann. Auch können nun alle synchronisierten Tabs darüber erreicht werden und nicht länger nur die drei letzten.

Firefox View in Firefox 119

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

Einfügen von Bildern in PDF-Dateien

Manchmal kann es notwendig sein, eine bestehende PDF-Datei zu bearbeiten und zusätzliche Textanmerkungen zu platzieren. Auch das Zeichnen auf PDF-Dateien ist seit Firefox 106 möglich. Firefox 119 ergänzt die Möglichkeit, zusätzliche Bilder in PDF-Dateien zu integrieren. Mögliche Anwendungsfälle hierfür wären beispielsweise Stempel oder Unterschriften auf digitalen Dokumenten.

Natürlich soll auch die Barrierefreiheit dabei nicht zu kurz kommen. Daher können Bilder entweder als dekorativ markiert oder ein Alternativtext hinterlegt werden, der Nutzern assistiver Technologien bereitgestellt wird.

Firefox 119: Bilder in PDF-Dateien

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

Import von Erweiterungen aus Google Chrome

Nutzer, welche von einem Browser zu einem anderen wechseln, wollen häufig ihre Chronik, Lesezeichen, gespeicherte Passwörter und eventuell noch weitere Daten aus ihrem bisherigen Browser importieren und nicht alles neu anlegen müssen. Auch Firefox bietet diese Möglichkeit an. Neu ist die Möglichkeit, kompatible Versionen von Erweiterungen aus Google Chrome zu importieren.

Erweiterungen aus Google Chrome in Mozilla Firefox importieren

Diese Neuerung wurde schrittweise seit Firefox 116 ausgerollt und steht jetzt für alle Nutzer standardmäßig zur Verfügung.

Windows-Akzentfarbe für Tableiste respektieren

Browser wie Microsoft Edge oder Google Chrome nutzen die in Windows eingestellte Akzentfarbe als Hintergrundfarbe für die Leiste mit den Tabs. Firefox hingegen zeigt die Tableiste immer in Grau an, sofern kein Theme installiert ist.

Ab Firefox 119 ist es möglich, bei Verwendung des System-Themes auch in Firefox die Akzentfarbe für die Tableiste zu nutzen. Dazu muss der Schalter widget.windows.titlebar-accent.enabled in about:config per Doppelklick auf true geschaltet werden.

Windows-Akzentfarbe in Firefox 119

Privatsphäre-Verbesserungen in Firefox 119

Als Teil des sogenannten vollständigen Cookie-Schutzes unterstützt Firefox jetzt auch die Partitionierung von Blob-URLs, was einen potenziellen Tracking-Vektor entschärft, den Drittanbieter nutzen könnten, um eine Person zu verfolgen.

Im strengen Modus des Schutzes vor Aktivitätenverfolgung wurde die Sichtbarkeit von Schriftarten für Websites auf Systemschriftarten und Schriftarten der Sprachpakete beschränkt, um das Fingerprinting von Schriftarten zu verringern.

Verbesserungen gab es auch bei der Storage Access API, um die Sicherheit zu verbessern und gleichzeitig den Ausfall von Websites abzumildern und damit den Verzicht auf Cookies von Drittanbietern in Firefox weiter voranzutreiben.

Mehr Sicherheit für Firefox-Nutzer

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

Mit der Unterstützung von Encrypted Client Hello (ECH) in Kombination mit DNS over HTTPS (DoH) wird bereits der sogenannte „Handshake“ an eine Website sicher verschlüsselt.

Sonstige Endnutzer-Neuerungen von Firefox 119

Seit Firefox 118 gibt es 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. Diese wurde weiter verbessert und kann jetzt auch Inhalte übersetzen, welche dynamisch zur Website hinzufügt werden, nachdem die Seite geladen ist.

Kürzlich geschlossene Tabs bleiben jetzt auch zwischen Sitzungen bestehen, in denen die automatische Sitzungswiederherstellung nicht aktiviert ist. Bei der manuellen Wiederherstellung einer vorherigen Sitzung werden alle zuvor geöffneten Tabs oder Fenster erneut geöffnet.

Auf Windows verschwindet jetzt der Mauszeiger, während etwas in ein Textfeld eingegeben wird, sofern die entsprechende Windows-Einstellung aktiviert ist.

Bei der direkten Navigation zu Mediendateien vom Typ application/octet-stream werden die MIME-Typen nicht mehr vom Media-Sniffer überschrieben, sodass diese Dateien heruntergeladen werden können, anstatt sie abzuspielen.

Beim Speichern von PDF-Dateien hatte Firefox standardmäßig immer das generell zuletzt verwendete Verzeichnis vorgeschlagen, anstatt sich dies per Domain zu merken.

Weiterleitungs-URLs von Google werden nicht länger in den Adressleistenvorschlägen angezeigt.

Verbesserungen der Entwicklerwerkzeuge

Die Funktion, welche CSS-Stile markiert, die nicht wirksam sind, wurde verbessert und unterstützt nun Pseudo-Elemente wie ::first-letter, ::cue und ::placeholder.

Der JSON-Betrachter, der JSON-Antworten automatisch formatiert darstellt, wechselt jetzt automatisch zur Rohdatenansicht, wenn die JSON-Antwort ungültig oder fehlerhaft ist.

Das Berechnet-Panel des Inspektor-Werkzeugs zeigt jetzt auch die Werte definierter CSS-Variablen an.

Verbesserungen der Webplattform

Die Scroll-Algorithmen von Firefox wurden verbessert, um unerwartete Sprünge, die vor allem auf Facebook auftreten konnten, zu reduzieren.

Die CSS-Funktion attr() unterstützt jetzt einen Fallback-Parameter. Auf JavaScript-Seite neu ist die Unterstütztung von Object.groupBy, Map.groupBy, String.prototype.isWellFormed() und String.prototype.toWellFormed().

ARIA-Attribute können jetzt direkt über JavaScript abgerufen und gesetzt werden. Beispielsweise wird jetzt auch buttonElement.ariaPressed = "true" anstelle von buttonElement.setAttribute("aria-pressed", "true"); unterstützt.

SVG-Attribute, welche eine Längeneinheit akzeptieren, unterstützen jetzt auch Einheiten aus CSS Level 3. Dies ermöglicht die Größenanpassung von SVG-Elementen auf der Basis von Schriftgrößen (cap, rem, etc.), Viewport (vh, vw, vmin, etc.) oder absoluten Längen (px, cm, etc.).

Die Cross-Origin-Embedder-Policy unterstützt jetzt auch die credentialless-Direktive.

Weitere Neuerungen für Entwickler von Websites und Browser-Erweiterungen lassen sich in den MDN Web Docs nachlesen.

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

22. Oktober 2023

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. Die Anzahl unterstützter Sprachen ist dabei noch überschaubar. Die Nightly-Version von Firefox bietet jetzt knapp mehr als die doppelte Anzahl Sprachen an.

Mit Firefox 118 hat Mozilla die Übersetzungsfunktion für Websites, welche im Gegensatz zu Google Translate & Co. vollständig im Browser arbeitet, standardmäßig für alle Nutzer aktiviert. Allerdings werden erst die folgenden neun Sprachen unterstützt: Deutsch, Englisch, Französisch, Italienisch, Spanisch, Portugiesisch, Niederländisch, Polnisch sowie Bulgarisch.

Wer eine Nightly-Version von Firefox nutzt, findet ab sofort elf weitere Sprachen zur Auswahl: Estnisch, Finnisch, Isländisch, Katalanisch, Norwegisch (Bokmål), Norwegisch (Nynorsk), Persisch, Russisch, Tschechisch, Ukrainisch und Ungarisch.

Die Integration in Firefox Nightly mit der Versionsnummer 120 bedeutet aber nicht, dass diese Sprachen Teil von Firefox 120 sein werden. Grundsätzlich erfolgt die Aktualisierung bestehender sowie Integration neuer Sprachmodelle komplett unabhängig von Firefox-Updates.

Viel mehr ist es so, dass Mozilla die Übersetzungsqualität bei den neu dazugekommenen Sprachen noch nicht auf dem gleichen Niveau wie bei den Sprachen sieht, die bereits in Firefox 118 unterstützt werden. Die Nightly-Version von Firefox integriert ab sofort ganz einfach auch jene Sprachmodelle, die noch nicht bereit für die Auslieferung in einer finalen Version sind, damit diese dort getestet werden können.

Der Beitrag Firefox Nightly verdoppelt die Anzahl unterstützter Sprachen für Übersetzungsfunktion erschien zuerst auf soeren-hentzschel.at.

21. Oktober 2023

Dieser Artikel fasst die neuesten Informationen zum kommenden Filesharing-Dienst Thunderbird Send, der Integration der Übersetzungsfunktion Firefox Translations in Thunderbird sowie dem geplanten neuen Release-Zyklus von Thunderbird zusammen.

Neue Thunderbird-Versionen alle vier Wochen

Bereits im Februar hatte ich darüber geschrieben, dass die MZLA Technologies Corporation plant, das Release-Modell von Thunderbird umzustellen. Statt eines großen Releases pro Jahr soll es dann wie bei Firefox alle vier Wochen Feature-Updates geben. Das hat den großen Vorteil, dass Neuerungen nicht mehr bis zu ein Jahr lang zurückgehalten werden müssen, nur weil diese die Deadline für die jährliche Veröffentlichung verpassen.

Während das neue Release-Modell im Februar noch als eines der Ziele für die kommenden drei Jahre genannt wurde, wurde das Team nun konkreter: Bereits im kommenden Jahr soll es so weit sein. Auch wenn es nicht explizit gesagt wurde, so ist eine realistische Annahme, dass der nächste große Release, parallel zu Firefox ESR 128, Thunderbird 128 sein wird, der am oder kurz nach dem 9. Juli 2024 erscheinen wird, und MZLA ab dann auf monatliche Veröffentlichungen umstellen wird.

Integration von Firefox Translations in Thunderbird

Seit Firefox 118 gibt es 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. Im April hatte ich darüber berichtet, dass das Thunderbird-Team eine Integration von Firefox Translations in Thunderbird erwägt. Anwendungsfall wäre hierbei nicht das Übersetzen von Websites, sondern von E-Mails.

Hier gibt es jetzt eine konkretere Zeitangabe. Das Team hat die Integration in Thunderbird zu einer Priorität für das erste Quartal 2024 erklärt.

Neuer Filesharing-Dienst Thunderbird Send

Letzten Monat hatte ich darüber berichtet, dass MZLA Firefox Send zurückbringen wird – als Teil von Thunderbird. Bei Firefox Send handelte es sich um einen damals kostenlosen Filesharing-Dienst von Mozilla, bei dem die Dateien durch eine Ende-zu-Ende-Verschlüsselung sicher waren.

Erneut hat das Team in seinem Podcast über das Projekt gesprochen und dieses erstmals unter dem Namen Thunderbird Send vorgestellt. Als Hauptanwendungsfall wird der Versand großer Dateianhänge genannt, da E-Mail-Anbieter häufig eine niedrige Maximalgröße für Dateianhänge haben, oder die Anhänge bei den E-Mail-Anbietern auf deren Cloud-Speicher landen, wo diese möglicherweise für den Anbieter zugänglich sind. Thunderbird Send hingegen stellt durch die Ende-zu-Ende-Verschlüsselung sicher, dass außer dem Absender und dem Empfänger niemand die Dateianhänge entschlüsseln kann, auch MZLA nicht.

Worüber ich im September noch spekuliert hatte, ist jetzt offiziell: Das Hochladen von Dateien via Thunderbird Send wird Teil eines kostenpflichtigen Abonnements werden. Unter welchem Namen genau dieses Abonnement vermarktet werden wird, wie viel es kosten und wann es starten soll, ist zu diesem Zeitpunkt noch nicht bekannt.

Thunderbird Send kostenpflichtig zu machen, ist einerseits notwendig, um die durch diesen Dienst entstehenden Serverkosten zu decken. Andererseits ist dies aber auch Teil der Strategie gegen einen Missbrauch von Thunderbird Send für illegale Zwecke, was damals, neben einem fehlenden Geschäftsmodell, ein wesentlicher Grund für die Einstellung von Firefox Send war.

Als weitere Maßnahme gegen Missbrauch wird es für Nutzer möglich sein, Dateianhänge zu melden. Zwar kann MZLA die Inhalte nicht kontrollieren, aber zumindest können durch den notwendigen Account die Meldungen einer realen Person zugeordnet werden. Und während die Dateianhänge selbst zwar nicht durch MZLA entschlüsselt werden können, ist es möglich, eine Checksumme der verschlüsselten Datei zu erhalten, welche wiederum mit einer großen Datenbank abgeglichen werden kann, um so zumindest einen Teil bekannter illegaler Inhalte blockieren zu können.

Der Beitrag Neue Informationen zu Thunderbird Send, Firefox Translations in Thunderbird und neuem Release-Zyklus für Thunderbird erschien zuerst auf soeren-hentzschel.at.

Die aktuelle Raspberry-Pi-Version verwendet auf den Raspberry-Pi-Modellen 4B, 400 sowie 5 Wayland als Default-Grafiksystem. Aus diesem Grund funktionieren viele Programme zur Fernwartung bzw. für Remote-Desktop-Funktionen nicht mehr wie gewohnt. Betroffen ist unter anderem RealVNC, bisher die Default-Lösung der Raspberry Pi Foundation. RealVNC verspricht etwas vage, im Verlauf des Jahres 2024 eine Wayland-kompatible Version ihrer Software zu veröffentlichen. An dieser Stelle erkläre ich Ihnen, was Sie tun können, wenn Sie nicht solange warten möchten.

Xorg versus Wayland

Das X Window System und der Xorg-Server bilden das traditionelle Grafiksystem von Linux. Es basiert auf einem Client/Server-Modell und hat sich jahrzehntelang bewährt. Allerdings ist der Xorg-Server mit vielen Altlasten und Sicherheitsproblemen verbunden. Die Software wird schon seit mehrere Jahren nicht mehr weiterentwickelt und kaum noch aktiv gewartet. Seine Zeit läuft ab.

Der Nachfolger von Xorg heißt Wayland ist dagegen »nur« ein neues Protokoll für die Kommunikation zwischen dem Wayland Compositor (einem Display-Server) und den Anwendungsprogrammen (Clients). Wayland bricht mit dem X Window System und verspricht ein System, das schlanker, sicherer und effizienter ist. Wayland gehört die Zukunft.

Zwar sind mittlerweile viele Programme Wayland-kompatibel, aber leider nicht alle. Besonders große Probleme gibt es bei Programmen, die den Bildschirminhalt auslesen wollen, also Tools für Screenshots, Screencasts, Screen Sharing und Remote Desktop. Derartige Funktionen sind auch unter Wayland möglich, müssen aber vollständig neu implementiert werden.

Aktuelles Grafiksystem ermitteln

Ob Ihr Raspberry Pi Wayland oder Xorg als Grafiksystem verwendet, stellen Sie am einfachsten mit einem Kommando im Terminal fest:

echo $XDG_SESSION_TYPE
  wayland

Im Desktop-Betrieb lauten die möglichen Antworten wayland oder x11. In einer SSH-Session im Textmodus lautet das Ergebnis dagegen tty.

Lösung 1: Xorg statt Wayland verwenden

Die bei weitem einfachste Lösung besteht darin, das Grafiksystem von Wayland zurück auf Xorg umzustellen. Dazu führen Sie in einem Terminal-Fenster sudo raspi-config aus und wählen zuerst den Menüpunkt Advanced Options, dann Wayland. Jetzt können Sie sich zwischen dem X11 Backend und dem Wayland Backend entscheiden. Gleichzeitig ändert sich auch der Window Manager (Openbox versus Wayfire). Optisch ergeben sich daraus aber nur geringe Unterschiede.

Die Einstellung wird in der Datei /etc/lightdm/lightdm.conf gespeichert:

# in der Datei /etc/lightdm/lightdm.conf
...
# für Wayland:
user-session=LXDE-pi-wayfire
# oder für X:
user-session=LXDE-pi-x

Die Umstellung des Grafiksystems wird erst nach einem Neustart wirksam. Die meisten Remote-Desktop-Tools inklusive RealVNC sollte nun wieder wie gewohnt funktionieren. Der RealVNC-Server ist standardmäßig installiert. Die Aktivierung kann aber nicht über das Raspberry-Pi-Konfigurationsprogramm erfolgen. Dessen VNC-Option gilt nur für wayvnc und muss deaktiviert (!) sein, sonst kommt es zu einem Port-Konflikt. Den RealVNC-Dienst aktivieren Sie anschließend wie folgt:

sudo systemctl enable --now vncserver-x11-serviced

Ein VNC-Icon im Panel zeigt an, dass der Start funktioniert hat, und gibt Aufschluss darüber, ob gerade eine Verbindung aktiv ist.

Allerdings gibt es auch hier eine Einschränkung: Der RealVNC-Server funktioniert nur in der 64-Bit-Version von Raspberry Pi OS Bookworm, nicht aber mit der 32-Bit-Version. Dieses Problem soll aber in naher Zukunft behoben werden.

Lösung 2: wayvnc

Wenn Sie bei Wayland bleiben, steht das neue Programm wayvnc zur Verfügung. Sie aktivieren es am einfachsten mit dem Programm Raspberry Pi-Konfiguration im Dialogblatt Schnittstellen, Option VNC.

Aktivierung des VNC-Servers im »Raspberry Pi-Konfigurationsprogramm«

Daraus resultiert die folgende Konfigurationsdatei /etc/xdg/autostart/wayvnc.desktop:

[Desktop Entry]
Type=Application
Name=wayvnc
Comment=Start wayvnc
NoDisplay=true
Exec=/usr/bin/wayvnc --render-cursor --keyboard=de
OnlyShowIn=wayfire

Jetzt brauchen Sie auf Ihrem Client-Rechner (auf dem Rechner, mit dem Sie Ihren Raspberry Pi steuern möchten), einen zu wayvnc kompatiblen VNC-Client. Der Raspberry-Pi-Blog empfiehlt das Programm vncviewer des Projekts TigerVNC. Die meisten Linux-Distributionen stellen ein entsprechendes Paket zur Verfügung. Für Windows und macOS (Intel) finden Sie hier Downloads.

Hier läuft der TigerVNC-Client auf meinem Notebook mit ArchLinux und ermöglicht die Fernsteuerung des Raspberry-Pi-Desktops

Bei meinen Tests unter Windows ist der Verbindungsaufbau mit dem Programm Remotedesktopverbindung gescheitert. Mit dem vncviewer von TigerVNC hat es dann aber funktioniert.

Sofern der Raspberry Pi mit einem eigenen Monitor verbunden ist, gilt für den Remote Desktop dieselbe Bildschirmauflösung. Wenn der Raspberry Pi dagegen »headless« läuft, können Sie die gewünschte Auflösung mit sudo raspi-config, Display Options, VNC Resolution einstellen (maximal 1920×1080, erfordert einen Reboot).

Quellen/Links

19. Oktober 2023

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

Neuerungen von Thunderbird 115.3.3

Mit dem Update auf Thunderbird 115.3.3 hat die MZLA Technologies Corporation ein Update für seinen Open Source E-Mail-Client veröffentlicht und behebt damit mehrere Probleme, welche sich in den Release Notes (engl.) nachlesen lassen.

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

Die neueste Version der Distribution steht kurz vor der Veröffentlichung und enthält viele Neuerungen.

Fedora 39 wird nächste Woche Dienstag, am 24. Oktober 2023, veröffentlicht und hat das Zeug zu einer brillanten Linux-Distribution. Der erste Punkt auf der Liste der Verbesserungen für Fedora ist Kernel 6.5, der eine Reihe von Fehlern und Sicherheitslücken behebt. Ausserdem enthält der neue Kernel Verbesserungen, die die Boot-Zeiten sowohl für Desktops als auch für Server verkürzen können, sowie eine bessere Unterstützung für eDP-LCD-Panels, die variable Bildwiederholraten verwenden.

Ausserdem werden Laptops mit AMD Ryzen-CPUs schneller in den Ruhezustand versetzt und Maschinen mit Ryzen 7000 CUPs erhalten eine bessere EDAC-Fehlerbehandlung. Neben dem Kernel enthält Fedora 39 eine Menge aktualisierter Software, wie GNOME 45, LibreOffice 7.6.2.1 und Boxes 45.0. Was die Bibliotheken, Sprachen und Build-Tools angeht, so finden Sie Binutils 2.40, Python 3.12, RPM 4.19, Vagrant 2.3.4, Perl 5.38, Golan 1.21, Gcc 13.2.1 und Glibc 2.38.

Eine der besten Funktionen, die Desktop-Benutzer finden werden, ist die stark verbesserte Suche innerhalb der Aktivitätenübersicht. Der Unterschied zwischen 39 und früheren Versionen ist gross. Die Suchergebnisse erscheinen fast sofort. Ausserdem öffnen sich Anwendungen viel schneller als in früheren Versionen.

Details zu den Änderungen kann man im Fedora-Wiki lesen. Wer nicht bis nächste Woche warten möchte, kann sich jetzt den daily build von Fedora 39 von der Download-Seite herunterladen. Um die Version 39 dort zu sehen, muss zuerst der Schalter Show Beta Downloads umgelegt werden.

Nachtrag

Oder doch nicht am Dienstag? Wie ein aufmerksamer Kommentator berichtet, hat Fedora 39, laut dem „Final Go/No-Go Meeting“ aufgrund immer noch bestehender „blocker bugs“ ein „No-Go“ bekommen. Am kommenden Donnerstag wird entschieden, ob die finale Version am 31.10. erscheinen kann. Das ist kein Grund zur Aufregung: Fedora 39 ist fertig, wenn es fertig ist.

In unserem TALK-Chat kam die Frage auf, ob sich die Beta automatisch in die Stable-Version wandelt, oder ob man anschliessend den Branch wechseln muss. Vielleicht können die Kenner das als Kommentar schreiben.

Quelle: https://fedoramagazine.org/announcing-fedora-39-beta/


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.

pip ist das Paketverwaltungs-Tool von Python. Wenn Sie in einem Script ein Zusatzmodul benötigen, führen Sie einfach pip install xxx bzw. unter macOS und bei manchen Linux-Distributionen pip3 install xxx aus. pip lädt das erforderliche Modul sowie eventuelle Abhängigkeiten herunter und installiert die Pakete lokal (d.h., sie brauchen meine root-Rechte).

Meistens funktioniert pip gut — aber nicht immer. Die häufigste Fehlerquelle unter Windows ist die Parallelinstallation mehrerer Python-Versionen. Dann ist nicht immer klar, auf welche Python-Version sich pip bezieht. Nach meiner Erfahrung scheint pip zumeist die falsche Version zu nehmen. Daher mein Tipp: Vermeiden Sie unter Windows unbedingt die Mehrfachinstallation von Python!

Aber auch unter Linux kann es Probleme geben. Die Ursache hier besteht darin, dass viele Distributionen selbst eine riesige Sammlung von Paketen mit Python-Erweiterungen anbieten. Die Parallelinstallation eines Moduls, einmal mit apt oder dnf und ein zweites Mal mit pip, kann dann zu Konflikten führen — insbesondere dann, wenn nicht exakt dieselben Versionen zum Einsatz kommen. Die Python-Entwickler haben deswegen im ‎Python Enhancement Proposals (PEP) 668 festgeschrieben, dass in solchen Fällen Pakete aus Linux-Repositories vorzuziehen sind. PEP 668 gilt grundsätzlich seit Python 3.11. Tatsächlich implementiert ist es momentan nur in aktuellen Linux-Distributionen:

  • Ubuntu ab Version 23.04
  • Debian ab Version 12
  • Raspberry Pi OS ab dem Bookworm-Release (Okt. 2023)
  • Arch Linux

Noch nicht implementiert ist PEP 668 dagegen unter RHEL und Fedora (auch nicht in Version 39 Beta).

pip-Fehlermeldung

Der Versuch, mit pip ein Modul zu installieren, führt bei aktuellen Debian-, Ubuntu- und Raspberry-Pi-OS-Versionen zur folgenden Fehlermeldung:

$ pip install matplotlib

error: externally-managed-environment
This environment is externally managed

    To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.

    See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python 
installation or OS distribution provider. You can override this, 
at the risk of breaking your Python installation or OS, by 
passing --break-system-packages. Hint: See PEP 668 for the 
detailed specification.

Lösung 1: Installation des äquivalenten Linux-Pakets

Die obige Fehlermeldung weist direkt auf die beste Lösung hin — nämlich die Installation des entsprechenden Linux-Pakets mit apt python3-xxx, wobei xxx der Paketname ist. Für die matplotlib führen Sie unter Debian, Ubuntu und Raspberry Pi OS das folgende Kommando aus:

sudo apt install python3-matplotlib

Diese Empfehlung ist mit zwei Einschränkungen verbunden: Sie erfordert, dass Sie root– oder sudo-Rechte haben, und sie setzt voraus, dass das gewünschte Modul tatsächlich im Repository Ihrer Linux-Distribution zur Verfügung steht. Letzteres ist oft der Fall, aber nicht immer. Auf pypi.org gibt es fast 500.000 Projekte, die Debian-Standard-Repositories enthalten dagegen »nur« gut 4000 (apt list | grep python3- | wc -l).

Lösung 2: Verwendung einer virtuellen Umgebung

Ein Virtual Environment im Kontext von Python ist ganz einfach ein Projektverzeichnis, in das die für das Projekt erforderlichen Module lokal und projektspezifisch installiert werden. Das hat mehrere Vorteile:

  • Es ist klar, welche Module ein bestimmtes Projekt benötigt. Das Projekt lässt sich später einfacher auf einen anderen Rechner übertragen.
  • Es kann keine Konflikte zwischen unterschiedlichen Projekten geben, die unterschiedliche Module erfordern.
  • Sie sind nicht auf die von Ihrer Linux-Distribution angebotenen Python-Module eingeschränkt und brauchen keine Administratorrechte zur Installation von Linux-Paketen.

Virtuelle Umgebungen werden von Python durch das Modul venv unterstützt. Dieses Modul muss vorweg installiert werden, entweder mit apt install python3-venv oder durch apt install python3-full. Anschließen richten Sie Ihr Projekt ein:

$ python3 -m venv my-project

Python erzeugt das Verzeichnis my-project, falls dieses noch nicht existiert, und richtet dort eine minimale Python-Umgebung ein. (»Minimal« bedeutet: ca. 1500 Dateien, Platzbedarf ca. 25 MByte. Nun ja.) Nun führen Sie in Ihrem Terminal-Fenster mit source das Shell-Script activate aus, um die Umgebung zu aktivieren:

$ cd my-project
$ source bin/activate
(my-project)$ 

In dieser Umgebung funktioniert pip wie gewohnt. In der Folge können Sie Ihr Script ausführen, das die lokal installierte Module nutzt:

(my-project)$ pip install requests beautifulsoup4
(my-project)$ ./my-webscraping-script.py

Anstelle venv direkt zu nutzen, gibt es diverse Tools, um die Verwaltung Ihrer virtuellen Umgebungen zu vereinfachen. Am bekanntesten sind pipenv und virtualenv. Persönlich ist mir pipenv am liebsten. Das Tool muss vorweg installiert werden (apt install pipenv).

Lösung 3: Das Kommando pipx

pipx ist eine Variante zum klassischen pip-Kommando, das sich gleichzeitig um die Einrichtung einer virtuellen Umgebung kümmert (siehe auch die Dokumentation). pipx ist allerdings nicht zur Installation von Bibliotheken gedacht, sondern zur Installation fertiger Python-Programme. Diese werden in .local/bin gespeichert.

pipx ist nur dann eine attraktive Option, wenn Sie ein als Python-Modul verfügbares Programm unkompliziert installieren und ausführen wollen. Wenn Sie dagegen selbst Scripts entwickeln, die von anderen Modulen abhängig sind, ist pipx nicht das richtige Werkzeug.

Lösung 4: Option pip --break-system-packages

Ein vierter Lösungsweg besteht darin, an pip die Option --break-system-packages zu übergeben. Die Option ist weniger schlimm, als ihr Name vermuten lässt. Im Prinzip funktioniert pip jetzt so wie bisher und installiert das gewünschte Modul, ganz egal, ob es ein äquivalentes Paket Ihrer Distribution gibt oder nicht, und unabhängig davon, ob dieses Paket womöglich schon installiert ist.

Empfehlenswert ist der Einsatz dieser Option in CI-Scripts (Continuous Integration), z.B. in Test- oder Deploy-Scripts für git (siehe auch diesen Blog-Beitrag von Louis-Philippe Véronneau). Die Option --break-system-packages ist oft der schnellste und bequemste Weg, nicht mehr funktionierende Scripts wieder zum Laufen zu bringen.

Quellen/Links

18. Oktober 2023

Mozilla Hubs ist eine Plattform, um virtuelle Treffpunkte zu erstellen. Mit der Community Edition gibt es ab sofort eine Version der Mozilla Hubs zum selber Hosten, welche die bisherige AWS-abhängige Hubs Cloud ablöst.

Was ist Mozilla Hubs?

Mit dem Start von Mozilla Hubs im April 2018 ging eine Online-Plattform an den Start, welche es Nutzern ermöglicht, sich in sogenannten Räumen virtuell zu treffen. Das Besondere an Hubs: es spielt sich komplett im Web ab – keine geschlossene Plattform, keine Installation einer Anwendung, keine Abhängigkeit von einem bestimmten Gerät. Einfach eine URL teilen und miteinander treffen. Hubs funktioniert in jedem Browser, am Smartphone – und auch mit der VR-Brille, wo Hubs als virtuelle Plattform sein volles Potenzial entfaltet. Mozilla Hubs ist quasi eine Miniatur-Ausgabe eines Web-basierten „Metaverse“, aber Open Source und mit Fokus auf Datenschutz, vom Macher des Firefox-Browsers.

Mozilla Hubs 2022

Managed Hubs – Starter, Personal & Professional

Mit den im November 2022 gestarteten Managed Hubs erhält der Abonnent seine ganz eigene Hubs-Instanz mit unbegrenzt vielen und anpassbaren Räumen inklusive Zugriff auf den Szenen-Editor Mozilla Spoke. Mit dem kostenlosen Starter Plan gibt es Platz für bis zu 10 Gäste sowie 500 MB Speicherplatz für Assets wie Avatare und Szenen. Nach 72 Stunden Inaktivität kommt es zu einer automatischen Pausierung. Der Personal Plan bietet für 8,40 Euro im Monat Platz für bis zu 20 Gäste und 2 GB Speicherplatz sowie eine eigene myhubs.net-Domain und die Möglichkeit, Logos und Farben anzupassen. Für 79,00 Euro im Monat kann der Professional Plan gebucht werden. Dieser bietet Kapazität für bis zu 50 Gäste sowie 25 GB Speicherplatz für Assets. Außerdem kann eine eigene Domain mit dem Hub verbunden werden und man erhält Zugriff auf den Code für tiefer gehende Anpassungen. Darüber hinaus entfällt hier die automatische Pausierung nach Inaktivität.

NEU: Mozilla Hubs Community Edition ersetzt Hubs Cloud

Neben den Managed Hubs gibt es auch noch die Hubs Cloud. Damit kann jeder seine eigene Hubs-Instanz hosten. Allerdings setzt diese zwingend ein AWS-Hosting in der Amazon-Cloud voraus. Nach Angabe von Mozilla wurden seit 2020 über 1.000 Instanzen der Hubs Cloud erstellt und der Frontend-Code der Hubs-Codebase über 1.400-mal „geforkt“.

Die Unterstützung für die Hubs Cloud läuft allerdings mit dem 1. Januar 2024 aus. Zwar werden bestehende Installationen zunächst weiterhin genutzt werden können, allerdings wird es seitens Mozilla keine Updates mehr dafür geben und auch Neuinstallationen sind ab diesem Tag nicht länger möglich. Mittelfristig, aber frühestens mit dem 30. März 2024, wird die Hubs Cloud dann auch für bestehende Nutzer eingestellt.

Dafür gibt es ab sofort die Mozilla Hubs Community Edition. Mozilla arbeitet an Werkzeugen, die bis Ende des Jahres zur Verfügung stehen sollen, um den Migrationsprozess von einer bestehenden Instanz der Hubs Cloud auf die Community Edition oder ein Managed Hubs Abonnement zu automatisieren.

Zwar wird die initiale Einrichtung der Community Edition mehr Aufwand erfordern als dies bei der Hubs Cloud der Fall war. Der große Vorteil der Mozilla Hubs Community Edition ist es dafür, dass diese auf jedem namhaften Cloud-Anbieter oder auch auf eigener Hardware gehostet werden kann und man nicht länger an Amazons AWS-Cloud gebunden ist. Damit einher geht, dass der gesamte Stack als Open Source verfügbar ist, während bei der Hubs Cloud zwar auch schon viele Komponenten Open Source waren, aber ein Teil der Infrastruktur-Orchestrierung für AWS nicht öffentlich war. Die Community Edition gibt Projekten, welche auf Mozilla Hubs aufbauen, damit mehr Kontrolle und Anpassungsmöglichkeiten als die bisherige Hubs Cloud. Auch entfällt die Frustration in Zusammenhang mit Plattform-Updates der AWS Cloud und damit zusammenhängend teilweise wochenlangen Verzögerungen bei der Veröffentlichung kritischer Updates für AWS-Instanzen.

Der Beitrag Mozilla Hubs Community Edition zum selber Hosten ab sofort verfügbar erschien zuerst auf soeren-hentzschel.at.

Nachdem Hasskommentare in der ukrainischen Übersetzungsdateien entfernt wurden (siehe auch omgubuntu.co.uk), steht das ISO-Image von Ubuntu 23.10 »Mantic Minotaur« wieder zum Download zur Verfügung. Die neueste Version von Ubuntu ist das letzte Release vor der nächsten LTS-Version — und insofern besonders interessant: »Mantic Minotaur« vermittelt eine erste Vorstellung, wie Ubuntu LTS die nächsten Jahre prägen wird.

Updates: 14.11.2023, Netplan

Installation und App Center

Ich habe die Installation diesmal nur in virtuellen Maschinen getestet. Zumindest dort hat das neue Installationsprogramm problemlos funktioniert — auf jeden Fall besser als in Version 23.04, in der das Installationsprogramm erstmalig zum Einsatz kam. Die für die meisten Nutzer wichtigste Neuerung besteht darin, dass nun standardmäßig eine »Minimalinstallation« durchgeführt wird — ohne LibreOffice, Thunderbird, Foto-Verwaltung, Audio-Player usw.

Standardmäßig wird eine Minimalinstallation ohne Office-Programme durchgeführt

Grundsätzlich mag ich diesen Minimalismus. Bei der Installation der fehlenden Programme hilft das mit der Bibliothek Flutter neu implementierte »App Center«, dessen Versionsnummer 1.0.0-alpha lautet. 1.0.0 klingt an sich schon abschreckend, »alpha« macht es noch schlimmer. Bei meinen Tests sind aber erfreulicherweise keine Probleme aufgetreten. Im App Center führt Entdecken / Jump start your desktop in die Sammlung Ubuntu Desktop, die auf bisher vorinstallierte Pakete verweist.

Eine Rubrik im neuen App Center offeriert wichtige Office-Programme ausschließlich im Snap-Format

Eines sollte Ihnen aber klar sein: Anders als manche Tester von Ubuntu 23.10 geschrieben haben, werden mit dem App Center ausschließlich Snap-Pakete installiert. Ob das gewünschte Programm auch im Debian-Format zur Verfügung steht oder nicht, spielt keine Rolle. Für das App Center gilt Snap only. Falls Sie Debian-Pakete vorziehen, müssen Sie diese nun im Terminal mit apt suchen und installieren (also z.B. apt install gimp). In Ubuntu gibt es keine (vorinstallierte) grafischer Oberfläche mehr, um Debian-Pakete zu installieren.

Das App Center ist auch insofern ein Rückschritt, als es nicht in der Lage ist, heruntergeladene Debian-Pakete zu installieren. Wenn Sie im Webbrowser die gerade heruntergeladene *.deb-Datei anklicken, erhalten Sie die Fehlermeldung, dass es kein (grafisches) Programm zur Verarbeitung von *.deb-Dateien gibt. Sie müssen die Installation wie folgt durchführen:

sudo apt install ~/Downloads/name.deb

Platzbedarf

Ich habe in der Vergangenheit oft über den immensen Platzbedarf von Snap-Paketen geschimpft, sowohl auf der SSD als auch (nach dem Start) im Arbeitsspeicher. Für diesen Artikel wollte ich diese Aussagen mit neuem Zahlenmaterial untermauern, bin aber auf überraschende Ergebnisse gestoßen.

Die neue »Minimalinstallation« beansprucht 4,7 GByte Platz auf der SSD. Nicht mitgerechnet ist dabei die Swap-Datei /swap.img. Das Installationsprogramm richtet diese Datei je nach Hardware sehr großzügig ein (bei meinen Tests mit 3,9 GiB). Tipps, wie Sie die Swap-Datei bei Bedarf verkleinern können, folgen gleich.

Der Snap-Anteil nach einer Minimalinstallation beträgt ca. 1 GByte:

du -h -d 0 /var/lib/snapd/

  970M   /var/lib/snapd/

snap list

  Name                       Version          Revision  Tracking         Herausgeber  Hinweise
  bare                       1.0              5         latest/stable    canonical✓   base
  core22                     20230801         864       latest/stable    canonical✓   base
  firefox                    118.0.1-1        3216      latest/stable/…  mozilla✓     -
  firmware-updater           0+git.e8771be    109       latest/stable/…  canonical✓   -
  gnome-42-2204              0+git.ff35a85    141       latest/stable/…  canonical✓   -
  gtk-common-themes          0.1-81-g442e511  1535      latest/stable/…  canonical✓   -
  snap-store                 0+git.e118b05    1046      latest/stable/…  canonical✓   -
  snapd                      2.60.4           20290     latest/stable    canonical✓   snapd
  snapd-desktop-integration  0.9              83        latest/stable/…  canonical✓   -

ls -lhS /var/lib/snapd/snaps/

  -rw------- 2 root root 497M Okt 16 12:41 gnome-42-2204_141.snap
  -rw------- 2 root root 241M Okt 16 12:40 firefox_3216.snap
  -rw------- 2 root root  92M Okt 16 12:41 gtk-common-themes_1535.snap
  -rw------- 2 root root  74M Okt 16 12:41 core22_864.snap
  -rw------- 2 root root  41M Okt 16 12:41 snapd_20290.snap
  -rw------- 2 root root  12M Okt 16 12:41 firmware-updater_109.snap
  -rw------- 2 root root  11M Okt 16 12:41 snap-store_1046.snap
  ...

Ich habe nun alle Snaps aus der Rubrik Ubuntu Desktop installiert, also LibreOffice, Thunderbird, Shotwell usw., insgesamt 10 Pakete. Der Platzbedarf der Snaps steigt auf 2,8 GByte:

du -h -d 0 /var/lib/snapd/

  2,8G   /var/lib/snapd/


ls -lhS /var/lib/snapd/snaps/

  -rw------- 2 root root 1,1G Okt 18 08:39 libreoffice_300.snap
  -rw------- 2 root root 497M Okt 16 12:41 gnome-42-2204_141.snap
  -rw------- 2 root root 350M Okt 18 08:38 gnome-3-38-2004_143.snap
  -rw------- 2 root root 241M Okt 16 12:40 firefox_3216.snap
  -rw------- 2 root root 153M Okt 18 08:37 remmina_6117.snap
  -rw------- 2 root root 105M Okt 18 08:35 thunderbird_395.snap
  -rw------- 2 root root  92M Okt 16 12:41 gtk-common-themes_1535.snap
  -rw------- 2 root root  74M Okt 16 12:41 core22_864.snap
  -rw------- 2 root root  64M Okt 18 08:35 core20_2015.snap
  -rw------- 2 root root  45M Okt 18 08:35 shotwell_7.snap
  -rw------- 2 root root  41M Okt 16 12:41 snapd_20290.snap
  -rw------- 2 root root  36M Okt 18 08:35 cheese_37.snap
  -rw------- 2 root root  14M Okt 18 08:35 gnome-calendar_182.snap
  -rw------- 2 root root  12M Okt 16 12:41 firmware-updater_109.snap
  -rw------- 2 root root  11M Okt 16 12:41 snap-store_1046.snap
  -rw------- 2 root root 4,3M Okt 18 08:35 transmission_54.snap
  -rw------- 2 root root 3,6M Okt 18 08:35 gnome-mahjongg_170.snap
  ...

Der RAM-Bedarf des Ubuntu-Desktops im Leerlauf mit einem Terminal-Fenster und dem Programm Systemüberwachung beträgt laut free -h ca. 1,2 GByte. Nun habe ich Firefox (ca. 8 Sekunden), Shotwell (wieder 8 Sekunden) und LibreOffice Writer (20 Sekunden) gestartet, ohne darin aktiv zu arbeiten. Alle Tests habe ich in einer virtuellen Maschine mit 2 CPU-Cores und 4 GiB RAM durchgeführt. Auf echter Hardware sind schnellere Startzeiten zu erwarten.

Der Speicherbedarf im RAM steigt dann auf moderate 1,9 GByte an.

Kurz und gut: Der Platzbedarf von Snap-Paketen sowohl auf dem Datenträger als auch im Arbeitsspeicher ist beträchtlich, aber er ist nicht mehr so exorbitant hoch wie früher. Und je mehr Snap-Pakete parallel installiert werden, desto geringer ist der gemeinschaftliche Overhead durch die Parallelinstallation diverser Bibliotheken. (Unter Ubuntu 23.10 ist Gnome 45 installiert. Aber damit alle Snap-Pakete der Kategorie Ubuntu Desktop ausgeführt werden können, ist parallel dazu auch Gnome 42 und Gnome 3.38 erforderlich — siehe das obige Listing.)

Die Startzeiten von Programmen sind weiterhin etwas höher als bei einer gleichwertigen Installation durch Debian-Pakete, aber damit kann ich mich abfinden. Canonical hat seine Snap-Infrastruktur also in den vergangenen Jahren schrittweise verbessert. Sie funktioniert nun spürbar besser als in den ersten Versionen.

Als wichtigster Kritikpunkt bleibt der proprietäre Snap Store, der alleine durch Canonical verwaltet wird. Alternative Snap-Paketquellen sind nicht vorgesehen (ganz im Gegensatz zu Red Hats Flatpak-System).

Swap-Datei verkleinern

Sie können die Swap-Datei bei Bedarf Ihren eigenen Bedürfnissen entsprechend verkleinern:

sudo swapoff /swap.img
sudo rm /swap.img
sudo dd count=1024 bs=1M if=/dev/zero of=/swap.img  # 1024 x 1 MiB = 1 GiB
sudo chmod 600 /swap.img
sudo mkswap /swap.img
sudo swapon /swap.img

CUPS doch nicht als Snap-Paket

Canonical wollte CUPS eigentlich in ein Snap-Paket umbauen (siehe openprinting.github.io) und in dieser Form in Ubuntu integrieren. Aufgrund technischer Probleme ist dieses Vorhaben nun voraussichtlich bis Version 24.10 verschoben. Die LTS-Version 24.04 ist für derartige Experimente nicht so gut geeignet.

TPM-Verschlüsselung

Technisch sehr interessant ist Canonicals Konzept, die Verschlüsselung des Datenträgers mittels TPM (Trusted Platform Modules, also in die CPU eingebaute Kryptografie-Funktionen) abzusichern. Unter Windows, macOS, iOS und Android ist dies längst eine Selbstverständlichkeit. Mangels geeigneter Hardware habe ich diese Funktionen allerdings nicht testen können.

Aktuell bezeichnet die Dokumentation dieses Feature zudem noch als experimentell. Es wird nur ausgewählte TPM-Hardware unterstützt. Die Implementierung basiert (natürlich) auf Snap-Paketen für den Bootloader und den Kernel. Proprietäre Kernel-Module (NVIDIA) können nicht verwendet werden. Soweit ich das Konzept verstanden habe, muss das Verschlüsselungspasswort weiterhin eingegeben werden, d.h. das Hochfahren und Authentifizieren nur per Fingerabdruck ist nicht möglich. Oder, anders formuliert: Das Boot-Konzept wird sicherer, aber nicht komfortabler.

Netplan

Ubuntu verwendet mit Netplan seit 2016 ein selbst entwickeltes System zur Administration der Netzwerkverbindungen. Netplan ist vor allem bei Server-Installationen wichtig, wo es eine zentrale Rolle einnimmt. Am Desktop delegiert Netplan die Kontrolle über die WLAN-Schnittstellen dagegen an den NetworkManager. Insofern haben Desktop-Anwender Netplan nie bemerkt.

Grundsätzlich ändert sich daran auch mit Version 23.10 nichts. Neu ist aber, dass die Kommunikation zwischen dem NetworkManager und Netplan nicht länger eine Einbahnstraße ist. Bisher wusste Netplan nichts von den durch den NetworkManager verwalteten Netzwerkverbindungen. Laut dem Ubuntu Blog hat sich das mit Version 23.10 geändert: Vom NetworkManager eingerichtete Verbindungen werden nun in /etc/netplan gespeichert (und nicht mehr in /etc/NetworkManager/system-connections/). Dabei kommt die Netplan-eigene Syntax für Konfigurationsdateien zum Einsatz. Bei einem Update von älteren Ubuntu-Versionen werden vorhandene WLAN-Verbindungen automatisch nach /etc/netplan migriert.

Desktop

Ubuntu 23.10 verwendet Gnome 45 als Desktop. Mehrere vorinstallierte Shell Extensions (Desktop Icons, Ubuntu AppIndicators, Ubuntu Dock und Ubuntu Tiling Assistand) stellen sinnvolle Zusatzfunktionen zur Verfügung:

  • Das Dock kann wahlweise links, rechts oder unten platziert werden.
  • Fenster können so verschoben werden, dass diese ein Bildschirmviertel ausfüllen (Quarter Tiling). Außerdem gibt es einige fortgeschrittene Tiling-Funktionen. (Gnome ohne Erweiterungen kennt bekanntermaßen nur Bildschirmhälften, was auf einem großen Monitor mager ist.)

  • Auf dem Desktop können Icons dargestellt werden.

  • Ältere Gnome-Programme können Indikator-Icons im Panel darstellen.

Ubuntu verwendet Gnome 45 als Desktop, angereichert um ein paar Extensions für das vertikale Dock, Quarter-Tiling und Desktop-Icons

Versionsnummern

Basis             Desktop             Programmierung   Server
---------------   ------------------  ---------------  --------------
Kernel      6.5   Gnome          45   bash        5.2   Apache     2.4
glibc      2.38   Gimp         2.10   docker.io 20.10   CUPS       2.4
X-Server   21.1   LibreOffice   7.6   gcc          13   MariaDB  10.11
Wayland    1.22                       git        2.40   MySQL      8.0
Mesa       23.2                       Java         17   OpenSSH    9.3
Systemd     252                       PHP         8.2   qemu/KVM   8.0
NetworkMan 1.44                       Python     3.11   Postfix    3.8
GRUB       2.12                                         Samba     4.18

Der Fokus auf Snap macht es nicht immer ganz klar, wo welches Paket zu suchen ist. Gimp, LibreOffice, aber auch Docker (!) können als Snap-Pakete installiert werden. Programmiersprachen wie C, Java, Python oder PHP (Ausnahme: Go, siehe Kommentare) sowie Server-Anwendungen wie Apache, MySQL oder Samba sind vorerst noch gewöhnliche Debian-Pakete.

Raspberry Pi

Ubuntu 23.10 läuft auch auf dem nagelneuen Raspberry Pi 5. Einen diesbezüglichen Test habe ich schon vor ein paar Tagen veröffentlicht.

Fazit

Aus meiner Sicht ist und bleibt Ubuntu die erste Anlaufstelle für Linux-Einsteiger. Der Desktop ist optisch ansprechend, Gnome Shell Extensions helfen dort nach, wo Gnome Defizite hat. In ganz vielen Fällen gilt: It just works.

Allerdings hat sich Canonical — allen Widerständen zum Trotz — dazu entschieden, voll auf das eigene Snap-Paketformat zu setzen. Grundsätzlich funktioniert das gut. Aus der Sicht von Canonical ist es natürlich toll, nur ein Paket für verschiedene Ubuntu-Releases warten zu müssen — und die Paket-Version losgelöst von der Ubuntu-Version auch aktualisieren zu können. Canonical kann also durch die Änderung eines Pakets ein LibreOffice-Update auf das nächste Major-Release für alle gerade aktiven Ubuntu-Versionen durchführen. Diesem Vorteil steht anwenderseitig ein — sagen wir mal — großzügiger Umgang mit Ressourcen gegenüber.

Bisher konnte man als erfahrener Ubuntu-Anwender Snap-Paketen aus dem Weg gehen, also snap deinstallieren und anstelle von Snap-Paketen gleichwertige Debian-Pakete installieren. Das wird zunehmend unmöglich, und das ist letztlich auch der falsche Denkansatz. Vielmehr gilt: Wer Ubuntu sagt, muss auch Snap sagen. Und wer das nicht will, muss sich von Ubuntu verabschieden.

Ich bin deswegen auf ArchLinux umgestiegen und habe es nicht bereut. Für Linux-Einsteiger, die dem Snap-Kosmos misstrauisch gegenüberstehen, sind Debian oder Linux Mint einfachere Alternativen. Wenn Sie dagegen keine ideologischen Einwände gegen Snap haben und einen ordentlichen Rechner besitzen, ist Ubuntu samt Snap eine runde Sache.

Quellen/Links

Andere Tests

15. Oktober 2023

Auf manchen Internetseiten wird ein Hinweis angezeigt, wenn beispielsweise ein Artikel schon etwas älter und somit eventuell nicht mehr aktuell ist. Ich habe mich gefragt, ob bzw. wie man es mit Hugo umsetzen kann.

Relativ schnell habe ich folgenden Code fabriziert.

1{{ $currentTime := (time now) }}
2{{ $delta := $currentTime.Sub (time .Date ) }}
3{{ if gt $delta.Hours 8760 }}
4    <p>
5        Dieser Artikel ist mindestens ein Jahr alt. Der Inhalt könnte daher nicht mehr aktuell sein.
6    </p>
7{{ end }}

Hiermit wird geprüft, ob zwischen dem Datum eines Artikels und dem aktuellen Datum mindestens 8760 Stunden, also 365 Tage, vergangen sind. Wenn ja, wird der Hinweis angezeigt.

Kann die Lösung wirklich so einfach sein? Wenn ich mir diese Frage stelle, lautet die Antwort meist nein. So auch in diesem Fall.

Bei vielen der von mir veröffentlichten Artikel ist in der Tat nur das Erstellungsdatum angegeben. Bei diesen reicht der genannte Code auch aus.

Einige, wenige Artikel hingegen, aktualisiere ich allerdings von Zeit zu Zeit. Bei diesen trage ich zusätzlich noch das Datum der letzten Aktualisierung ein. Der wohl am häufigsten aktualisierte Artikel dürfte dieser sein. Erstellt wurde er am 23.04.22. Somit würde ein entsprechender Hinweis angezeigt. Allerdings wurde der Artikel letztmalig am 24.09.23 aktualisiert und ist somit nicht veraltet. Daher sollte kein Hinweis angezeigt werden.

Wie löst man das nun? Man prüft einfach ob es ein Datum der letzten Aktualisierung (.Lastmod) gibt. Wenn ja, prüft man dessen Alter. Ansonsten prüft man direkt das Erstellungsdatum (.Date). Falsch. Denn wenn bei einem Artikel im Front-Matter-Bereich kein Datum für .Lastmod hinterlegt wurde, hat .Lastmod trotzdem einen Wert. Nämlich den von .Date. Warum auch immer.

Ich habe daher den Code so angepasst, dass zuerst geprüft wird, ob .Lastmod und .Date unterschiedliche Werte haben.

Wenn ja, wird geprüft, ob zwischen dem Datum von .Lastmod und dem aktuellen Datum ein Jahr vergangen ist. Wenn ja, wird ein Hinweis angezeigt.

Wenn aber .Lastmod und .Date gleich sind, wird für die Prüfung des Alters .Date genutzt.

Hier nun der fertige Code.

 1{{ if ne .Lastmod .Date }}
 2    {{ $currentTime := (time now) }}
 3    {{ $delta := $currentTime.Sub (time .Lastmod ) }}
 4    {{ if gt $delta.Hours 8760 }}
 5        <p>
 6            Dieser Artikel ist mindestens ein Jahr alt. Er könnte damit nicht mehr aktuell sein.
 7        </p>
 8    {{ end }}
 9{{ else }}
10    {{ $currentTime := (time now) }}
11    {{ $delta := $currentTime.Sub (time .Date ) }}
12    {{ if gt $delta.Hours 8760 }}
13        <p>
14            Dieser Artikel ist mindestens ein Jahr alt. Er könnte damit nicht mehr aktuell sein.
15        </p>
16    {{ end }}
17{{ end }}

Ich verwende in der Lehre gerne das Anscombe-Quartett, welches der englische Statistiker Francis Anscombe im Jahr 19731 vorgestellt hat.

Es besteht aus 4 kleinen Datensätzen mit jeweils 11 Beobachtungen von 2 Variablen (x, y). Der Datensatz ist u.a. bei Wikipedia erhältlich, aber auch direkt in R implementiert.

# aktiviere den Datensatz
data("anscombe")

# Daten anzeigen
anscombe
   x1 x2 x3 x4    y1   y2    y3    y4
1  10 10 10  8  8.04 9.14  7.46  6.58
2   8  8  8  8  6.95 8.14  6.77  5.76
3  13 13 13  8  7.58 8.74 12.74  7.71
4   9  9  9  8  8.81 8.77  7.11  8.84
5  11 11 11  8  8.33 9.26  7.81  8.47
6  14 14 14  8  9.96 8.10  8.84  7.04
7   6  6  6  8  7.24 6.13  6.08  5.25
8   4  4  4 19  4.26 3.10  5.39 12.50
9  12 12 12  8 10.84 9.13  8.15  5.56
10  7  7  7  8  4.82 7.26  6.42  7.91
11  5  5  5  8  5.68 4.74  5.73  6.89

Das Anscombe-Quartett ist hervoragend geeignet, um Studierenden die Wichtigkeit von graphischen Auswertungen neben statistischen Kennzeichen zu verdeutlichen.

Vorbereitung

Ich teile die Studierenden in 4 Gruppen auf, und jede Gruppe erhält einen Anscombe-Datensatz.

Gruppe1 <- data.frame(x=anscombe$x1, y=anscombe$y1)
Gruppe2 <- data.frame(x=anscombe$x2, y=anscombe$y2)
Gruppe3 <- data.frame(x=anscombe$x3, y=anscombe$y3)
Gruppe4 <- data.frame(x=anscombe$x4, y=anscombe$y4)
Gruppe1
    x     y
1  10  8.04
2   8  6.95
3  13  7.58
4   9  8.81
5  11  8.33
6  14  9.96
7   6  7.24
8   4  4.26
9  12 10.84
10  7  4.82
11  5  5.68
Gruppe2
    x    y
1  10 9.14
2   8 8.14
3  13 8.74
4   9 8.77
5  11 9.26
6  14 8.10
7   6 6.13
8   4 3.10
9  12 9.13
10  7 7.26
11  5 4.74
Gruppe3
    x     y
1  10  7.46
2   8  6.77
3  13 12.74
4   9  7.11
5  11  7.81
6  14  8.84
7   6  6.08
8   4  5.39
9  12  8.15
10  7  6.42
11  5  5.73
Gruppe4
    x     y
1   8  6.58
2   8  5.76
3   8  7.71
4   8  8.84
5   8  8.47
6   8  7.04
7   8  5.25
8  19 12.50
9   8  5.56
10  8  7.91
11  8  6.89

Jetzt sollen die Gruppen für ihren Datensazt jeweils auf 2 Stellen gerundet

  • den Mittelwert
  • die Standardabweichung
  • den Korrelationskoeffizienten nach Pearson
  • die Formel der linearen Regressionsgeraden

berechnen, sowie eine Punktwolke mit Regressionsgeraden zeichnen.

statistische Kennzeichen

Wenn die Gruppen wieder zusammenkommen und ihre Ergebnisse präsentieren, gibt es bei den statistischen Kennwerten den ersten Aha-Moment.

Gruppe 1

round(mean(Gruppe1$x),2)
[1] 9
round(sd(Gruppe1$x),2)
[1] 3.32
round(mean(Gruppe1$y),2)
[1] 7.5
round(sd(Gruppe1$y),2)
[1] 2.03
round(cor(Gruppe1$x,Gruppe1$y),2)
[1] 0.82
fit <- lm(Gruppe1$y~Gruppe1$x)
round(fit$coefficients,2)
(Intercept)   Gruppe1$x 
        3.0         0.5 

Gruppe 2

round(mean(Gruppe2$x),2)
[1] 9
round(sd(Gruppe2$x),2)
[1] 3.32
round(mean(Gruppe2$y),2)
[1] 7.5
round(sd(Gruppe2$y),2)
[1] 2.03
round(cor(Gruppe2$x,Gruppe2$y),2)
[1] 0.82
fit <- lm(Gruppe2$y~Gruppe2$x)
round(fit$coefficients,2)
(Intercept)   Gruppe2$x 
        3.0         0.5 

Gruppe 3

round(mean(Gruppe3$x),2)
[1] 9
round(sd(Gruppe3$x),2)
[1] 3.32
round(mean(Gruppe3$y),2)
[1] 7.5
round(sd(Gruppe3$y),2)
[1] 2.03
round(cor(Gruppe3$x,Gruppe3$y),2)
[1] 0.82
fit <- lm(Gruppe3$y~Gruppe3$x)
round(fit$coefficients,2)
(Intercept)   Gruppe3$x 
        3.0         0.5 

Gruppe 4

round(mean(Gruppe4$x),2)
[1] 9
round(sd(Gruppe4$x),2)
[1] 3.32
round(mean(Gruppe4$y),2)
[1] 7.5
round(sd(Gruppe4$y),2)
[1] 2.03
round(cor(Gruppe4$x,Gruppe4$y),2)
[1] 0.82
fit <- lm(Gruppe4$y~Gruppe4$x)
round(fit$coefficients,2)
(Intercept)   Gruppe4$x 
        3.0         0.5 

Alle Gruppen haben die selben (zugegeben gerundeten) Kennwertergebnisse ausgerechnet, obwohl die Datensätze unterschiedlich sind. Das sorgt häufig für Erstaunen und führt zu ersten Diskussionen.

graphische Darstellung

Spannend wird es dann nochmal, wenn die Punktwolken verglichen werden.

plot(Gruppe1$x,Gruppe1$y,
     xlim = c(0,20),
     ylim = c(0,13))
abline(lm(Gruppe1$y~Gruppe1$x))


plot(Gruppe2$x,Gruppe2$y,
     xlim = c(0,20),
     ylim = c(0,13))
abline(lm(Gruppe2$y~Gruppe2$x))


plot(Gruppe3$x,Gruppe3$y,
     xlim = c(0,20),
     ylim = c(0,13))
abline(lm(Gruppe3$y~Gruppe3$x))


plot(Gruppe4$x,Gruppe4$y,
     xlim = c(0,20),
     ylim = c(0,13))
abline(lm(Gruppe4$y~Gruppe4$x))
(a) Gruppe 1
(b) Gruppe 2
(c) Gruppe 3
(d) Gruppe 4
Abbildung 1: Anscombe Quartett

Alle Diagramme sehen unterschiedlich aus, und ihre Darstellung regt weitere Diskussionen an:

  • Diagramm 1 sieht aus wie ein klassisches Streudiagramm. Die lineare Regressionsgerade sieht passend aus, die Variablen scheinen zu korrelieren. Hier ist alles in Ordnung.
  • Diagramm 2 lässt erkennen, dass der Zusammenhang zwischen x und y nicht linear ist. Somit lassen sich keine Korrelationen oder lineare Regressionen auf die Daten anwenden.
  • Diagramm 3 zeigt einen deutlichen Ausreisser, der die Ergebnisse von Korrelation und Regression verzerrt.
  • Diagramm 4 zeigt ebenfalls einen deutlichen Ausreisser, während alle anderen y-Werte im selben x übereinander liegen. Ohne den Ausreisser wäre keine Korrelation oder Regression rechenbar.

Diskussion

Mit dieser kleinen Übung gelingt es häufig, Studierenden die Wichtigkeit der graphischen Datenanalyse nahezulegen, die vor der eigentlichen statistischen Auswertung erfolgen sollte. Statistische Kennzahlen reichen nicht aus, um die Daten ausreichend zu beschreiben.

heutzutage

Heutzutage ist es mit Hilfe von evolutionären Algorithmen möglich, weit komplexere Datensätze zu erzeugen, die in ihren Kennwerten übereinstimmen, deren Streudiagramme aber beliebige Formen annehmen können.

Mein Favorit ist der Datasaurus2.

library(ggplot2)
load(url("https://www.produnis.de/nagut/datasaurus.RData"))

datasaurus |> 
  ggplot(aes(x=x, y=y)) +
  geom_point() +
  facet_wrap(~dataset)
Abbildung 2

Weblinks


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

 

Fußnoten

  1. F. J. Anscombe: Graphs in Statistical Analysis. In: American Statistician. 27. Jahrgang, Nr. 1, 1973, S. 17–21↩︎

  2. Matejka, J., & Fitzmaurice, G. (2017). Same Stats, Different Graphs: Generating Datasets with Varied Appearance and Identical Statistics through Simulated Annealing. Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems, 1290–1294. https://doi.org/10.1145/3025453.3025912↩︎

Ich verwende in der Lehre gerne das Anscombe-Quartett, welches der englische Statistiker Francis Anscombe im Jahr 19731 vorgestellt hat.

Es besteht aus 4 kleinen Datensätzen mit jeweils 11 Beobachtungen von 2 Variablen (x, y). Der Datensatz ist u.a. bei Wikipedia erhältlich, aber auch direkt in R implementiert.

# aktiviere den Datensatz
data("anscombe")

# Daten anzeigen
anscombe
   x1 x2 x3 x4    y1   y2    y3    y4
1  10 10 10  8  8.04 9.14  7.46  6.58
2   8  8  8  8  6.95 8.14  6.77  5.76
3  13 13 13  8  7.58 8.74 12.74  7.71
4   9  9  9  8  8.81 8.77  7.11  8.84
5  11 11 11  8  8.33 9.26  7.81  8.47
6  14 14 14  8  9.96 8.10  8.84  7.04
7   6  6  6  8  7.24 6.13  6.08  5.25
8   4  4  4 19  4.26 3.10  5.39 12.50
9  12 12 12  8 10.84 9.13  8.15  5.56
10  7  7  7  8  4.82 7.26  6.42  7.91
11  5  5  5  8  5.68 4.74  5.73  6.89

Das Anscombe-Quartett ist hervoragend geeignet, um Studierenden die Wichtigkeit von graphischen Auswertungen neben statistischen Kennzeichen zu verdeutlichen.

Vorbereitung

Ich teile die Studierenden in 4 Gruppen auf, und jede Gruppe erhält einen Anscombe-Datensatz.

Gruppe1 <- data.frame(x=anscombe$x1, y=anscombe$y1)
Gruppe2 <- data.frame(x=anscombe$x2, y=anscombe$y2)
Gruppe3 <- data.frame(x=anscombe$x3, y=anscombe$y3)
Gruppe4 <- data.frame(x=anscombe$x4, y=anscombe$y4)
Gruppe1
    x     y
1  10  8.04
2   8  6.95
3  13  7.58
4   9  8.81
5  11  8.33
6  14  9.96
7   6  7.24
8   4  4.26
9  12 10.84
10  7  4.82
11  5  5.68
Gruppe2
    x    y
1  10 9.14
2   8 8.14
3  13 8.74
4   9 8.77
5  11 9.26
6  14 8.10
7   6 6.13
8   4 3.10
9  12 9.13
10  7 7.26
11  5 4.74
Gruppe3
    x     y
1  10  7.46
2   8  6.77
3  13 12.74
4   9  7.11
5  11  7.81
6  14  8.84
7   6  6.08
8   4  5.39
9  12  8.15
10  7  6.42
11  5  5.73
Gruppe4
    x     y
1   8  6.58
2   8  5.76
3   8  7.71
4   8  8.84
5   8  8.47
6   8  7.04
7   8  5.25
8  19 12.50
9   8  5.56
10  8  7.91
11  8  6.89

Jetzt sollen die Gruppen für ihren Datensazt jeweils auf 2 Stellen gerundet

  • den Mittelwert
  • die Standardabweichung
  • den Korrelationskoeffizienten nach Pearson
  • die Formel der linearen Regressionsgeraden

berechnen, sowie eine Punktwolke mit Regressionsgeraden zeichnen.

statistische Kennzeichen

Wenn die Gruppen wieder zusammenkommen und ihre Ergebnisse präsentieren, gibt es bei den statistischen Kennwerten den ersten Aha-Moment.

Gruppe 1

round(mean(Gruppe1$x),2)
[1] 9
round(sd(Gruppe1$x),2)
[1] 3.32
round(mean(Gruppe1$y),2)
[1] 7.5
round(sd(Gruppe1$y),2)
[1] 2.03
round(cor(Gruppe1$x,Gruppe1$y),2)
[1] 0.82
fit <- lm(Gruppe1$y~Gruppe1$x)
round(fit$coefficients,2)
(Intercept)   Gruppe1$x 
        3.0         0.5 

Gruppe 2

round(mean(Gruppe2$x),2)
[1] 9
round(sd(Gruppe2$x),2)
[1] 3.32
round(mean(Gruppe2$y),2)
[1] 7.5
round(sd(Gruppe2$y),2)
[1] 2.03
round(cor(Gruppe2$x,Gruppe2$y),2)
[1] 0.82
fit <- lm(Gruppe2$y~Gruppe2$x)
round(fit$coefficients,2)
(Intercept)   Gruppe2$x 
        3.0         0.5 

Gruppe 3

round(mean(Gruppe3$x),2)
[1] 9
round(sd(Gruppe3$x),2)
[1] 3.32
round(mean(Gruppe3$y),2)
[1] 7.5
round(sd(Gruppe3$y),2)
[1] 2.03
round(cor(Gruppe3$x,Gruppe3$y),2)
[1] 0.82
fit <- lm(Gruppe3$y~Gruppe3$x)
round(fit$coefficients,2)
(Intercept)   Gruppe3$x 
        3.0         0.5 

Gruppe 4

round(mean(Gruppe4$x),2)
[1] 9
round(sd(Gruppe4$x),2)
[1] 3.32
round(mean(Gruppe4$y),2)
[1] 7.5
round(sd(Gruppe4$y),2)
[1] 2.03
round(cor(Gruppe4$x,Gruppe4$y),2)
[1] 0.82
fit <- lm(Gruppe4$y~Gruppe4$x)
round(fit$coefficients,2)
(Intercept)   Gruppe4$x 
        3.0         0.5 

Alle Gruppen haben die selben (zugegeben gerundeten) Kennwertergebnisse ausgerechnet, obwohl die Datensätze unterschiedlich sind. Das sorgt häufig für Erstaunen und führt zu ersten Diskussionen.

graphische Darstellung

Spannend wird es dann nochmal, wenn die Punktwolken verglichen werden.

Gruppe 1

plot(Gruppe1$x,Gruppe1$y,
     xlim = c(0,20),
     ylim = c(0,13))
abline(lm(Gruppe1$y~Gruppe1$x))

Gruppe 2

plot(Gruppe2$x,Gruppe2$y,
     xlim = c(0,20),
     ylim = c(0,13))
abline(lm(Gruppe2$y~Gruppe2$x))

Gruppe 3

plot(Gruppe3$x,Gruppe3$y,
     xlim = c(0,20),
     ylim = c(0,13))
abline(lm(Gruppe3$y~Gruppe3$x))

Gruppe 4

plot(Gruppe4$x,Gruppe4$y,
     xlim = c(0,20),
     ylim = c(0,13))
abline(lm(Gruppe4$y~Gruppe4$x))

Alle Diagramme sehen unterschiedlich aus, und ihre Darstellung regt weitere Diskussionen an:

  • Diagramm 1 sieht aus wie ein klassisches Streudiagramm. Die lineare Regressionsgerade sieht passend aus, die Variablen scheinen zu korrelieren. Hier ist alles in Ordnung.
  • Diagramm 2 lässt erkennen, dass der Zusammenhang zwischen x und y nicht linear ist. Somit lassen sich keine Korrelationen oder lineare Regressionen auf die Daten anwenden.
  • Diagramm 3 zeigt einen deutlichen Ausreisser, der die Ergebnisse von Korrelation und Regression verzerrt.
  • Diagramm 4 zeigt ebenfalls einen deutlichen Ausreisser, während alle anderen y-Werte im selben x übereinander liegen. Ohne den Ausreisser wäre keine Korrelation oder Regression rechenbar.

Diskussion

Mit dieser kleinen Übung gelingt es häufig, Studierenden die Wichtigkeit der graphischen Datenanalyse nahezulegen, die vor der eigentlichen statistischen Auswertung erfolgen sollte. Statistische Kennzahlen reichen nicht aus, um die Daten ausreichend zu beschreiben.

heutzutage

Heutzutage ist es mit Hilfe von evolutionären Algorithmen möglich, weit komplexere Datensätze zu erzeugen, die in ihren Kennwerten übereinstimmen, deren Streudiagramme aber beliebige Formen annehmen können.

Mein Favorit ist der Datasaurus2.

library(ggplot2)
load(url("https://www.produnis.de/nagut/datasaurus.RData"))

datasaurus |> 
  ggplot(aes(x=x, y=y)) +
  geom_point() +
  facet_wrap(~dataset)

Weblinks




kommentiere per [matrix]:

Fußnoten

  1. F. J. Anscombe: Graphs in Statistical Analysis. In: American Statistician. 27. Jahrgang, Nr. 1, 1973, S. 17–21↩︎

  2. Matejka, J., & Fitzmaurice, G. (2017). Same Stats, Different Graphs: Generating Datasets with Varied Appearance and Identical Statistics through Simulated Annealing. Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems, 1290–1294. https://doi.org/10.1145/3025453.3025912↩︎

14. Oktober 2023

Der PDF-Betrachter von Firefox kann längst nicht mehr nur zum reinen Betrachten von PDF-Dateien, sondern auch zum Ausfüllen von PDF-Formularen oder zum Ergänzen von Text und Zeichnungen genutzt werden. Firefox 119 bringt zusätzlich die Möglichkeit, Bilder einzufügen.

Manchmal kann es notwendig sein, eine bestehende PDF-Datei zu bearbeiten und zusätzliche Textanmerkungen zu platzieren. Auch das Zeichnen auf PDF-Dateien ist seit Firefox 106 möglich. Was bisher noch fehlte und Firefox 119 ergänzen wird, ist die Möglichkeit, zusätzliche Bilder in PDF-Dateien zu integrieren. Mögliche Anwendungsfälle hierfür wären beispielsweise Stempel oder Unterschriften auf digitalen Dokumenten.

Natürlich soll auch die Barrierefreiheit dabei nicht zu kurz kommen. Daher können Bilder entweder als dekorativ markiert oder ein Alternativtext hinterlegt werden, der Nutzern assistiver Technologien bereitgestellt wird.

Firefox 119: Bilder in PDF-Dateien

Der Beitrag Firefox 119 erlaubt das Einfügen von Bildern in PDF-Dateien erschien zuerst auf soeren-hentzschel.at.

13. Oktober 2023

(Aktualisiert am 15.10.2023, Geekbench-Ergebnisse mit/ohne Lüfter)

Nach Raspberry Pi OS Bookworm habe ich mir heute auch Ubuntu 23.10 auf dem Raspberry Pi angesehen. In aller Kürze: Der Raspberry Pi 5 ist ein großartiger Desktop-Rechner, Ubuntu mit Gnome unter Wayland läuft absolut flüssig.

Ubuntu 23.04 mit Gnome-Desktop und Wayland auf einem Raspberry Pi 5

Systemvoraussetzungen

Die Desktop-Version von Ubuntu 23.10 läuft nur auf den Modellen 4B, 400 und 5 und beansprucht zumindest 4 GiB RAM. Bei meinem Test mit offenem Terminal, Firefox (zwei Tabs mit GitHub und orf.at) sowie dem neuen App Center waren erst gut 2 GiB RAM in Verwendung. Mit offenem Gimp, VS Code und App Center steigt der Speicherbedarf dann auf 4 GiB. Insofern sind für’s ernsthafte Arbeiten 8 GiB RAM sicher kein Schaden.

Installation

Zur Installation habe ich mit dem Raspberry Pi Imager Ubuntu 23.10 auf eine SD-Karte übertragen. Die Spracheinstellung in der Konfigurationsphase beim ersten Starts bleibt wirkungslos und muss später in den Systemeinstellungen nachgeholt werden. Außerdem müssen mit Installierte Sprachen verwalten alle erforderlichen Sprachdateien heruntergeladen werden.

Ein initiales Ubuntu-Desktop-System beansprucht etwa 6 GByte auf der SD-Karte. Mit Schuld am verhältnismäßig großem Speicherbedarf für ein Ubuntu-»Minimalsystem« ohne Anwendungsprogramme ist der unmäßige Speicherbedarf der vorinstallierten Snap-Paketen (App Center, Firefox plus alle dazu erforderlichen Basisbibliotheken).

Gnome

Gnome 45 mit Wayland läuft absolut flüssig. Nur der Start von Snap-Apps führt zu kleinen Verzögerungen — das kennt man ja auch von Ubuntu-Installationen auf hochwertiger Hardware. Bei meinem Testrechner (Pi 5 mit 8 GiB RAM) braucht Firefox beim ersten Start ca. 4 Sekunden, bis es am Bildschirm erscheint. Damit kann man wirklich leben ;-)

Screenshots funktionieren auf Anhieb.

Bei der Erkennung der Systemdaten (also Info/Systemdetails in den Einstellungen) versagt Gnome aber und kann weder die CPU noch die Größe der SD-Karte erkennen (siehe die Abbildung oben). Aber das sind Kleinigkeiten.

Kernel

Ubuntu verwendet mit Version 6.5 einen neueren Kernel als Raspberry Pi OS. Im Gegensatz zu Raspberry Pi OS kommt die »normale« Pagesize von 4 kByte zum Einsatz:

pi5u$ uname -a
  Linux pi5u 6.5.0-1005-raspi #7-Ubuntu SMP PREEMPT_DYNAMIC 
  Sun Oct  8 08:06:18 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux

pi5u$ getconf PAGESIZE
4096

Visual Studio Code

Erstaunlicherweise fehlt in der Snap-Bibliothek Visual Studio Code. Ein Debian-Paket für ARM64 kann von https://code.visualstudio.com heruntergeladen werden. Es muss dann mit sudo apt install ./code_xxx.deb installiert werden. Die nachfolgende Fehlermeldung pkgAcquire::Run / Keine Berechtigung können Sie ignorieren. Vergessen Sie aber nicht, ./ bzw. einen gültigen Pfad voranzustellen, sonst glaubt apt, code_xxx.deb wäre der Paketname und verweigert die Installation der lokalen Datei.

Geekbench

Unter https://www.geekbench.com/preview/ gibt es eine AArch64-Version von Geekbench, die ich heruntergeladen, ausgepackt und ausgeführt habe. Die Temperatur des SoC steigt während der Tests auf über 85 °C. Die CPU-Frequenz wird in der Folge auf 1,5 GHz gedrosselt. Ich habe keine Kühlung verwendet (weder aktiv noch passiv). Ergebnisse unter diesen Voraussetzungen: 657
Single-Core Score, 1233 Multi-Core Score. Mehr Details finden Sie hier: https://browser.geekbench.com/v6/cpu/3060411

Geekbench

Im Leerlauf unter Ubuntu 23.10 beträgt die CPU-Temperatur übrigens gut 70°C, also auch schon mehr als genug.

Ubuntu fehlt eine dynamische Lüftersteuerung. Sobald ein Lüfter angeschlossen wird, läuft dieser mit maximaler Leistung und produziert ein durchaus störendes Ausmaß an Lärm. Die CPU-Temperatur sinkt dann im Leerlauf auf gut 30°C. Selbst während der Ausführung von Geekbench steigt die Temperatur nur kurzzeitig über 45°C. Gleichzeitig fallen die Werte etwas besser aus (siehe auch https://browser.geekbench.com/v6/cpu/3095791).

Geekbench 6      Single-Core      Multi-Core
--------------  ------------    ------------
Ohne Lüfter              657            1233
Mit Lüfter               737            1542

Eine letzte Anmerkung zu Geekbench: Die 64-Bit-Version von Raspberry Pi OS und Geekbench 6.2 sind wegen der 4-kByte-Pagesize inkompatibel zueinander. Ab Version 6.2.2 läuft Geekbench auch unter Raspberry Pi OS.

Abstürze

Während meiner Tests kam es zweimal zu kapitalen Abstürzen (Bildschirm wurde schwarz, kein Netzwerkzugriff mehr etc.). Möglicherweise war das von mir eingesetzte Netzteil zu schwach. (Unter Raspberry Pi OS hatte ich mit demselben Netzteil allerdings keine Probleme.)

Ich bin dann auf das neue Original-Raspberry-Pi-Netzteil umgestiegen (27 W für einen Minirechner erscheinen wirklich mehr als üppig, aber sei’s drum). Die Komplett-Abstürze haben sich nicht wiederholt.

Allerdings ist in der Folge auch Gimp bei der Verwendung des Dateiauswahldialogs zweimal abgestürzt. Das kenne ich von meinem Notebook überhaupt nicht. Ich kann natürlich nicht sagen, ob dieses Problem ARM-, Ubuntu- oder Raspberry-Pi-spezifisch ist. Aber für zwei Stunden Betrieb waren das für meinen Geschmack recht viele Abstürze …

Quellen/Links

Die Veröffentlichung wurde verschoben, bis das Upstream-Problem aufgrund von Komplikationen im Zusammenhang mit dem Linux-Kernel 6.5 gelöst ist.

Arch-Linux und darauf basierende Distributionen erfreuen sich, nicht nur bei Profis, sondern auch bei fortgeschrittenen GNU/Linux-Anwender:innen, einer grossen Beliebtheit. Das mag am Rolling-Release-Modell liegen, aber auch daran, dass die ehemals schwierige Installation der Vergangenheit angehört. Schaut man bei Distrowatch nach, finden sich 25 Distributionen, die auf Arch aufsetzen. Zu den prominentesten gehören Manjaro und EndeavourOS, die aktuell die Plätze 3 und 5 des Rankings bei Distrowatch belegen. (Hinweis: diese Liste ist eine selbsterfüllende Prophezeiung). Diese beiden machen es den Benutzern besonders einfach bei der Installation. Nach der Cassini-Serie von EndeavourOS hätte eigentlich die Galileo-Version erscheinen sollen. Doch diese verspätet sich.

Das letzte Update der Distribution ist Cassini Nova R3, das im September veröffentlicht wurde. Einen positiven Kurztest von Cassini könnt ihr hier lesen. Unglücklicherweise änderte das Erscheinen von Linux-Kernel 6.5 die Pläne der Entwickler, bevor die endgültige Version von EndeavourOS Galileo fertig war. Es stellte sich heraus, dass diese Kernel-Version einen Fehler aufweist, der manchmal Probleme verursacht, wenn sie auf bestimmter Hardware oder Virtualisierungssoftware eingesetzt wird.

Daher verzögert sich die Veröffentlichung von Galileo, bis das Problem Upstream behoben ist. Das kleine Team von EndeavourOS kann diese Aufgabe nicht selbst bewältigen. Man hätte stattdessen den Linux-Kernel 6.1 LTS verwenden können, wäre jedoch das Risiko eingegangen, dass Teile moderner Hardware davon nicht unterstützt werden.

Eine der grössten Änderungen, die mit der Galileo-Serie Einzug erhalten, ist der Austausch der Standard-Desktopumgebung von Xfce zu KDE Plasma. Als Begründung für diesen Wechsel schreibt das Team:

Von Anfang an haben wir unsere ISOs mit einer leicht angepassten Xfce-Live-Umgebung und einer Offline-Installationsoption ausgeliefert. Jetzt, nach mehr als vier Jahren, wird es für uns immer schwieriger, die angepasste Xfce-Live-Umgebung mit den Fortschritten des Calamares-Installers in Einklang zu bringen. Aus diesem Grund verabschieden wir uns von Xfce und wechseln ab Galileo zu Plasma. KDE Plasma bietet eine nativere Entwicklungserfahrung für das Team und ist daher einfacher zu pflegen.

Als weitere Desktop-Umgebungen kann während der Installation zwischen Budgie, Cinnamon, GNOME, i3, LXDE, LXQt, MATE und Xfce ausgewählt werden. Ausserdem wird Galileo die erste Version ohne die Optionen Sway, Qtile, Openbox und bspwm im Installationsprogramm sein. Natürlich ist es immer noch möglich, sie auf einem bereits laufenden System zu installieren.

Sobald Galileo erschienen ist, werden wir euch informieren und das neue Release ausprobieren.

Quelle: https://endeavouros.com/news/our-galileo-release-is-delayed-but-here-are-the-main-changes-you-can-expect/


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.

12. Oktober 2023

Cookie-Dialoge sind in der Theorie eine gute Sache, sollen sie dem Anwender doch mehr Kontrolle und Datenschutz geben. In der Praxis sind die meisten Anwender wohl doch eher genervt davon. Ab Firefox 120 soll Mozillas Browser damit beginnen, Cookie-Dialoge standardmäßig zu blockieren.

Wieso gibt es Cookie-Dialoge?

Zunächst einmal: Cookies sind nichts Schlechtes. Im Gegenteil sind diese häufig sogar technisch notwendig. In Cookies werden Informationen gespeichert, die es einem beispielsweise ermöglichen, auf Websites eingeloggt zu bleiben.

Häufig werden Cookies mit Tracking in Verbindung gebracht, indem über Websites und Sitzungen hinweg Informationen gespeichert und zusammengeführt werden, was es Websites dann erlaubt, zum Beispiel personalisierte Werbung auszuspielen. An diesem Punkt bekommen Cookies eine Datenschutz-Relevanz. Firefox-Nutzer sind hier durch den vollständigen Cookie-Schutz geschützt, der seit Firefox 103 für alle Nutzer standardmäßig aktiv ist. Gleichwohl ist zu bedenken, dass seitenübergreifendes Tracking heutzutage auch über andere Mechanismen stattfinden kann.

Cookie-Dialoge sind keine Idee der Website-Betreiber, sondern eine Konsequenz der Gesetzgebung innerhalb der Europäischen Union. Diese sieht es vor, dass Nutzern die Kontrolle darüber gegeben wird, was mit ihren Daten geschieht. Auch wenn es namentlich eigentlich nur um Cookies geht, hängt da oft viel mehr als nur Cookies dran. So kann das Laden ganzer Scripts von fremden Servern von der Entscheidung abhängen, ob man über einen solchen Dialog seine Zustimmung erteilt oder nicht.

Ziel dieser Cookie-Dialoge ist eine Verbesserung des Datenschutzes der Nutzer, was ohne Frage ein nobles Ziel ist. In der praktischen Umsetzung zeigt sich jedoch, dass viele Nutzer nur noch davon genervt sind, auf jeder Website erst einmal einen Dialog bestätigen zu müssen, zumal eine begründete Entscheidung oft auch gar nicht möglich ist, sei es wegen fehlender oder im Gegenteil so vieler Informationen, dass man erschlagen wird und einfach nur noch bestätigt. Gerne wird auch mit Tricks gearbeitet, welche die Zustimmung visuell attraktiver machen als die Ablehnung.

Ab Firefox 120 werden Cookie-Dialoge blockiert

Es ist bereits über ein Jahr her, dass ich darüber berichtet hatte, dass Firefox in Zukunft Cookie-Dialoge blockieren wird. Während Mozilla in der Zwischenzeit weiter an dem Feature gearbeitet hat, war nicht klar, wann die neue Funktion denn nun erstmals in einer finalen Version von Firefox ausgerollt werden wird.

Jetzt ist klar: Mozilla wird in Firefox 120 damit beginnen, Cookie-Dialoge standardmäßig zu blockieren. Allerdings: Die Ausrollung in Firefox 120 wird nur für Nutzer in Deutschland erfolgen. Nutzer in anderen Ländern werden also noch etwas länger warten müssen – oder die Funktion manuell über about:config aktivieren, indem der Schalter cookiebanners.service.mode auf 1 gesetzt wird.

Zu beachten ist, dass die Funktion Cookie-Dialoge reduzieren und nicht vollständig eliminieren wird. Es kann immer auch Websites geben, auf denen Cookie-Dialoge erscheinen, die von Firefox nicht erkannt werden. Außerdem blockiert Firefox standardmäßig ausschließlich Cookie-Dialoge, welche eine Option zum Ablehnen anbieten. Für die Zukunft ist geplant, noch eine Funktion zu integrieren, über welche man Mozilla auf Websites hinweisen kann, auf denen Cookie-Dialoge nicht erkannt werden. Bis dahin lassen sich Seiten mit nicht erkannten Cookie-Dialogen aber auch über GitHub melden.

Der Beitrag Ab Firefox 120 werden Cookie-Dialoge blockiert erschien zuerst auf soeren-hentzschel.at.

Seit gestern ist die neue Version von Raspberry Pi OS auf der Basis von Debian 12 (»Bookworm«) verfügbar. Diese Version ist Voraussetzung für den Raspberry Pi 5, läuft aber natürlich auch auf älteren Raspberry Pis. Ich habe meine Tests auf einem Pi 5 sowie einem Pi 400 durchgeführt.

Auf den ersten Blick sieht der Desktop auf der Basis von LXDE nahezu unverändert aus. Aber dieser Eindruck täuscht erheblich: Raspberry Pi OS verwendet jetzt Wayland, PipeWire und den NetworkManager.

Auf den Modellen Pi 4, Pi 400 und Pi 5 läuft der Pixel Desktop unter Wayland

Wayland für Pi 4 und 5, Abschied von X in Raten

Auf aktuellen Raspberry-Pi-Modellen (Pi 4, Pi 400, Pi 5) kommt nun standardmäßig Wayland statt xorg als Fundament für das Grafiksystem zum Einsatz.

pi5$ echo $XDG_SESSION_TYPE
  wayland

Das ist ein großer Schritt, weil dafür viele Komponenten verändert bzw. hinzugefügt werden mussten:

  • Compositor: Wayfire
  • Panel/Desktop-Shell: wf-panel-pi

Zusammen mit dem Panel mussten auch die diversen Plugins für das Menü, die Bluetooth- und WLAN-Konfiguration, Lautstärkeeinstellung usw. neu implementiert werden.

Das für Wayland neu implementierte Panel hat zwei Plugins, die die CPU-Auslastung und -Temperatur anzeigen

Der Wayland-Umstieg ist mit den von anderen Desktop-Systemen bekannten Einschränkungen bzw. Kinderkrankheiten verbunden: Fernwartung, Screenshots usw. zicken bzw. funktionieren gar nicht. Auf das Thema VNC und Remote Desktop gehe ich hier in einem eigenen Artikel ein. Zum Erstellen von Screenshots verwenden Sie am besten das Kommando grim (siehe Projektseite). Gimp und scrot liefern lediglich schwarze Bilder, shutter stürzt ab.

Ältere Raspberry-Pi-Modelle (Pi 3, Zero etc.) verwenden aufgrund von Performance-Problemen weiterhin xorg. Aber auch bei diesen Modellen ist in Zukunft der Wechsel zu Wayland geplant.

Audio-System PipeWire

Nach Fedora, Ubuntu & Co. verwendet nun auch Raspberry Pi OS das neue PipeWire-Audiosystem. Es ersetzt PulseAudio. Für die Desktop-Nutzung der Audio-Funktionen sollten sich dadurch nichts ändern. Wenn Sie Audio-Funktionen per Script steuern möchten, müssen Sie sich an die neuen pw-xxx-Kommandos gewöhnen (siehe https://docs.pipewire.org/page_tools.html).

Netzwerkkonfiguration mit dem NetworkManager

Ähnlich wie beim Audio-System passt sich Raspberry Pi OS auch bei der Netzwerkkonfiguration den anderen Distributionen an und verwendet nun den NetworkManager als Backend. dhcpcd hat ausgedient. Wiederum ist von der Änderung an der Oberfläche nicht viel zu sehen. Die Konfigurationswerkzeuge zur Herstellung einer WLAN-Verbindung sehen ähnlich aus wie bisher. Allerdings gibt es nun diverse neue Funktionen, z.B. zur Herstellung von VPN-Verbindungen. Änderung ergeben sich auch, wenn Sie die Netzwerkkonfiguration per Script verändern möchten. Das wichtigste neue Kommando ist nmcli. Die Konfigurationsdateien werden in /etc/NetworkManager gespeichert. WLAN-Passwörter landen in /etc/NetworkManager/system-connections/*.conf.

Bei meinen Tests traten im Zusammenspiel mit dem Raspberry Pi Imager bei der Vorweg-Konfiguration (z.B. für Headless-Systeme) noch Fehler auf. Es ist aber zu erwarten/hoffen, dass diese bald gelöst sein werden.

Webbrowser: Firefox oder Chromium?

In der Vergangenheit galt Chromium als Default-Webbrowser für Raspberry Pi OS. In Kooperation mit Mozilla wurde nun auch Firefox besser an die Hardware- und Software-Eigenheiten angepasst und wird nun als gleichwertige Alternative angeboten. Standardmäßig sind beide Programme installiert. Den Default-Webbrowser können Sie im Programm Raspberry-Pi-Konfiguration festlegen.

Mathematica

Aus nostalgischen Gründen bin ich ein großer Fan von Mathematica und finde es fantastisch, dass das Programm Raspberry-Pi-OS-Anwendern kostenlos zur Verfügung steht. Das gilt auch für die neue Version von Raspberry Pi OS — aber aktuell nicht auf dem Pi 5. Dort erscheint beim Start der Hinweis, dass ein Lizenzcode erforderlich ist. Anscheinend soll dieses Problem
noch behoben werden. Die Raspberry Pi Foundation wartet diesbezüglich auf ein Update von Wolfram (Quelle).
Update 9.11.2023: Mit den neuesten Updates funktioniert nun auch Mathematica wieder — und zwar schneller denn je!

Versionsnummern

Dank des neuen Fundaments auf der Basis von Debian 12 haben sich viele Versionsnummern geändert:

Basis             Desktop              Programmierung   Server
---------------   ------------------   --------------   --------------
Kernel      6.1   Gimp          2.10   bash       5.2   Apache     2.4
glibc      2.36   LibreOffice    7.4   gcc       12.2   CUPS       2.4
Mesa       23.2   LXDE            11   Java        17   MariaDB  10.11
Systemd     247   VLC            3.0   PHP        8.2   OpenSSH    9.2
X-Server   21.1                        Python    3.11   Samba     4.17
Wayland    1.21

Python-Module

Bisher war es unter Python gebräuchlich, Zusatzmodule einfach mit pip bzw. pip3 zu installieren. In aktuellen Python-Versionen ist das nicht mehr erwünscht und führt zu einem Fehler:

$ pip install --user matplotlib

error: externally-managed-environment

  This environment is externally managed
  To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    For more information visit http://rptl.io/venv

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

Es gibt zwei Auswege:

Der geänderte Umgang mit Python-Modulen hat übrigens nichts mit Raspberry Pi OS zu tun, sondern ist eine von der Python-Entwicklergemeinde vorgegebene Änderung, die alle modernen Linux-Distributionen betrifft.

32 oder 64-Bit?

Auf https://www.raspberrypi.com/software/operating-systems sowie im Programm Raspberry Pi Imager wird nach wie vor die 32-Bit-Version von Raspberry Pi OS empfohlen. Die 64-Bit-Version ist dort nur die zweite Option.

Ich habe meine Tests dagegen mit der 64-Bit-Version durchgeführt, die für Pi-Modelle mit mehr als 2 GByte zweckmäßiger ist, einzelnen Prozessen mehr RAM zuordnen kann und etwas mehr Geschwindigkeit verspricht.

Interessanterweise kommt je nach Raspberry-Pi-Modell eine unterschiedliche Pagesize zum Einsatz: 16 kByte auf dem Raspberry Pi 5 aber wie bisher 4 kByte auf dem Raspberry Pi 400.

pi5$ getconf PAGESIZE
16384

pi400$ getconf PAGESIZE
4096

Die 16-kByte-Pagesize ist übrigens zu manchen Programmen inkompatibel. Unter anderem kann deswegen Geekbench 6.2 nicht in der 64-Bit-Version von Raspberry Pi OS ausgeführt werden.

Lüftersteuerung

Der Raspberry Pi 5 enthält eine Buchse zum Anschluss eines CPU-Lüfters. Raspberry Pi OS kümmert sich darum, den Lüfter nur nach Bedarf einzuschalten, und auch dann dynamisch (also nur in der erforderlichen Drehzahl). Im Leerlaufbetrieb bleibt der Raspberry Pi 5 lautlos.

Upgrade

Ein Upgrade eines bereits installierten Raspberry Pi OS »Bullseye« auf Version »Bookworm« ist theoretisch durch eine Veränderung der Paketquellen möglich (siehe z.B. hier im Raspberry-Pi-Forum). Diese Vorgehensweise wird aber explizit nicht unterstützt und führt nach meinen eigenen Erfahrungen oft zu massiven Problemen. Wenn Sie die aktuelle Version von Raspberry Pi OS nutzen möchten, müssen Sie also eine SD-Karte neu damit einrichten. Das hat natürlich den Nachteil, dass Sie alle Konfigurationsarbeiten wiederholen und ggfs. Ihre eigenen Projekte bzw. Ihren Code manuell übertragen und womöglich auch adaptieren müssen.

Quellen/Links

11. Oktober 2023

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

Neuerungen von Thunderbird 115.3.2

Mit dem Update auf Thunderbird 115.3.2 hat die MZLA Technologies Corporation ein Update für seinen Open Source E-Mail-Client veröffentlicht und behebt damit mehrere Probleme, welche sich in den Release Notes (engl.) nachlesen lassen.

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

10. Oktober 2023

Mozilla hat Firefox 118.0.2 veröffentlicht und verbessert damit die Übersetzungsfunktion, behebt Webkompatibilitätsprobleme und bringt weitere Verbesserungen.

Download Mozilla Firefox 118.0.2

Mit dem Update auf Firefox 118.0.2 verbessert Mozilla die mit Firefox 118 eingeführte Übersetzungsfunktion, welche Websites komplett im Browser übersetzen kann, ohne die zu übersetzenden Texte an einen Online-Dienst wie Google Translate senden zu müssen. Ab sofort können auch Inhalte übersetzt werden, welche sich im sogenannten Shadow DOM einer Website befinden.

Firefox 118.0.2 behebt auch einige Webkompatibilitätsprobleme. So wurde ein Problem behoben, durch welches manche H.264 WebRTC-Videos nicht abgespielt werden konnten, ebenso wie ein Audio-Decoding-Problem unter Windows mit manchen Formaten korrigiert wurde. Ein weiteres behobenes Problem verursachte, dass die Website betsoft.com nicht geladen werden konnte. Ebenfalls behoben wurde das Problem, dass CORS XHR mit Authentifizierung nicht mehr funktionierte. Außerdem gab es Probleme beim Drucken mancher SVG-Grafiken.

Durch die Anti-Fingerprinting-Konfiguration von Firefox konnte es in privaten Fenstern dazu kommen, dass teilweise nicht die richtigen Schriften angezeigt worden sind. Dies hat vor allem Nutzer japanischer, chinesischer oder koreanischer Sprachen betroffen.

Für Nutzer von Windows 11 ab Build 22621 poppte bei Installation eine Berechtigungsanfrage von Windows für das Anpinnen an die Taskleiste auf. Mit Firefox 118.0.2 wird diese Aktion ab diesem Windows-Build nicht mehr als Teil des Installers ausgeführt, sondern nur noch als Teil der Willkommenstour, wo Nutzer explizit danach gefragt werden und wo diese Berechtigungsanfrage daher weniger Verwirrung beim Anwender auslöst.

Dazu kommt noch die Behebung dreier möglicher Absturzursachen sowie eine Performance-Verbesserung in Zusammenhang mit CSS und dem Shadow DOM.

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

9. Oktober 2023

Firefox Relay ist ein Dienst von Mozilla, der die persönliche E-Mail-Adresse vor Spam und unerwünschter Offenlegung schützt. Die dazugehörige Browser-Erweiterung hat Mozilla nun in Version 2.7.4 veröffentlicht.

Was ist Firefox Relay?

E-Mail-Adressen sind gleichzusetzen mit einer persönlichen Adresse. Sie sind einmalig und viele Nutzer besitzen nur eine einzige E-Mail-Adresse, die sie teilweise auf dutzenden, wenn nicht gar auf hunderten Websites verwenden. Findet auf einer Website, auf der man mit seiner E-Mail-Adresse registriert ist, ein Datendiebstahl statt, wird damit in vielen Fällen auch die persönliche E-Mail-Adresse offengelegt. Und haben Spammer erstmal eine E-Mail-Adresse in ihrem System, darf man sich auf viele unerwünschte E-Mails ohne realistische Hoffnung einstellen, dass der Spam abnehmen wird.

Mit Firefox Relay können sogenannte Masken als Alias-Adressen angelegt werden, die der Nutzer für Newsletter-Anmeldungen und Website-Registrierungen angeben kann. Firefox Relay leitet diese E-Mails dann an die persönliche E-Mail-Adresse weiter. Außerdem kann Firefox Relay bekannte Tracking-Scripts aus E-Mails entfernen.

Firefox Relay ist kostenlos. Es gibt aber auch eine kostenpflichtige Premium-Version, welche unendlich viele Masken anstelle von nur fünf sowie eine eigene E-Mail-Domain erlaubt. Außerdem können in Firefox Relay Premium auf weitergeleitete E-Mails geantwortet und Werbe-Mails automatisch blockiert werden. In den USA sowie Kanada können mittlerweile auch Telefonnummern maskiert werden.

Browser-Erweiterung für Firefox Relay

Die dazugehörige Browser-Erweiterung ist nicht zwingend erforderlich, erleichtert aber das Anlegen neuer Masken, da direkt in E-Mail-Feldern auf Websites ein entsprechendes Symbol erscheint, über welches eine neue Maske angelegt werden kann. Über die Schaltfläche im Erweiterungsmenü erscheinen diverse Statistiken wie die Anzahl verwendeter E-Mail-Masken, blockierter E-Mails, weitergeleiteter E-Mails sowie entfernten E-Mail-Trackern. Darüber hinaus kann die Erweiterung genutzt werden, um ein Problem mit Firefox Relay auf bestimmten Websites zu melden.

Neuerungen der Browser-Erweiterung Firefox Relay 2.7.4

Mit Firefox Relay 2.7.4 gab es weitere Verbesserungen der Webkompatibilität in Zusammenhang mit dem Masken-Symbol in E-Mail-Feldern. Außerdem wurde eine Zufriedenheitsumfrage eingeführt, welche unter bestimmten Voraussetzungen angezeigt werden kann.

Download der Browser-Erweiterung Firefox Relay für Firefox
Download der Browser-Erweiterung Firefox Relay für Google Chrome

Der Beitrag Mozilla veröffentlicht Browser-Erweiterung Firefox Relay 2.7.4 erschien zuerst auf soeren-hentzschel.at.

Die Entwickler von Arch Linux veröffentlichen normalerweise am Anfang jeden Monats eine neue Iso-Datei. Diesen Monat verzögert sich das, weil der zuständige Entwickler scheinbar keine Zeit hat oder aus anderen Gründen verhindert ist. Und die Welt geht unter.

Zumindest wenn es nach einigen Nutzern geht, die scheinbar ohne aktuelle Iso-Datei nicht leben können. Warum auch immer.

Dabei wäre die Lösung ganz einfach. Man erstellt sich einfach selbst eine neue Iso-Datei. Das ist keine Raketenwissenschaft und geht auch ziemlich schnell.

1pacman -Syu archiso git
2cd $(mktemp -d)
3cp -r /usr/share/archiso/configs/releng/ archlive
4mkarchiso -v

Zuerst installiert man die Pakete archiso und git. Dann erzeugt man ein temporäres Verzeichnis. In dieses Verzeichnis kopiert man dann den Inhalt von /usr/share/archiso/configs/releng/ in das Unterverzeichnis archlive. Schlussendlich erzeugt man mit mkarchiso eine taufrische Iso-Datei von Arch Linux im Verzeichnis out.

Mehr ist nicht zu machen. Der ganze Vorgang dauert nur ein paar Minuten und ist daher schneller erledigt als manche Leute zum Erstellen von “Nörgel-Beiträgen” auf Reddit oder sonst wo benötigen.

Die Entwickler von Arch Linux veröffentlichen normalerweise am Anfang jeden Monats eine neue Iso-Datei. Diesen Monat verzögert sich das, weil der zuständige Entwickler scheinbar keine Zeit hat oder aus anderen Gründen verhindert ist. Und die Welt geht unter.

Zumindest wenn es nach einigen Nutzern geht, die scheinbar ohne aktuelle Iso-Datei nicht leben können. Warum auch immer.

Dabei wäre die Lösung ganz einfach. Man erstellt sich einfach selbst eine neue Iso-Datei. Das ist keine Raketenwissenschaft und geht auch ziemlich schnell.

pacman -Syu archiso git
cd $(mktemp -d)
cp -r /usr/share/archiso/configs/releng/ archlive
mkarchiso -v

Zuerst installiert man die Pakete archiso und git. Dann erzeugt man ein temporäres Verzeichnis. In dieses Verzeichnis kopiert man dann den Inhalt von /usr/share/archiso/configs/releng/ in das Unterverzeichnis archlive. Schlussendlich erzeugt man mit mkarchiso eine taufrische Iso-Datei von Arch Linux im Verzeichnis out.

Mehr ist nicht zu machen. Der ganze Vorgang dauert nur ein paar Minuten und ist daher schneller erledigt als manche Leute zum Erstellen von “Nörgel-Beiträgen” auf Reddit oder sonst wo benötigen.

In den letzten Jahren habe ich mich immer wieder mit Erkenntnissen aus der Lernforschung auseinandergesetzt, um mein persönliches Lernen aber auch das Lernen an unserer Schule stetig zu verbessern. Ein Begriff, der mir dabei immer wieder begegnete, ist „Spaced Repetition“. Was das mit „Lernen ohne zu vergessen“ und mit Anki zu tun, möchte ich in diesem Artikel kurz beschreiben.

Was ist „Spaced Repetion“?

Spaced Repetition kann man am besten mit „zeitlich verteilte Wiederholung“ oder „verteilte Wiederholung“ übersetzen. Im Grunde geht es darum, dass ich Lerninhalte idealerweise dann wiederhole, kurz bevor ich sie vergessen habe. Wenn man Lernen als einen Kampf gegen das Vergessen bezeichnet, ist genau das wichtig: Wiederholen bevor mein Gedächtnis das Gelernte vergessen hat.

Immer dann, wenn ich Gelerntes wiederhole und mich daran erinnern kann, verlängert sich die „Speicherdauer“ in meinem Gedächtnis.

Wir alle kennen diesen Effekt. Wenn ich in meiner Schulzeit für einen Vokabeltest gelernt habe (meist am Tag davor 🙂 ), habe ich die meisten Vokabeln nach 3 Tagen wieder vergessen. Dass ist auch der Grund, warum ich mich nur noch an ganz wenige Französischvokabeln erinnern kann, obwohl ich 5 Jahre Sprachunterricht hatte. Hätte ich jedoch jeden Tag eine kleine Menge an Vokabeln gelernt und wiederholt, hätte ich mich wesentlich länger an sie erinnern können. Hier mal eine Grafik, die das Prinzip veranschaulicht:

Zusammenfassung: Wenn ich etwas Gelerntes im richtigen Moment wiederhole, kann ich die „Speicherdauer“ im Langzeitgedächtnis deutlich verlängern.

Doch woher weiß ich, wann der richtige Zeitpunkt ist, um etwas zu wiederholen? Ich möchte ja nur die Dinge wiederholen, die ich gerade am Vergessen bin und nicht die, die ich noch weiß. Das ist eine sehr wichtige Frage. Wenn ich zu viele Dinge wiederhole (v.a. Lerninhalte, die ich noch weiß), steigt mein zeitlicher Aufwand für die Wiederholungen. Wenn ich zu wenige Lerninhalte wiederhole, steigt die Chance, dass ich Dinge vergesse und ich sie letztendlich neu lernen muss.

Anki

Genau an diesem Punkt kommt Anki ins Spiel. Anki ist eine Open Source Karteikartensoftware, die mir die Arbeit der Berechnung der richtigen Intervalle abnimmt, sodass ich nur noch das wiederhole, was ich kurz vor dem Vergessen bin. Das genau ist es, was diese Lernmethode so effizient macht, denn nun kann ich Dinge in weniger Zeit lernen bzw. mehr in der gleichen Zeit, die ich bisher zum Lernen aufgewendet habe.

Anki ist eine sehr mächtige und flexible Anwendung, die sich durch viele Erweiterungen anpassen lässt. Das sorgt auch dafür, dass die Lernkurve für diese App etwas steiler ist. Deshalb empfehle ich, dass man sich am besten ein paar einführende Videos anschaut.

Karteikarten kann man sich entweder selbst erstellen oder nutzt eines der fertigen Lernpakete.

Lernen ohne zu vergessen – eine Utopie?

Persönlich nutze ich Anki seit ca. 1 Jahr. Hauptsächlich lerne ich damit Vokabeln (ja, auch wieder Französisch…), Bibelverse / -texte, Markierungen / Zitate aus Büchern, die ich gelesen habe und alles, was mich sonst noch so interessiert. Ich bin total begeistert von den Ergebnissen. Ich hätte nicht gedacht, dass es so leicht ist, sich Dinge langfristig im Gedächtnis zu behalten.

Wo ist der Haken? Damit das mit den Wiederholen zum richtigen Zeitpunkt auch klappt, muss ich meine Wiederholungen jeden Tag machen. Je nachdem wie viele Karten man lernt, können das 5 Minuten am Tag sein oder auch 2 Stunden. Der Schlüssel zum Erfolg ist die tägliche Wiederholung. Es dauert vielleicht ein paar Wochen bis man diese neue Gewohnheit in seinen Alltag integriert hat, aber man wird belohnt mit der Erfahrung, dass dieses Prinzip der verteilten Wiederholung wirklich funktioniert und unser Gedächtnis sich viele (sehr viele) Dinge merken kann.

Der Beitrag Lernen ohne zu vergessen mit Anki erschien zuerst auf zefanjas.

7. Oktober 2023

Dass einem der Hersteller das Upgrade verweigert, weil der PC schon 4 Jahre alt ist, das kann einem unter Linux so wohl nicht passieren. Dafür kommt man als Linuxnutzer derzeit ziemlich günstig an gebrauchte Hardware …

Dass ich das mal irgendwann sagen würde, hätte ich auch nicht für möglich gehalten, denn eigentlich ist die rasante Entwicklung bei Linux eher ein Nachteil, wenn man konservativ auf dem Desktop unterwegs ist. Das Officepaket sollte sich am besten maximal alle 10 Jahre ändern, die Position der Icons und Einstellungen auf dem Desktop am besten gar nicht. Doch in einer Dekade hat KDE schon gefühlt 20 neue Versionen der Desktopumgebung herausgebracht und die Gnome-Shell gefühlt 30-mal die Abwärtskompatibilität der Extensions gebrochen. Von den Anwendungsprogrammen ganz zu schweigen, von denen einige dann schon gar nicht mehr existieren und durch Forks ersetzt worden sind. Linux auf dem Desktop zu nutzen heißt letztlich, flexibel bleiben zu müssen, wenn liebgewonnene Programme nicht mehr weiterentwickelt werden und irgendwann nicht mehr lauffähig sind auf aktuellen Distributionen.

Dafür kann es einem nicht passieren, dass Hardware plötzlich als obsolet gilt. Ich habe es in nun mittlerweile über 20 Jahren Linuxnutzung noch nie erlebt, dass ein aktuelles Linux auf einem PC oder Notebook nicht installierbar gewesen wäre. Die Computer gingen entweder vorher kaputt oder entsprachen nicht mehr der gewünschten Leistung, bevor Distributionen „Nö“ dazu sagten.

Worst Case: Die Lieblingsdistribution wird eingestellt

Anders sieht das derzeit in der Windowswelt aus: Wer nicht die neuesten Systeme verwendet, kommt nur mit Tricks zu Windows 11. Wer auf den dafür vorgesehenen Wegen das neueste Windows nutzen will, wird sich im Zweifel also neue Hardware kaufen müssen, wenn die CPU nicht bereits zu den unterstützten Modellen zählt. Bei Linux gibt es dagegen keinen einzelnen Hersteller, der einfach beschließen könnte, dass bestimmte Prozessoren nicht mehr unterstützt werden. Jedenfalls wird man nicht mit strengen Mindestvoraussetzungen gegängelt. Im schlimmsten Fall passiert es, dass eine Distribution eingestellt wird und das gewohnte Upgrade von einer Version zur nächsten nicht mehr funktioniert. Dann stünden jedoch immer noch eine Menge Alternativen bereit.

Aus Linuxanwendersicht kann man Microsoft dafür direkt dankbar sein. In der Folge der aktuellen Windows-Upgrade-Politik kommt man nämlich derzeit im Gebraucht-PC-Handel nun ziemlich günstig an Hardware, auf der offizell nur noch Windows 10 unterstützt wird. Für Linux kein Problem …

Kleiner ⚠️ Service-Hinweis ⚠️ bezüglich meines Blogs: Ich hab den Blog von kopfkrieg.org auf https://kopfkrieg.dev/ umgezogen, inkl. temporärer Weiterleitung.

D.h., zum Einen sollte man die URL aktualisieren, falls man die irgendwo gespeichert hat.

Zum Anderen: Für alle, die meinen RSS-Feed abonniert haben: Es tut mir leid, aber ihr bekommt jetzt alle Beiträge nochmal, und müsst trotzdem die URL im Feedreader entsprechend ändern. Die Weiterleitung ist wie gesagt nur temporär (wenige Tage).

Das hatte ich bei der Migration nicht bedacht, dass das zu Problemen führen könnte.