Widgets op het bureaublad
Standaard staan er een grote klok en een meter voor processor, geheugen en schijf. Via de rechtermuisknop kun je er een agenda bij zetten, en memo's die als gewone tekst worden opgeslagen terwijl je typt.
Alles wat er op het image staat, en waarom het er staat.
Geen enkele Linux-basis heeft een grotere pakketbron en bredere ondersteuning voor hardware dan Ubuntu. Alleen het pakket linux-firmware al dekt het overgrote deel van de wifi-, bluetooth-, GPU- en chipsethardware die in omloop is, en ubuntu-drivers-common regelt NVIDIA-kaarten zoals het hoort. Secure Boot werkt meteen, omdat de ondertekende shim en GRUB van Canonical in de pakketbron zitten en de kernel ondertekend is. Daar komt bij dat de basis twaalf jaar beveiligingsonderhoud krijgt.
Het bureaublad van Ubuntu is juist het onderdeel dat vervanging verdiende: het is zwaar en het heeft geen startknop, geen pictogrammen op het bureaublad en geen taakbalk. Cinnamon heeft die drie dingen wel. Daarom begint MoonLightOS bij een minimale basis en komt het bureaublad daar bovenop. Van het bureaublad van Ubuntu zelf is niets geïnstalleerd, en in wat je op het scherm ziet, komt de basis nergens terug.
Eén ding blijft met opzet onaangeroerd: de codenaam van de uitgave die apt ziet, blijft “resolute”, want PPA's en alles wat lsb_release aanroept, rekenen daarop. De naam die je zelf in beeld krijgt, komt uit /etc/os-release.
Eén paneel onderaan, 52 pixels hoog. Links de startknop en het zoekveld, in het midden de programma's die open zijn, met de grootste pictogrammen van het hele paneel, en rechts het systeemvak. Het menu toont je foto, je naam en of je de computer mag beheren, en via het zoekveld in dat menu vind je programma's, instellingen, bestanden en resultaten van het web.
Eén paneel onderaan. In de dock staan ook je favoriete programma's, dus een tweede rij snelkoppelingen heb je niet nodig.
Bovenaan een smalle balk met de klok en de statuspictogrammen, onderaan een dock die automatisch verdwijnt.
Eén smalle balk bovenaan. Deze indeling kost het minste schermruimte en is het lichtst voor oude grafische kaarten.
Eén script maakt beide thema's uit één kleurenpalet, voor GTK 2, 3 en 4, de Cinnamon-shell en de vensterranden. De GTK-thema's importeren Adwaita en geven dat andere kleuren, waardoor nieuwe widgets en verbeteringen van GTK zelf automatisch meekomen. Het pictogramthema is gebaseerd op Papirus en vervangt alleen de pictogrammen waaraan je de distributie herkent. De accentkleur pas je aan in Bureaublad en dock.
Standaard licht vanaf 07:00 en donker vanaf 19:00. Een kleine achtergronddienst houdt het thema netjes in de pas met dat schema.
Standaard staan er een grote klok en een meter voor processor, geheugen en schijf. Via de rechtermuisknop kun je er een agenda bij zetten, en memo's die als gewone tekst worden opgeslagen terwijl je typt.
Het logo blijft stilstaan terwijl het licht eromheen pulseert. Twee halo-afbeeldingen met een cyclus van 2,6 en 3,1 seconden lopen steeds iets uit elkaar en weer samen, waardoor de gloed nooit mechanisch aandoet. Beide worden tijdens de build uit de bronafbeelding gemaakt, en hetzelfde logo met dezelfde halo zie je terug in het GRUB-menu, op het aanmeldscherm, in het installatieprogramma, op de pagina Over en in de rondleiding van Welkom.
Inter voor de interface, JetBrains Mono voor code en Noto voor al het andere, inclusief Chinees, Japans, Koreaans en emoji in kleur.
Vijf foto's met een pinguïn, een meer en een maansikkel, plus een gegenereerd paar voor dag en nacht. Deze uitgave begint met “Zonsondergang boven het meer”.
Windows en macOS gebruiken voor bijna alles andere sneltoetsen. Omdat die twee sets elkaar nauwelijks in de weg zitten, ondersteunt MoonLightOS ze allebei: de Super-toets volgt de gewoonten van Windows, de Control-toets die van de Mac.
| Actie | Vanuit Windows | Vanuit macOS |
|---|---|---|
| Het menu openen | Super | Super |
| Zoeken | Super+Spatie | Super+Spatie |
| Bestanden | Super+E | — |
| Het scherm vergrendelen | Super+L | Ctrl+Super+Q |
| Het bureaublad tonen | Super+D | Ctrl+Super+D |
| Een venster aan een schermhelft vastzetten | Super+Links / Rechts | — |
| Maximaliseren / herstellen | Super+Omhoog / Super+Omlaag | Alt+F10 / Alt+F5 |
| Minimaliseren | Super+H | Alt+F9 |
| Een venster sluiten | Alt+F4 | Super+Q |
| Volledig scherm | Super+F | Ctrl+Super+F |
| Door de vensters lopen | Alt+Tab, Super+Tab | Alt+Tab |
| Volgend venster van dit programma | Alt+` | Super+` |
| Alle vensters | Super+W | Ctrl+Omhoog |
| Alle bureaubladen | Super+S | Ctrl+Omlaag |
| Van bureaublad wisselen | Ctrl+Alt+Links / Rechts | Ctrl+Links / Rechts |
| Een venster naar een ander bureaublad verplaatsen | Ctrl+Shift+Alt+Links / Rechts | Ctrl+Shift+Links / Rechts |
| Instellingen | Super+I | Super+, |
| Systeemmonitor | Ctrl+Shift+Esc | — |
| Een opdracht uitvoeren | Super+R, Alt+F2 | — |
| Terminal | Ctrl+Alt+T | Ctrl+Alt+T |
| Browser | Super+B | Super+B |
| Rekenmachine | Super+C | Super+C |
| Mixer en equalizer | Super+A | Super+A |
| Klembordgeschiedenis | Super+V | Super+V |
| Notities | Super+N | Super+N |
| Bestanden omzetten | Super+Shift+C | Super+Shift+C |
| Schermafbeelding van het hele scherm | Shift+Super+3 | |
| Schermafbeelding van een deel van het scherm | Shift+Print | Shift+Super+4 |
| Schermafbeelding van een venster | Alt+Print | — |
| Paneel voor schermafbeelding en opname | Ctrl+Shift+Print | Shift+Super+5 |
| Afmelden | Ctrl+Alt+Delete | — |
Breng je de aanwijzer naar de linkerbovenhoek, dan opent het vensteroverzicht. De Super-toets alleen opent het menu; met Super+Spatie staat de cursor meteen in het zoekveld.
apt, snap en Flatpak staan er alle drie op, en GNOME Software toont ze ook alle drie: eerst snaps, dan pakketten uit de pakketbron van Ubuntu, dan Flathub. Een .deb-pakket is altijd de lichtste keuze; voor al het andere is er Flathub.
Het programma Snap Store is zelf een snap, met afhankelijkheden van samen ongeveer een gigabyte. Dat is te veel voor een image dat bedoeld is voor computers met 2 GB RAM. De winkel kan daarom vanaf de eerste start snaps tonen en installeren, en een dienst haalt het programma Snap Store zelf op zodra er een verbinding beschikbaar is.
De instellingenpagina Programma's laat zien wat er geïnstalleerd is, uit welk van de drie formaten elk programma komt en of er iets dubbel op staat.
Zo gekozen dat een bureaublad voor alledaags gebruik vanaf de eerste start werkt, ook zonder internetverbinding.
Firefox (de eigen versie van Mozilla, met uBlock Origin als lokale extensie erbij, zodat die ook zonder verbinding beschikbaar is), Thunderbird, Geary, Transmission
LibreOffice Writer, Calc, Impress en Draw; Evince; GNOME Teksteditor; Xournal++; PDF Arranger; MoonLight PDF; Agenda; Klokken; Weer; Kaarten; Rekenmachine
VLC; Celluloid; Rhythmbox; GStreamer met libav, de pluginsets “bad” en “ugly” en VA-API, zodat H.264, H.265 en AAC in elk programma spelen
GIMP; Drawing; Eye of GNOME; MoonLight Export; Simple Scan; Lettertypen; Schermafdruk
GNOME Software; Systeemmonitor; Schijven; GParted; Schijfgebruik; Timeshift; Redshift; Archiefbeheer; Seahorse; Blueman; Printers; MoonLight Tweaks
NetworkManager met OpenVPN, OpenConnect (Cisco AnyConnect, GlobalProtect, Fortinet), L2TP, PPTP, SSH en ingebouwde ondersteuning voor WireGuard
Visual Studio Code; gcc, g++, make, gdb; git, git-lfs; cmake, meson, ninja; Python 3 met pip, venv, NumPy en OpenCV; Node.js en npm; Rust en Cargo; Go; OpenJDK 21 met Maven en Gradle; Docker Engine, Compose v2 en Buildx; SQLite
GNOME Terminal; bash, zsh en 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
Wine met 32-bitsondersteuning, winetricks, DXVK (Direct3D 9 tot en met 11) en VKD3D (Direct3D 12)
De complete set linux-firmware, microcode voor Intel en AMD, en fwupd voor firmware-updates.
Mesa met Vulkan, VA-API en VDPAU voor Intel en AMD. Het stuurprogramma van NVIDIA staat op de ISO, dus je kunt het ook zonder internetverbinding aanzetten op de pagina Stuurprogramma's.
Meer dan vijftig stuurprogramma's voor draadloze adapters in de kernel, plus broadcom-sta en r8168, met DKMS gebouwd voor de chips waar de standaardstuurprogramma's slecht mee omgaan.
CUPS met de volledige set stuurprogramma's, afdrukken naar PDF, SANE en Simple Scan.
BlueZ, Blueman en de bluetooth-codecs van PipeWire, met een instellingenpagina die duidelijk meldt wanneer de computer geen bluetooth-hardware heeft.
PipeWire met WirePlumber, compatibiliteit met PulseAudio en een ingebouwde equalizer met tien banden.
power-profiles-daemon, thermald, het batterijpercentage in het paneel, tikken om te klikken en natuurlijk scrollen staan standaard aan, en er is ondersteuning voor Wacom- en Synaptics-invoer.
De gasthulpprogramma's voor VirtualBox, QEMU/SPICE en VMware zitten erbij, zodat het beeld meeschaalt en het klembord wordt gedeeld.
fprintd, libfprint en de TOD-loader zijn geïnstalleerd en met PAM geïntegreerd. Vingerafdruk herkent de sensor en begeleidt je bij het registreren van je vinger.
Ontgrendelen met je gezicht op basis van OpenCV, voor het aanmeldscherm, het vergrendelscherm en sudo. Staat uit tot je het zelf aanzet.
Alles hieronder staat standaard aan op een geïnstalleerd MoonLightOS.
Firmware → shim van Canonical → ondertekende GRUB → ondertekende kernel. In Instellingen → Over zie je of het op jouw computer aanstaat.
Volledige schijfversleuteling met LUKS2 is één vinkje in het installatieprogramma.
ufw staat aan: inkomende verbindingen worden geblokkeerd, uitgaande zijn toegestaan.
In de modus enforcing, ook voor snaps.
Elke dag, uit de beveiligingspakketbron van Ubuntu en van packages.mozilla.org. Ongebruikte kernels en afhankelijkheden worden opgeruimd, en de computer start nooit op eigen initiatief opnieuw op.
Het eerste gebruikersaccount beheert de computer via sudo. Er wordt nooit een root-wachtwoord ingesteld.
Minstens acht tekens uit twee soorten tekens. Na acht verkeerde pogingen gaat het account vijftien minuten op slot.
De kernel is zo ingesteld dat programma's zonder rechten zo min mogelijk over het systeem en over elkaar te weten komen: kernelpointers en opstartmeldingen blijven verborgen, het debuggen van een ander proces is geblokkeerd en een vervangende kernel laden tijdens het draaien is uitgeschakeld. De netwerklaag is gehard tegen vervalste routes en vloeden van verbindingen, en IPv6-adressen wisselen regelmatig.
FireWire en een reeks zelden benodigde modules voor bestandssystemen en netwerkprotocollen kunnen niet automatisch worden geladen, zodat een aangesloten apparaat of een binnenkomend pakket geen code kan binnenhalen die deze computer nooit gebruikt.
De machine-ID en de SSH-hostsleutels worden op de geïnstalleerde computer aangemaakt. Een hostsleutel die elke installatie deelt, maakt het controleren van hosts zinloos.
De diensten voor foutmeldingen en gebruiksstatistieken staan niet op de image. De telemetrie van Firefox, studies, Pocket en gesponsorde inhoud staan via beleid uit, en bescherming tegen volgen staat aan.
USBGuard is geïnstalleerd, dus een apparaat dat je aansluit terwijl het scherm vergrendeld is, wordt niet vertrouwd. Staat standaard uit; één knop op de pagina Beveiliging zet het aan.
Een tweede wachtwoord dat iets anders doet dan je aanmelden. In de wismodus worden de LUKS-sleutels van de schijf vernietigd en gaat de computer uit; in de schijnmodus gaat er een lege sessie open die na vijf minuten vastloopt. Staat standaard uit, je echte wachtwoord is nodig om het in te stellen, en het mag niet hetzelfde zijn als dat echte wachtwoord.
Te vinden op de pagina Beveiliging, want wie de computer opnieuw kan opstarten, kan anders het opstartmenu aanpassen en een root-shell starten.
Elk MoonLight-hulpprogramma heeft een eigen polkit-actie met naam, zodat een wachtwoordvraag vertelt waarmee je instemt.
| Gecomprimeerd geheugen (zram) | De helft van het RAM, tot maximaal 8 GB, zstd-compressie, prioriteit 100. Geheugenpagina's van een bureaublad gaan ruwweg 3:1 in compressie. |
|---|---|
| Afstemming van het wisselen | De standaardwaarde 60 van de kernel gaat ervan uit dat swappen een schijfbenadering kost. Met zram is het een kopie in het geheugen. |
| Bescherming tegen geheugentekort | Grijpt in bij 4 % vrij geheugen en stuurt SIGKILL bij 2 %. Beëindigt nooit Cinnamon, Xorg, LightDM of Nemo; Firefox, Thunderbird, Code, LibreOffice en compilers gaan er als eerste uit. |
| Geen indexering | Geen tracker en geen achtergrondscan van de schijf. |
| Grafische instellingen automatisch | Bij het aanmelden kijkt het systeem welke OpenGL-renderer actief is. Is dat llvmpipe of een andere renderer in software, dan gaan de animaties uit. Een keuze die je daarna zelf maakt, wordt nooit overschreven. |
| GRUB | Vraagt een bescheiden grafische modus aan, met terugvalopties, zodat het menu ook in een virtuele machine met weinig videogeheugen in beeld komt. |
| Squashfs | Met zstd gecomprimeerd, zodat de livesessie snel van een USB-stick laadt. |
Instellen zet Engels (VS en VK), Italiaans, Frans, Duits, Spaans, Braziliaans Portugees, Nederlands, Pools en Russisch in een korte lijst; alle andere taalinstellingen staan onder “Meer talen”. De toetsenbordindeling volgt de taal die je kiest, dus bij de tweede stap hoef je meestal alleen op Volgende te klikken.
Alle MoonTools, samen 774 teksten, zijn naast het Engels in die acht talen vertaald, en de build mislukt zodra een programma een zichtbare tekst bevat die niet vertaald is. Het Italiaanse taalpakket en de woordenboeken van LibreOffice staan op het image, zodat een installatie zonder internet in Italië volledig in het Italiaans is; andere taalpakketten haal je met één klik binnen.
De hulpprogramma's voor de opdrachtregel blijven met opzet Engels: je leest de uitvoer naast de documentatie en plakt die in foutrapporten, en dat gaat makkelijker in één taal.
Een thema dat helemaal met de hand is geschreven, breekt elke keer dat GTK er een widget bij krijgt. Dit thema erft de verbeteringen van GTK zelf.
Zo kan een update van Cinnamon hem niet stilletjes naast de onze terugzetten, en haal je de MoonLightOS-pakketten weg, dan komt hij netjes terug.
Het installatieprogramma kopieert precies die squashfs naar de schijf. Haal je /boot eruit, dan installeer je een systeem dat niet kan opstarten.
Het pakket desktop-base van Debian bevat al een Plymouth-thema met de naam moonlight, en een update zou de animatie dan ongemerkt vervangen.
Een beleidsregel die naar addons.mozilla.org wijst, installeert de extensie alleen bij de eerste start van Firefox met een werkende verbinding. Daarom zit de extensie in het image. Verwijderen mag natuurlijk nog steeds.
Op Linux draait Docker Desktop de engine in zijn eigen virtuele machine, en dat betekent op een laptop een tweede kernel en een tweede hap uit het geheugen.
Virtuele machines, PHP met databases en LaTeX zitten op één klik afstand in Welkom, in plaats van een gigabyte die elke installatie met zich mee zou dragen.