Das aus der BSD-Welt stammende Projekt Trident mit dem Lumina-Desktop hat Void Linux als neuen Unterbau ausgewählt.
Bei einem Fork, also der Gründung eines neuen Projekts aus dem Quellcode eines bestehenden, scheiden sich die Geister: Die einen verfluchen es als Ursache für den fehlenden Erfolg von Linux auf dem Desktop, die anderen sehen in dieser Form des erneuten Mischens das Salz in der Linux-Suppe. Dabei spielt es grundsätzlich keine Rolle, ob es sich um ein kleines Projekt auf Github handelt oder um die Wiederauferstehung von LibreOffice aus den Ruinen von OpenOffice.
Es geht aber auch anders herum, wie das Beispiel von Ffmpeg und des wegen Unstimmigkeiten unter dessen Entwicklern entstandenen Libav zeigt. Zunächst war der Fork Libav recht erfolgreich, doch kehrten mit der Zeit unter anderem Debian und Ubuntu zurück zu Ffmpeg. Heute ist Libav nur noch wenig verbreitet.
Von BSD zu Linux
Der Fork, um den es in diesem Artikel geht, gehört zu den eher ungewöhnlichen Varianten, da er die Grenzen von Betriebssystemen überschreitet. Die Geschichte begann mit PCBSD. Dessen Ziel war es, auf der Grundlage von FreeBSD ein einsteigerfreundliches System mit praktikabler grafischer Oberfläche bereitzustellen.
2016 wurde das von der Firma iXsystems entwickelte Projekt in TrueOS umbenannt, wobei es eine PCBSD-Variante unter diesem Namen für Server bereits seit Jahren gab. Was Klarheit schaffen sollte, verwirrte also eher [1]. Um das Chaos komplett zu machen, richtete sich TrueOS 2018 neu aus: Das Projekt Trident [2] soll sich künftig um den BSD-Desktop insgesamt kümmern, während TrueOS sich an FreeBSD orientiert und nur dessen Desktop-Pakete unterstützt, aber einem schnellen Zyklus folgt und alle sechs Monate erscheint.
Das Projekt Trident dagegen beschloss nach rund einem Jahr Entwicklung im Oktober 2019, von der Plattform BSD zu einer Linux-Distribution als Basis zu wechseln. Die Wahl fiel auf die leichtgewichtige, unabhängige Rolling-Release-Distribution Void Linux [3]. Der Grund für den Umstieg von BSD auf Linux lag hauptsächlich in der besseren Hardware-Unterstützung für ein dem Desktop zugewandtes Projekt.
Die Distribution Void Linux erstellt alle Pakete im eigenen Build-System und verwendet den Paketmanager XBPS zum Installieren [4]; als Init-System dient Runit. Für alle Pakete besteht die Möglichkeit, sie auf Basis von Musl [5] statt der GNU-C-Bibliothek (Glibc) zu installieren. LibreSSL ersetzt optional OpenSSL.
Das Beste beider Welten
Trident kombiniert Void Linux mit ZFS on Root aus der BSD-Welt. Von dort stammt auch das schlanke Lumina Desktop Environment, kurz Lumina [6]. Das Lizenzproblem, das den Einsatz von ZFS unter Linux meist verhindert, lösen die Entwickler, indem Sie das Kernel-Modul nicht direkt ausliefern, sondern per DKMS zur Laufzeit erstellen und einbinden.
Dabei kommt ZFS on Linux 0.82 unter Kernel 5.4.18 zum Einsatz. Während des Tests verließ das Projekt die Beta-Phase und veröffentlichte die Version 1.0. Es zeigte sich aber, dass das Release noch nicht in allen Punkten überzeugt.
Kein Live-Image
Das Abbild von der Webseite des Projekts [7] ist ein Net-Installer mit rund 500 MByte, ein Live-Image gibt es derzeit nicht. Für einen Test installieren Sie das Image in Virtualbox oder VMware. Dafür sollten Sie mindestens 2 GByte RAM sowie 10 GByte Platz auf der virtuellen Platte bereitstellen.
Beim Booten des Images erscheint eine Nachricht, dass noch nicht alles wie gewünscht funktioniert. Verständlich, denn immerhin haben die Entwickler die Plattform komplett gewechselt. Es braucht noch viele Tests auf einer möglichst breiten Basis, bis alles passt.
Auf dem Thinkpad
Im Test kam Trident auf einem Thinkpad zum Einsatz. Gleich nach dem Start vom Boot-Medium landen Sie zum Vorbereiten der eigentlichen Installation im Terminal. Die Software fragt zunächst den Status des Netzwerks ab. Das gelang im Test, allerdings erst nach mehreren Scans. Dann erkannte sie das Ethernet; Gleiches galt für das WLAN. Bei der Eingabe des Passworts gilt es zu beachten, dass zu diesem Zeitpunkt eine englische Tastaturbelegung eingestellt ist.
Vor Beginn der Installation empfiehlt der Assistent, den Rechner am besten mit UEFI zu booten, da sonst einige Funktionen wie das ZFS-Bootmenü oder die Verschlüsselung nicht bereitstehen. Sie sollten diesen Hinweis beherzigen, da Sie sonst unter anderem die Möglichkeit verschenken, Snapshots aus dem Bootmenü zu starten.
Glibc oder Musl
Klappt der Zugang zum Netz, steht die Entscheidung an, ob Sie ein System mit Standardpaketen und einer Glibc oder eine leichtgewichtige Installation ohne proprietäre Pakete mit Musl haben möchten. Warum die beiden Varianten jeweils mit der entsprechenden C-Standard-Bibliothek fest verknüpft waren, erschließt sich uns nicht – vor allem deshalb, weil das System in einem weiteren Schritt vier verschiedene Varianten anbietet, von Void über Server und Lite hin zu Full. Hier sind Lite und Full, die als einzige einen Desktop aufweisen, nicht vollständig implementiert und somit als experimentell anzusehen. Wir entschieden uns trotzdem für die ausgewachsene Version, um zu sehen, wie viel Arbeit der grafischen Variante noch bevorsteht.
Flott installiert
Das Net-Install-Image ist bei einem Rolling Release wie Void die bevorzugte Methode, da das Setup dabei alle Pakete auf den neuesten Stand bringt. Die Installation läuft zügig ab und brauchte auf einem fünf Jahre alten Thinkpad in einem flotten Netzwerk gut zehn Minuten. Die meiste Zeit beanspruchte dabei DKMS zum Bau der Module für ZFS und Wireguard [8].
Die Distribution verschlüsselt das Home des Users bei der Installation automatisch, das Passwort des Users entschlüsselt beim Einloggen zusätzlich die Partition. Um dabei ein Systemlayout im BSD-Stil beizubehalten, wird das Home als /usr/home/ eingebunden, bei /home handelt es sich um einen Symlink darauf.
Bootmanager rEFInd
Wenn Sie das System nach der Installation neu starten, begrüßt Sie rEFInd [9] statt des gewohnten Grub (Abbildung 1). Beim ersten Rundgang durch die Oberfläche stellen Sie unter Umständen fest, dass die vorinstallierte Auswahl an Software nicht allzu üppig ausfällt. Immerhin finden Sie unter anderem LibreOffice, Firefox und ein Qt-Terminal vor, was für den Anfang oft ausreicht.

Abbildung 1: Der Bootloader REFInd, eine auf UEFI-Installationen spezialisierte Grub-Alternative, kann multiple Installationen verschiedener Betriebssysteme verwalten und eine interaktive EFI-Shell öffnen.
Doch zunächst zum Wichtigsten: Stellen Sie als Erstes das Tastaturlayout auf Deutsch um. Dazu geben Sie im Qt-Terminal das Kommando sudo xbps-install setxkbmap ein. Der Befehl setxkbmap de stellt dann das Layout um. Damit Sie das nicht nach jedem Reboot wiederholen müssen, legen Sie ein kleines Skript in den Autostart-Bereich, den Sie im Menü unter Preferences | Desktop Settings finden. Das Skript nennen Sie setxkbmap.sh oder ähnlich und befüllen es mit dem Inhalt aus Listing 1.
Listing 1
#!/bin/sh setxkbmap de
Haben Sie dem Skript mit chmod +x setxkbmap.sh die passenden Rechte gegeben, legen Sie es im Autostart ab, indem Sie dort zu Binary wechseln, das Skript markieren und oben auf Save klicken. Jetzt bleibt das Tastaturlayout nach einem Neustart erhalten.
Paketmanager XBPS
Der bei Void entwickelte Paketmanager XBPS erinnert an Pacman von Arch Linux. Der Befehl zum Aktualisieren des Void-Unterbaus lautet xbps-install -Su. Wollen Sie vor dem Aktualisieren des Systems automatisch einen ZFS-Snapshot erstellen, verwenden Sie anstelle dieses Kommandos das aus der ersten Zeile von Listing 2.
Listing 2
# xbps-install octoxbps kde-cli-tools # trident-update -check && trident-update -update
Ziehen Sie einen grafischen Paketmanager vor, greifen Sie zur zwar spartanischen, aber funktionellen Software Octoxbps, die Sie über XBPS nachziehen (Listing 2, zweite Zeile) und anschließend aus dem Menü starten (Abbildung 2).

Abbildung 2: Trident setzt auf XBPS für das Paketmanagement. Mit Octoxbps installieren Sie einen grafischen Paketmanager im Stil von Synaptic nach, der im Test dazu diente, XFCE und KDE Plasma zu integrieren.
Keine Schönheit
Über den Lumina-Desktop lässt sich trefflich streiten: Er ist funktional, schnell, durchgehend zu konfigurieren und bringt bereits eine begrenzte Anzahl von Apps mit (Abbildung 3). Nach einer gewissen Eingewöhnung geht die Arbeit damit einigermaßen flott von der Hand (Abbildung 4).

Abbildung 3: Luminas Dateimanager Insight bietet einen beschränkten Funktionsumfang und bietet keinen 2-Fenster-Betrieb. Natürlich stehen bei Bedarf noch andere Dateimanager bereit.

Abbildung 4: Als Mail-Client verwendet Trident die mit Qt entwickelte Anwendung Trojitá, die als Protokoll nur IMAP unterstützt. Um klassische POP3-Postfächer abzurufen, wäre etwa Thunderbird als Alternative gefragt.
Eines ist der in C++ und Qt5 geschriebene Desktop aber wahrlich nicht: grafisch ansprechend. Wie bei Linux üblich, haben Sie aber die Wahl. Gefällt Ihnen die Optik nicht, installieren Sie einfach eine andere Desktop-Umgebung.
Andere Desktops
Wir haben sowohl Plasma als auch XFCE (Abbildung 5) nachinstalliert. Letzteres richten Sie auf der Kommandozeile mit xbps-install xfce4 ein.

Abbildung 5: XFCE in der aktuellen Version 4.14 ist ein gute Alternative, wenn Lumina zu spartanisch erscheint.
In Octoxbps tragen Sie Xfce4 ins Suchfeld ein und markieren die gelisteten Apps. Ein Klick auf + Install im Kontextmenü bereitet alles vor; ein Klick auf den Haken oben in der Menüleiste stößt den Prozess an. Um XFCE in den Login-Manager SDDM einzufügen, nutzen Sie den Befehl aus der ersten Zeile von Listing 3. Beim nächsten Login dürfen Sie dann XFCE auswählen (Abbildung 6).

Abbildung 6: Der voreingestellte Dark-Look harmoniert unter XFCE gut mit den in dunklen Brauntönen gehaltenen Icons der Anwendungen.
Listing 3
$ sudo cp /usr/share/xsessions/xfce.desktop /etc/sddm-sessions/ $ sudo cp /usr/share/xsessions/plasma.desktop /etc/sddm-sessions/
Der Weg zu einem KDE-Plasma-Desktop (Abbildung 7) verläuft ähnlich, der entsprechende Befehl lautet xbps-install kde5. Hier sollten Sie zusätzlich mindestens kde5-baseapps und dolphin installieren. Ohne die KDE5-Basis-Anwendungen fehlen unter anderem Kate, KWrite und Konsole. Grafisch verfahren Sie analog zu XFCE (Abbildung 8).

Abbildung 7: Plasma wirkt unter Trident im Vergleich zu XFCE etwas behäbig. Zudem sind einige wichtige Apps noch nicht im Metapaket KDE5 integriert.

Abbildung 8: Trident benutzt den langfristig unterstützten Kernel 5.4.18 als stabile Unterlage. Die Installation von Plasma brachte zudem einige Qt-Entwicklungswerkzeuge mit an Bord.
Anschließend folgt wieder das Einbinden in SDDM (Listing 3, zweite Zeile). Sie finden dann zwei Einträge für Plasma vor. Einer davon sollte eine Wayland-Sitzung starten, was im Test aber nicht klappte.
Bei beiden Desktop-Metapaketen fehlen derzeit noch einige Anwendungen, die Sie aber bei Bedarf gezielt nachinstallieren. Wir fanden XFCE als Desktop für Trident ideal, denn die Eleganz von Plasma kommt derzeit noch nicht zur Geltung. Während der Tests erkannte das System externe Geräte nicht automatisch; es war nötig, diese per Mount-Befehl einzubinden.
Etwas erstaunt hat der relativ hohe Verbrauch an Hauptspeicher gleich nach dem Start. Mit Lumina waren es rund 720 MByte, bei XFCE und Plasma jeweils um 850 MByte. Zum Vergleich: Unter Debian “Unstable” begnügt sich Plasma mit rund 650 MByte (Abbildung 9).

Abbildung 9: Die Speicherauslastung von Trident fällt unter allen getesteten Desktops höher aus als erwartet. Vermutlich legen die Entwickler an dieser Stelle noch Hand an, um das System weiter zu optimieren.
ZFS gut integriert
Um die Vorteile von ZFS zu nutzen, insbesondere die Snapshots, bedarf es zwingend der Kommandozeile. Trident hat während der Installation bereits mehrere ZFS-Pools angelegt, die Sie sich mit zfs list ansehen. Beim Start des Systems booten Sie standardmäßig in tridentpool/ROOT/initial, wobei tridentpool der bei der Installation standardmäßig vergebene Name ist.
Trident erzeugt automatisch vor jedem Upgrade des Systems einen inkrementellen Snapshot. Das ermöglicht es, bei Problemen auf den vorherigen Stand zurückzurollen. Sie dürfen darüber hinaus jederzeit einen Snapshot des Gesamtsystems oder von einzelnen Pools erstellen. Dazu dient ein Befehl wie der aus Listing 4. Den Namen hinter dem Klammeraffen – im Beispiel snap2 – vergeben Sie; er sollte möglichst aussagekräftig sein, um ihn im Bootmanager später leicht zu identifizieren (Abbildung 10).
Listing 4
$ sudo zfs snapshot tridentpool/ROOT/initial@snap2

Abbildung 10: ZFS on Root gehört zu den herausragenden Beigaben von Trident. Die Befehle zum Einsatz der Funktionen entsprechen denen von ZFS unter anderen Umgebungen.
Wenn Sie beim nächsten Neustart nicht den eigentlichen ZFS-Pool starten möchten, sondern einen Snapshot, dann wechseln Sie im zweiten Schritt des Boot-Vorgangs per [Esc] in das Bootmenü. Ein Druck auf [Alt]+[A] fördert dort die vorhandenen Snapshots zutage. Dokumentationsmaterial zu ZFS bündelt eine Seite bei Wikibooks [10].
Fazit
Trident funktionierte im Test einwandfrei aus dem Terminal heraus. Grafische Desktops – egal, ob Lumina, ein nachinstalliertes Plasma oder XFCE – weisen derzeit noch Defizite auf. Das war den Entwicklern bewusst, als sie dem aktuellen Abbild trotzdem die Versionsnummer 1.0 verliehen. Diese Haltung deutet die Zielrichtung des Projekts an: Die Kommandozeile bleibt bei Trident vermutlich für ZFS auch künftig die einzige Lösung.
Trident ist ein interessantes Projekt für neugierige Linuxer. Wer es derzeit zum täglichen Begleiter machen möchte, sollte vielleicht schon einmal Void oder Arch Linux konfiguriert haben und darf mit der Kommandozeile nicht auf Kriegsfuß stehen. Die Kombination aus der leichtgewichtigen Distribution Void Linux und dem aus der BSD-Welt überkommenen ZFS verleihen dem Projekt viel Potenzial. Es scheint ideal für Anwender, die Ubuntu nicht mögen, aber trotzdem ZFS on Root voreingestellt nutzen möchten. (agr)
Infos
-
Trident: https://project-trident.org
-
Void: https://www.linux-community.de/ausgaben/linuxuser/2017/11/nicht-von-der-stange/
-
XBPS: https://www.linux-community.de/ausgaben/linuxuser/2018/02/gut-eingepackt/
-
Lumina: https://lumina-desktop.org
-
Download: https://project-trident.org/download/
-
Wireguard: https://linuxnews.de/2019/12/wireguard-in-kernel-5-6/
-
ZFS-Dokumentation: https://de.wikibooks.org/wiki/ZFS_auf_Linux/_Literatur





