Schlagwort: Flatpak

Unveränderliche Pinguine

Die GNU/Linux-Welt scheint gerade im kommerziellen Umfeld vor einem großen Wandel zu stehen. Distributionen wie Fedora, openSUSE und neuerdings auch Ubuntu machen seit einiger Zeit anstalten, ihr Distributionsmodell vollkommen umzukrempeln: Anstelle traditioneller Software-Pakete sollen in Zukunft verstärkt Container-Technologien wie Flatpak oder Snap zum Einsatz kommen. Diese werden dann in der Regel auf ein unveränderliches Basissystem aufgesetzt, welches von „normalen“ Nutzern nur über Umwege umfassend angepasst werden kann. Mit dieser Umstrukturierung sollen die Distributionen sicherer und gegebenenfalls auch weniger wartungsintensiv werden. So lassen sich Distributionen, die unveränderlich, dass heißt „immutable“, werden wollen, zusammenfassen. In der Gemeinschaft rund um das freie Betriebssystem mit Pinguin gibt es seit einigen Monaten wohl kaum ein Thema, welches mehr diskutiert wird. Die unveränderlichen Systeme stellen eine radikale Änderung gegenüber dem Betriebssystem-Aufbau dar, den Linux-Nutzer in der Vergangenheit gewohnt waren.

Wer in den letzten Monaten die einschlägigen Nachrichtenportale rund um freie Software verfolgt hat, wird wohl auch festgestellt haben, dass das Thema immer häufiger aufkommt. Spätestens seitdem klar geworden ist, dass auch Ubuntu-Distributor Canonical für die Version 24.04 eine unveränderliche Variante plant, kommt man um das Thema eigentlich nicht mehr herum. Auch ich interessiere mich für diese neuen Entwicklungen und habe selbst bereits unveränderliche Systeme ausprobiert. Konkret waren das bisher Fedora Silverblue und openSUSE MicroOS Desktop („Aeon“). Bisher habe ich oftmals den Standpunkt vertreten, dass Nutzer, die den „Immutables“ kritisch gegenüberstehen, selbst einmal einen Blick darauf werfen sollten. Auch wenn das Konzept ersteinmal befremdlich oder kompliziert klingen mag, bieten diese Systeme für die alltägliche Nutzung sicherlich einen Großteil dessen, was sich die meisten Anwender wünschen würden. Das Potential in diesem Distributionsansatz ist durchaus gegeben. Wie genau unveränderliche Systeme aber in einer bestimmten Situation sinnvoll wären – darüber lässt sich sicherlich streiten.

Ich kann auch Anwender verstehen, die sich noch unwohl mit dem momentanen Trend fühlen – und auch ich selbst plane nicht, in Zukunft mit immutablen Distributionen zu arbeiten. Das liegt bei mir aber nicht daran, dass ich neuen Entwicklungen im Linux-Umfeld grundsätzlich kritisch gegenüberstehen würde. Wie bereits erwähnt bin ich bei meinen bisherigen Tests eigentlich gut mit Silverblue und Aeon klargekommen. Doch hier und da ist mir doch aufgefallen, warum derartige Systeme nicht immer mit offenen Armen begrüßt werden. Distributionen, die vermehrt auf Containertechnologien setzen, gehen auch davon aus, auf halbwegs moderner Hardware genutzt zu werden. So können der Arbeitsspeicher-, vor allem aber der Bedarf an Plattenplatz deutlich über bisher gewohnten Systemanforderungen liegen. Und dann ist es schon nachvollziehbar, wenn Anwender abwägen, ob die Vorteile eines solchen Systems wirklich überwiegen.

Hinzu kommt, dass die Ziele der immutablen Distros teils noch unbeantwortet in der Luft stehen. Es ist zum Beispiel als wären erst die immutablen Systeme ein sicherer oder wartungsarmer Weg, eine GNU/Linux-Distribution zu nutzen. Im Gegenteil ist das bei Distributionen wie Debian GNU/Linux meiner Ansicht nach ein jahrelang erfüllter Standard geworden. Auch ohne Flatpaks, Snaps oder OSTree sind GNU/Linux-Systeme heute nutzbar, anwenderfreundlich und sicher. Die Frage, ob es immutable Systeme also wirklich auf dem heimischen Rechner braucht, ist durchaus berechtigt. Selbst wenn ein paar Vorteile dafür sprechen sollten, müssen wir doch noch den frühen Entwicklungsstand einiger unveränderlicher Desktop-Distributionen im Hinterkopf behalten.

Ich plane, mit Debian 12 welches in einer Woche erscheinen wird, wieder auf meine Lieblingsdistribution zu wechseln. In absehbarer Zeit wird sich Debian wohl nicht in eine unveränderliche Richtung entwickeln. Und so sehr mich Fedora und openSUSE mit ihren immutablen Distributionen bereits beeindrucken konnten, sehe ich die absehbare Zukunft Debians als veränderliches System als Vorteil. In einem vorangegangenen Blogartikel habe ich schon einmal beschrieben, wie sehr mich Debian als Distribution und auch Projekt abholt. Ich sehe auch für mich nicht das Maß an Vorteilen in den immutablen Distributionen, die es bräuchte, damit ich sie gegenüber Debian in Betracht ziehe. Dennoch bin ich gespannt, wohin sich Distributionen, die in Zukunft wohl unveränderlich sein werden, entwickeln. Wie steht ihr zu diesem Thema?

Der Hummer nach knapp einer Woche

Vor etwa einer Woche habe ich meine ersten Eindrücke zur frischen Ubuntu-Version 23.04 „Lunar Lobster“ geteilt. Heute möchte ich festhalten, wie es mir in der letzten Woche so mit der Version 23.04 erging. So viel vorweg: Nicht ohne seine Probleme, aber trotzdem eine solide Distribution. Ich denke, so lassen sich meine bisherigen Erfahrungen mit dem Desktop-Hummer zusammenfassen.

Wie für eine Ubuntu-Zwischenveröffentlichung üblich, liefert der Mondliebhaber einige neue Pakete, das ist grundsätzlich eine gute Sache und für mich als Debian-Nutzer eine willkommene Abwechselung. Insgesamt bleibt Ubuntu dabei trotzdem recht stabil. Mir sind bisher zwei größere Probleme aufgefallen, eines davon ist ein Software-Bug, das andere hat mit der Sturheit von Canonical zu tun. Zunächst zur Software: Unter Ubuntu wird standardmäßig Firefox als Snap-Paket vorinstalliert, welches sich dann (so weit ich weiß) selbstständig und fortlaufend aktualisiert. In letzter Zeit ist der Snap-Firefox aber nach jedem Neustart des Systems zuerst bei einem schwarzen Fenster hängengeblieben. Das musste ich dann erst schließen und den Browser neu öffnen, bevor ich den Firefox nutzen konnte.

Ein bisschen Recherche und etwas großzügige Hilfe aus dem GNU/Linux.ch-Help-Kanal haben dann gezeigt, dass das Problem höchstwahrscheinlich durch Snap verursacht wird, oder vielmehr worden ist:

update.go:85: cannot change mount namespace according to change mount (/var/lib/snapd/hostfs/usr/share/gimp/2.0/help /usr/share/gimp/2.0/help none bind,ro 0 0): cannot open directory "/var/lib": permission denied
update.go:85: cannot change mount namespace according to change mount (/var/lib/snapd/hostfs/usr/share/xubuntu-docs /usr/share/xubuntu-docs none bind,ro 0 0): cannot open directory "/var/lib": permission denied
ATTENTION: default value of option mesa_glthread overridden by environment.
ATTENTION: default value of option mesa_glthread overridden by environment.
ATTENTION: default value of option mesa_glthread overridden by environment.
20:54

Vor allem die ersten Zeilen haben mir dabei wenig Hoffnung gemacht. Beim zweiten Start lief der Browser dann zwar zuverlässig und auch die Startzeit hat sich weiter verbessert, aber insgesamt habe ich die Situation als etwas nervig empfunden. Daher habe ich mich entschieden, einen Browser über Flatpak zu installieren. Meine Tests diesbezüglich haben gezeigt, dass der Flatpak-Firefox die benannten Startprobleme nicht hat. Trotzdem habe ich mir überlegt, die Chance zu nutzen, um von Firefox auf LibreWolf zu wechseln. Das ist ein Firefox-Fork der sich mehr auf Privatsphäre, Sicherheit und Datenschutz konzentriert, als das Mutterprojekt. Leider hat mir der LibreWolf dann aber verweigert, die Standard-Seitensprache auf Deutsch umzustellen. Daher habe ich den LibreWolf wieder deinstalliert.

Ich habe mich dann dafür entschieden, bei Firefox zu bleiben, aber als Flatpak-Paket. Auf das deb-Paket aus dem mozillateam-PPA hatte ich keine Lust, da ich PPAs für eine relativ unschöne Lösung halte. Leider ist das offizielle deb-Paket ja vor einiger Zeit aus den Haupt-Paketquellen von Ubuntu geflogen, zu Gunsten des Snap-Pakets. Das ist einfach ein bisschen schade. Nachdem ich mir den Flatpak-Firefox installiert habe, muss ich sagen: Der läuft mindestens ebenso zuverlässig wie das hauseigene Snap-Paket und macht zudem ein Problem weniger. Daher bin ich mit der aktuellen Lösung über das Flatpak eigentlich ganz zufrieden.

Leider, und das ist mein zweites Problem, wird Flatpak etwas stiefmütterlich von den Ubuntu-Entwicklern behandelt, die ja noch immer ihr Snap-Format nach vorn bringen möchten. Was aus wirtschaftlicher Sicht zumindest erklärt, aber vielleicht nicht einmal da gutgeheißen werden kann, macht auf dem Desktop einfach keinen Spaß: Ubuntu Software ist ein Fork von Gnome Software. Im Gegensatz zum Gnome-Gegenstück kann Ubuntu Software aber nur deb-Pakete und vor allem Snap-Pakete installieren. Letztere stellen dabei den Standard. Und das lässt sich nicht umstellen, denn einige Konfigurationsmöglichkeiten wurden für Ubuntu Software einfach gestrichen. Auf meinem System nutze ich aber sowohl deb-Pakete, Snaps und eben auch Flatpaks. Die Flatpaks lassen sich aber überhaupt nicht über Ubuntu Software verwalten. Sie werden weder zur Installation vorgeschlagen, noch genannt, wenn Aktualisierungen anstehen. Wer Flatpaks grafisch verwalten möchte, kommt also nicht drumherum, Gnome Software mit den entsprechenden Plugins für Flatpak und Snap zu installieren:

sudo apt install gnome-software gnome-software-plugin-flatpak gnome-software-plugin-snap

Ich verstehe nicht wirklich, warum es einen Fork von Gnome Software braucht, nur um diesen mehr auf Snap zuzuschneiden. Gnome Software kann ebenfalls mit Snaps umgehen, und Nutzer die dies wünschen können sich den Flatpak-Support nachinstallieren. Daher wirkt das hauseigene Ubuntu Software nur noch wie ein sturer Entwicklungsaufwand durch Canonical, der nicht unbedingt nötig gewesen wäre.

Bisher waren das meine größten Probleme mit Ubuntu 23.04. Hier muss man natürlich auch eines immer im Hinterkopf behalten: Kleinere Bugs gibt es immer, und gerade in einer regulären Ubuntu-Version muss man mit diesen rechnen können. Insgesamt bin ich sehr zufrieden mit der Stabilität des Systems. Für den Desktop-Gebrauch passt Ubuntu den Gnome-Desktop sinnvoll an und erweitert die Nutzungserfahrung sinnvoll. Sei es durch die Gnome-Erweiterungen, die vorinstallierte Software oder das verfügbare Paket-Angebot: Im Großen und Ganzen ist Ubuntu 23.04 eine solide Distribution, die „einfach läuft“. Das muss man Ubuntu zu Gute halten, auch wenn die Entwicklung hier und da ein wenig stur wirkt.

GNU/Linux: Zettlr-Flatpak und das Dateisystem

Neulich gab es im Zettlr-Subreddit einen Problembericht, in dem ein Nutzer beschrieb, dass sein Zettlr-Flatpak unter GNU/Linux nicht auf das gesamte Heimverzeichnis zugreifen konnte. Stattdessen werde nur der Ordner für Dokumente erkannt bzw. angezeigt. Der Fragesteller hat sich schließlich damit beholfen, an Stelle des Flatpaks einfach ein traditionelles Paket zu installieren. Das muss aber nicht sein, eigentlich ist das „Problem“ schneller gelöst, als man es vielleicht vermuten würde.

Flatpaks bieten als Container-Technologie die Möglichkeit, die Rechte, die Anwendungen auf dem Host-System haben, einschränken zu können. Das schließt einige Systemdienste ein, betrifft aber auch das Dateisystem. Diese besagten Rechte lassen sich mit einer weiteren Flatpak-Anwendung namens „Flatseal“ verwalten. Diese ist im Flathub verfügbar, kann also ganz einfach über grafische Werkzeuge wie Gnome Software oder die Shell installiert werden:

flatpak install flathub com.github.tchx84.Flatseal

Wer möchte, kann die Anwendung auch nur für den jeweiligen Benutzer installieren. Das bietet sich zum Beispiel unter openSUSE MicroOS Desktop an:

flatpak install --user flathub com.github.tchx84.Flatseal

Ist Flatseal einmal installiert, kann man in der Anwendungsliste einfach zur jeweiligen Anwendung, in diesem Fall also Zettlr navigieren. Dort findet sich dann in der deutschen Lokalisierung die Sektion „Filesystem“. Dort muss dann lediglich die Option „Alle Benutzerdateien“ aktiviert werden. Dadurch wird die Variable filesystem=home gesetzt und Zettlr kann (nach einem Neustart der Anwendung) auf das gesamte Heimverzeichnis zugreifen.

Im Allgemeinen sollte man im Hinterkopf behalten, dass die Rechteverwaltung bei Flatpak sicherheitstechnische Gründe hat. Das jeweilige Risiko einzuschätzen, liegt also an der Nutzerin selbst. Übrigens wird so auch klar, warum sich der Fragesteller auf Reddit mit dem traditionellen Paket behelfen konnte: Traditionelle Paketmanager weisen in der Regel keine Rechteverwaltung wie Flatpak auf. So kommt es dann auch nicht zu Fehlern durch mangelnde Berechtigungen.

Kurztipp: Adwaita-Dark in Flatpaks

Container-Technologien sind schon sehr spannend. Man kann von ihnen ja halten, was man möchte, nicht abzustreiten ist jedenfalls, dass sie in Zukunft voll viel an Bedeutung gewinnen werden. In diesem Kurztipp möchte ich eine kleine Hilfestellung zu dunklen GTK-Themen in Flatpaks geben – denn durch die Einschachtelung ist es gar nicht so einfach, Adwaita-Dark und Konsorten auf Flatpaks anzuwenden. Als Beispiel-System nutze ich hier openSUSE MicroOS Desktop mit Gnome, prinzipiell sollte diese Anleitung aber auf allen gängigen Distributionen funktionieren. Flatpak kann ja auch unabhängig von den jeweiligen Distributionen verwendbar.

Nutzern dunkler GTK-Farbschemen dürfte schnell auffallen, dass Anwendungen wie Simplenote oder auch Zettlr (mit nativen Fensterdekorationen) anstelle des systemweit angewandten dunklen Farbschemas helle Bedienelemente aufweisen – das ändert zwar nichts an der Nutzbarkeit, doch die Konsistenz auf dem Desktop ist dann auch dahin. Dabei hilft es dann auch nicht, Einstellungen über die Gsettings bzw. über Werkzeuge wie den dconf-Editor zu ändern. Das Problem sitzt tiefer, ist aber eigentlich keine große Hürde.

Standardmäßig installieren Flatpaks das nötige Themenpaket für Adwaita-Dark schlicht nicht mit – und was nicht installiert ist, kann nicht auf Anwendungen angewandt werden. Für die Flapaks muss daher noch ein weiteres Paket installiert werden.

Zunächst sollte man sich einen Überblick über die installierten Flatpak-Anwendungen und -Runtimes verschaffen. Dazu kann man als „normaler“ Nutzer auch ohne Root-Rechte folgende Kommandos ausführen:

flatpak list

So werden alle Flatpaks aufgelistet. Für eine gewisse Übersichtlichkeit kann man dann grep verwenden:

flatpak list | grep "theme"

Dann werden nur noch die Zeilen ausgegeben, die das Wort „theme“ enthalten. Wir suchen dabei nach dem Paket „org.gtk.Gtk3theme.Adwaita-dark“. Denn nur wenn dieses installiert ist, können Flatpaks auf Adwaita-Dark zugreifen. Das Paket kann einfach nachinstalliert werden:

flatpak install org.gtk.Gtk3theme.Adwaita-dark

Wer MicroOS verwendet, sollte Flatpaks prinzipiell im Nutzermodus installieren, dazu muss ein Nutzungsparameter angegeben werden. Übrigens braucht es dann auch kein Passwort, denn die Anwendung wird nur für den jeweiligen Nutzer installiert und nur für diesen bereitstehen.

flatpak install --user org.gtk.Gtk3theme.Adwaita-dark

Und das ist auch schon der ganze Trick. Denn dann halten sich Flatpaks eigentlich an den Systemstandard. Sollte dann wider erwarten noch immer das helle Adwaita-Thema verwendet werden, kann man über den dconf-Editor die entsprechende Variable anpassen. Im Flatpak-dconf-Editor navigiert man dazu zu org → gnome → desktop → interface → color-scheme und setzt den Wert dann auf ‚prefer-dark‘.

Dann kann man die Flatpaks einfach neu starten und das dunkle Adwaita-Schema sollte übernommen werden.