MoonLightOS

Ubuntus Basis, ohne Ubuntus Desktop

Keine andere Linux-Grundlage bietet ein größeres Paketangebot und eine breitere Hardwareunterstützung als Ubuntu. Allein das Paket linux-firmware deckt die große Mehrheit der verbreiteten WLAN-, Bluetooth-, GPU- und Chipsatz-Hardware ab, und ubuntu-drivers-common kümmert sich ordentlich um NVIDIA-Karten. Secure Boot funktioniert ohne Zutun, weil Canonicals signierter Shim und GRUB im Repository liegen und der Kernel signiert ist. Dazu kommen zwölf Jahre Sicherheitspflege für die Basis.

Beim Ubuntu-Desktop dagegen lohnte sich der Austausch: Er ist schwer, und er hat weder eine Start-Schaltfläche noch Symbole auf dem Desktop noch eine Taskleiste. Cinnamon hat alle drei. MoonLightOS setzt deshalb auf einer minimalen Basis auf und baut den Desktop darauf. Von Ubuntus eigenem Desktop ist nichts installiert, und an keiner Stelle, die die Nutzer zu sehen bekommen, ist von der Basis die Rede.

Eines bleibt bewusst unverändert: Der Codename der Veröffentlichung, den apt sieht, bleibt „resolute“, weil PPAs und alles, was lsb_release aufruft, davon abhängen. Die Kennzeichnung, die die Nutzer tatsächlich sehen, stammt aus /etc/os-release.

Bildschirmfoto von MoonLightOS
Das Logo steht still, während das Licht darum herum pulsiert. Zwei Halo-Bilder mit Zyklen von 2,6 und 3,1 Sekunden laufen gegeneinander aus dem Takt, sodass das Leuchten nie mechanisch wirkt. Beide entstehen beim Bauen aus den Quellgrafiken, und dasselbe Logo mit demselben Halo erscheint im GRUB-Menü, am Anmeldebildschirm, im Installationsprogramm, auf der Seite „Über MoonLightOS“ und im Willkommensrundgang.

Das Erscheinungsbild

Eine einzige Leiste am unteren Rand, 52 Pixel hoch. Links die Start-Schaltfläche und das Suchfeld, in der Mitte die laufenden Anwendungen mit den größten Symbolen der Leiste, rechts der Statusbereich. Das Menü zeigt Ihr Bild, Ihren Namen und ob Sie den Rechner verwalten dürfen; sein Suchfeld findet Anwendungen, Einstellungen, Dateien und Ergebnisse aus dem Web.

Bildschirmfoto von MoonLightOS
Bildschirmfoto aus einem echten Start des installierten Abbilds, keine Montage.

Drei Anordnungen

  • MoonLight

    Eine einzige Leiste am unteren Rand. Im Dock liegen auch Ihre Favoriten, deshalb gibt es keine zweite Reihe mit Startern.

  • Zwei Leisten

    Oben ein schmaler Balken für Uhr und Statussymbole, unten ein Dock, das sich selbst ausblendet.

  • Kompakt

    Nur ein schmaler Balken am oberen Rand. Er braucht am wenigsten Platz und ist auf alter Grafikhardware die sparsamste Wahl.

Hell und dunkel

Beide Themes erzeugt ein einziges Skript aus einer Farbpalette, für GTK 2, 3 und 4, die Cinnamon-Shell und die Fensterrahmen. Die GTK-Themes importieren Adwaita und ändern nur dessen Farben, sodass neue Bedienelemente und Korrekturen aus dem Original von selbst mitkommen. Das Symbol-Theme beruht auf Papirus und ersetzt nur die Symbole, die die Distribution kennzeichnen. Die Akzentfarbe ändern Sie unter „Desktop und Dock“.

Umschalten nach Zeitplan

Voreingestellt ist hell ab 7:00 Uhr und dunkel ab 19:00 Uhr. Ein kleiner Hintergrunddienst hält das Theme mit dem Zeitplan im Gleichschritt.

Widgets auf dem Desktop

Voreingestellt sind eine große Uhr und eine Anzeige für Prozessor, Speicher und Festplatte. Ein Kalender und Klebezettel, die beim Tippen als reiner Text gespeichert werden, kommen per Rechtsklick hinzu.

Die Startanimation

Das Logo steht still, während das Licht darum herum pulsiert. Zwei Halo-Bilder mit Zyklen von 2,6 und 3,1 Sekunden laufen gegeneinander aus dem Takt, sodass das Leuchten nie mechanisch wirkt. Beide entstehen beim Bauen aus den Quellgrafiken, und dasselbe Logo mit demselben Halo erscheint im GRUB-Menü, am Anmeldebildschirm, im Installationsprogramm, auf der Seite „Über MoonLightOS“ und im Willkommensrundgang.

Typografie

Inter für die Bedienoberfläche, JetBrains Mono für Code und Noto für alles Übrige, auch für Chinesisch, Japanisch, Koreanisch und farbige Emoji.

Sieben Hintergrundbilder

Fünf fotografierte Motive mit einem Pinguin, einem See und einer Mondsichel, dazu ein erzeugtes Paar für Tag und Nacht. Ausgeliefert wird „Sonnenuntergang am See“.

Tastenkürzel, die Sie schon kennen

Windows und macOS verwenden für fast alles unterschiedliche Tastenkürzel. Weil sich die beiden Sätze kaum in die Quere kommen, beherrscht MoonLightOS beide: Die Super-Taste folgt den Windows-Gewohnheiten, die Strg-Taste denen von macOS.

AktionWie unter WindowsWie unter macOS
Menü öffnenSuperSuper
SuchenSuper+LeertasteSuper+Leertaste
DateiverwaltungSuper+E—
Bildschirm sperrenSuper+LStrg+Super+Q
Desktop anzeigenSuper+DStrg+Super+D
Fenster auf eine Bildschirmhälfte legenSuper+Links / Rechts—
Maximieren / wiederherstellenSuper+Hoch / Super+RunterAlt+F10 / Alt+F5
MinimierenSuper+HAlt+F9
Fenster schließenAlt+F4Super+Q
VollbildSuper+FStrg+Super+F
Fenster durchblätternAlt+Tab, Super+TabAlt+Tab
Nächstes Fenster dieser AnwendungAlt+`Super+`
Alle FensterSuper+WStrg+Hoch
Alle ArbeitsflächenSuper+SStrg+Runter
Arbeitsfläche wechselnStrg+Alt+Links / RechtsStrg+Links / Rechts
Fenster auf eine andere Arbeitsfläche verschiebenStrg+Umschalt+Alt+Links / RechtsStrg+Umschalt+Links / Rechts
EinstellungenSuper+ISuper+,
SystemüberwachungStrg+Umschalt+Esc—
Befehl ausführenSuper+R, Alt+F2—
TerminalStrg+Alt+TStrg+Alt+T
BrowserSuper+BSuper+B
TaschenrechnerSuper+CSuper+C
Mixer und EqualizerSuper+ASuper+A
Verlauf der ZwischenablageSuper+VSuper+V
NotizenSuper+NSuper+N
Dateien umwandelnSuper+Umschalt+CSuper+Umschalt+C
Bildschirmfoto des ganzen BildschirmsDruckUmschalt+Super+3
Bildschirmfoto eines BereichsUmschalt+DruckUmschalt+Super+4
Bildschirmfoto eines FenstersAlt+Druck—
Bedienfeld für Aufnahme und AufzeichnungStrg+Umschalt+DruckUmschalt+Super+5
AbmeldenStrg+Alt+Entf—

Wer den Zeiger in die linke obere Ecke schiebt, erhält die Fensterübersicht. Die Super-Taste allein öffnet das Menü, Super+Leertaste öffnet es mit dem Cursor im Suchfeld.

Drei Paketformate, ein Store

apt, snap und Flatpak sind alle installiert, und GNOME Software führt alle drei auf: zuerst Snaps, dann Pakete aus dem Ubuntu-Repository, dann Flathub. Ein .deb-Paket ist immer die sparsamste Wahl, und Flathub deckt alles Weitere ab.

Die Anwendung Snap Store ist selbst ein Snap, dessen Abhängigkeiten rund ein Gigabyte ausmachen. Das ist zu viel für ein Abbild, das für Rechner mit 2 GB Arbeitsspeicher gedacht ist. Der Store kann Snaps deshalb von Anfang an auflisten und installieren, und ein Dienst lädt die Anwendung Snap Store selbst nach, sobald eine Verbindung besteht.

Die Einstellungsseite „Anwendungen“ zeigt, was installiert ist, aus welchem der drei Formate jede Anwendung stammt und ob etwas doppelt installiert ist.

Anwendungen auf dem Abbild

Die Auswahl ist so getroffen, dass ein Allzweck-Desktop vom ersten Start an einsatzbereit ist, auch ohne Internetverbindung.

Internet

Firefox (Mozillas eigenes Paket, mit uBlock Origin als lokale Erweiterung, damit es auch ohne Verbindung bereitsteht), Thunderbird, Geary, Transmission

Büro und Dokumente

LibreOffice Writer, Calc, Impress und Draw; Evince; GNOME Text Editor; Xournal++; PDF Arranger; MoonLight PDF; Kalender; Uhren; Wetter; Karten; Taschenrechner

Medien

VLC; Celluloid; Rhythmbox; GStreamer mit libav, den Plugin-Sammlungen „bad“ und „ugly“ sowie VA-API, damit H.264, H.265 und AAC in jeder Anwendung laufen

Grafik und Scannen

GIMP; Zeichnen; Eye of GNOME; MoonLight Export; Simple Scan; Schriftenanzeige; Bildschirmfoto

System

GNOME Software; Systemüberwachung; Laufwerke; GParted; Festplattenbelegung; Timeshift; Redshift; Archivverwaltung; Seahorse; Blueman; Drucker; MoonLight Tweaks

Netzwerk und VPN

NetworkManager mit OpenVPN, OpenConnect (Cisco AnyConnect, GlobalProtect, Fortinet), L2TP, PPTP, SSH und eingebauter Unterstützung für WireGuard

Entwicklung

Visual Studio Code; gcc, g++, make, gdb; git, git-lfs; cmake, meson, ninja; Python 3 mit pip, venv, NumPy und OpenCV; Node.js und npm; Rust und Cargo; Go; OpenJDK 21 mit Maven und Gradle; Docker Engine, Compose v2 und Buildx; SQLite

Terminal

GNOME Terminal; bash, zsh und fish; tmux, screen; Neovim, nano; ripgrep, fd, jq, yq, htop, btop, ncdu, tree; nmap, dig, whois, traceroute, httpie, socat; rsync, rclone, aria2; shellcheck; inxi, fastfetch

Windows-Kompatibilität

Wine mit 32-Bit-Unterstützung, winetricks, DXVK (Direct3D 9 bis 11) und VKD3D (Direct3D 12)

Hardware und Treiber

Firmware

Der komplette Satz linux-firmware, Mikrocode für Intel und AMD sowie fwupd für Firmware-Updates.

Grafik

Mesa mit Vulkan, VA-API und VDPAU für Intel und AMD. Der NVIDIA-Treiber liegt auf dem ISO und lässt sich deshalb auch ohne Internetverbindung über die Treiberseite einschalten.

WLAN und Ethernet

Mehr als fünfzig Funktreiber im Kernel, dazu die Treiber broadcom-sta und r8168, mit DKMS gebaut für die Chips, mit denen die Standardtreiber schlecht zurechtkommen.

Drucker und Scanner

CUPS mit dem vollständigen Treibersatz, Druck in eine PDF-Datei, SANE und Simple Scan.

Bluetooth

BlueZ, Blueman und die Bluetooth-Codecs von PipeWire, mit einer Einstellungsseite, die deutlich sagt, wenn der Rechner keine Bluetooth-Hardware hat.

Ton

PipeWire mit WirePlumber, Kompatibilität zu PulseAudio und einem eingebauten Zehn-Band-Equalizer.

Notebooks

power-profiles-daemon, thermald, der Akkustand in der Leiste, Tippen zum Klicken und natürliches Scrollen standardmäßig aktiv, Unterstützung für Eingabegeräte von Wacom und Synaptics.

Virtuelle Maschinen

Die Gasterweiterungen für VirtualBox, QEMU/SPICE und VMware sind dabei, deshalb passt sich die Anzeige an und die Zwischenablage wird gemeinsam genutzt.

Fingerabdrucklesegeräte

fprintd, libfprint und der TOD-Lader sind installiert und in PAM eingebunden. Das Werkzeug Fingerabdruck erkennt den Sensor und führt Sie durch das Einlesen.

Gesichtsentsperrung

Gesichtsentsperrung auf Basis von OpenCV für den Anmeldebildschirm, den Sperrbildschirm und sudo. Abgeschaltet, bis Sie sie einschalten.

Sicherheit

Alles Folgende ist auf einem installierten MoonLightOS standardmäßig aktiv.

  • Secure Boot

    Firmware → Canonical-Shim → signierter GRUB → signierter Kernel. Unter Einstellungen → Über MoonLightOS steht, ob es auf Ihrem Rechner aktiv ist.

  • Festplattenverschlüsselung

    Die vollständige LUKS2-Verschlüsselung ist im Installationsprogramm ein einzelnes Häkchen.

  • Firewall

    ufw ist aktiv: eingehende Verbindungen sind blockiert, ausgehende erlaubt.

  • AppArmor

    Erzwingender Modus, auch für Snaps.

  • Automatische Sicherheitsupdates

    Täglich aus Ubuntus Sicherheits-Repository und von packages.mozilla.org. Nicht mehr benötigte Kernel und Abhängigkeiten werden entfernt, und der Rechner startet nie von allein neu.

  • Gesperrtes root-Konto, nachvollziehbares sudo

    Das erste Benutzerkonto verwaltet den Rechner über sudo. Ein root-Passwort wird nie gesetzt.

  • Passwortgüte und Kontosperre

    Mindestens acht Zeichen aus zwei Zeichenklassen. Nach acht Fehlversuchen ist das Konto fünfzehn Minuten gesperrt.

  • Gehärteter Kernel

    Der Kernel ist so konfiguriert, dass Programme ohne Rechte möglichst wenig über das System und übereinander erfahren: Kernel-Zeiger und Startmeldungen bleiben verborgen, das Debuggen fremder Prozesse ist gesperrt, und ein Ersatzkernel lässt sich im laufenden Betrieb nicht laden. Der Netzwerk-Stack ist gegen gefälschte Routen und Verbindungsfluten gehärtet, und IPv6-Adressen werden gewechselt.

  • Kleinere Angriffsfläche

    FireWire sowie eine Reihe selten benötigter Dateisystem- und Netzwerkprotokollmodule können nicht automatisch geladen werden. So kann ein angeschlossenes Gerät oder ein eintreffendes Paket keinen Code nachladen, den dieser Rechner nie verwendet.

  • Einzigartig ab dem ersten Start

    Maschinenkennung und SSH-Host-Schlüssel entstehen auf dem installierten Rechner. Ein Host-Schlüssel, den jede Installation teilt, würde die Prüfung des Rechners sinnlos machen.

  • Keine Telemetrie

    Die Dienste für Fehler- und Nutzungsberichte sind nicht im Abbild enthalten. Telemetrie, Studien, Pocket und gesponserte Inhalte in Firefox sind per Richtlinie abgeschaltet, der Tracking-Schutz ist aktiv.

  • USB-Schutz

    USBGuard ist installiert, deshalb gilt ein Gerät, das bei gesperrtem Bildschirm angesteckt wird, als nicht vertrauenswürdig. Standardmäßig aus; eine Schaltfläche auf der Seite „Sicherheit“ schaltet ihn ein.

  • Notfallpasswort

    Ein zweites Passwort, das etwas anderes tut als anmelden. Im Löschmodus zerstört es die LUKS-Schlüssel der Festplatte und schaltet den Rechner aus; im Scheinmodus öffnet es eine leere Sitzung und friert sie nach fünf Minuten ein. Standardmäßig aus, zum Einrichten ist Ihr echtes Passwort nötig, und mit diesem darf es nicht übereinstimmen.

  • Passwort für das Startmenü

    Wird auf der Seite „Sicherheit“ angeboten, denn wer den Rechner neu starten kann, könnte sonst das Startmenü bearbeiten und eine root-Shell öffnen.

  • Verständliche Passwortabfragen

    Jedes MoonLight-Hilfsprogramm hat eine benannte polkit-Aktion, deshalb sagt die Abfrage, wozu Sie gerade Ihr Einverständnis geben.

Bildschirmfoto von MoonLightOS
Bildschirmfoto aus einem echten Start des installierten Abbilds, keine Montage.

Betrieb auf Rechnern mit wenig Speicher

Komprimierter Speicher (zram)Die Hälfte des Arbeitsspeichers, höchstens 8 GB, zstd-Komprimierung, Priorität 100. Speicherseiten eines Desktops lassen sich etwa 3:1 komprimieren.
AuslagerungsverhaltenDer Vorgabewert 60 des Kernels geht davon aus, dass Auslagern einen Festplattenzugriff bedeutet. Mit zram bedeutet es eine Kopie im Speicher.
Schutz vor SpeichermangelGreift bei 4 % freiem Speicher ein und schickt bei 2 % ein SIGKILL. Cinnamon, Xorg, LightDM und Nemo trifft es nie; Firefox, Thunderbird, Code, LibreOffice und Compiler kommen zuerst dran.
Kein IndexerKein tracker und kein Durchsuchen der Festplatte im Hintergrund.
Grafik stimmt sich selbst abBei der Anmeldung prüft das System den OpenGL-Renderer. Ist es llvmpipe oder ein anderer Software-Renderer, werden die Animationen abgeschaltet. Eine spätere Entscheidung von Ihnen wird nie überschrieben.
GRUBFordert einen bescheidenen Grafikmodus mit Rückfallebenen an, damit das Menü auch in einer virtuellen Maschine mit wenig Videospeicher erscheint.
SquashfsMit zstd komprimiert, damit die Live-Sitzung schnell vom USB-Stick lädt.

Sprachen

Der Assistent beim ersten Start bietet in einer kurzen Liste Englisch (US und UK), Italienisch, Französisch, Deutsch, Spanisch, brasilianisches Portugiesisch, Niederländisch, Polnisch und Russisch an, alle übrigen Sprachregionen unter „Weitere Sprachen“. Die Tastaturbelegung richtet sich nach der gewählten Sprache, deshalb genügt im zweiten Schritt meist ein Klick auf „Weiter“.

Alle MoonTools, insgesamt 774 Zeichenketten, sind neben Englisch in diese acht Sprachen übersetzt, und der Build scheitert, wenn ein Programm eine sichtbare Zeichenkette ohne Übersetzung enthält. Das italienische Sprachpaket und die Wörterbücher für LibreOffice liegen auf dem Abbild, deshalb ist eine Installation ohne Internet in Italien vollständig lokalisiert; weitere Sprachpakete lassen sich mit einem Klick nachladen.

Die Werkzeuge für die Befehlszeile bleiben bewusst englisch: Ihre Ausgaben liest man neben der Dokumentation und kopiert sie in Fehlerberichte, und beides fällt leichter, wenn alles in einer Sprache steht.

Bildschirmfoto von MoonLightOS

Entscheidungen, die man kennen sollte

  • Die GTK-Themes importieren Adwaita und färben es um.

    Ein von Hand geschriebenes Theme geht jedes Mal kaputt, wenn GTK ein neues Bedienelement bekommt. Dieses erbt die Korrekturen aus dem Original.

  • Cinnamons Seite „Systeminfo“ wird umgeleitet, nicht gelöscht.

    So kann ein Cinnamon-Update sie nicht stillschweigend neben unserer wieder einsetzen, und wer die MoonLightOS-Pakete entfernt, bekommt sie sauber zurück.

  • Das Squashfs behält seine eigene Kopie des Kernels.

    Genau dieses Squashfs kopiert das Installationsprogramm auf die Festplatte. Ohne /boot darin entstünde ein System, das nicht startet.

  • Das Starttheme heißt moonlightos, nicht moonlight.

    Debians Paket desktop-base liefert schon ein Plymouth-Theme namens moonlight, und ein Update würde die Animation stillschweigend ersetzen.

  • uBlock Origin liegt bei, es wird nicht heruntergeladen.

    Eine Richtlinie, die auf addons.mozilla.org zeigt, installiert die Erweiterung nur beim ersten Firefox-Start mit funktionierender Verbindung. Deshalb liegt die Erweiterung im Abbild. Entfernen können Sie sie trotzdem.

  • Docker Engine statt Docker Desktop.

    Unter Linux betreibt Docker Desktop die Engine in einer eigenen virtuellen Maschine, und das bedeutet auf einem Notebook einen zweiten Kernel und ein zweites Speicherbudget.

  • Die schweren Entwicklungspakete sind optional.

    Virtuelle Maschinen, PHP mit Datenbanken und LaTeX liegen in Willkommen einen Klick entfernt, statt als Gigabyte, das jede Installation mitschleppen müsste.