MoonLightOS

Ubuntu i bunnen, uten Ubuntu-skrivebordet

Ubuntu har det bredeste pakkearkivet og den beste maskinvarestøtten av alle Linux-grunnlag. Pakken linux-firmware dekker alene det store flertallet av Wi-Fi-, Bluetooth-, GPU- og brikkesettmaskinvare i bruk, og ubuntu-drivers-common håndterer NVIDIA-kort ordentlig. Secure Boot virker uten oppsett, fordi Canonicals signerte shim og GRUB ligger i arkivet og kjernen er signert. Grunnlaget får i tillegg tolv år med sikkerhetsvedlikehold.

Ubuntu-skrivebordet er den delen det var verdt å bytte ut: det er tungt, og det mangler både Start-knapp, skrivebordsikoner og oppgavelinje. Cinnamon har alle tre. Derfor starter MoonLightOS fra et minimalt grunnlag og bygger skrivebordet oppå. Ingenting av Ubuntus eget skrivebord er installert, og ingenting brukeren ser, nevner grunnlaget.

Én ting er bevisst urørt: utgivelsesnavnet apt ser, er fortsatt «resolute», fordi PPA-er og alt som kaller lsb_release er avhengige av det. Merkenavnet folk faktisk ser, kommer fra /etc/os-release.

Skjermbilde av MoonLightOS
Logoen står stille mens lyset rundt den pulserer. To bilder av lysringen, med sykluser på 2,6 og 3,1 sekunder, glir inn og ut av fase, så gløden ser aldri mekanisk ut. Begge lages fra kildegrafikken under byggingen, og samme logo og lysring møter deg i GRUB-menyen, på innloggingsskjermen, i installasjonsprogrammet, på Om-siden og i Velkommen-omvisningen.

Utseendet

Ett panel nederst, 52 piksler høyt. Start-knappen og søkefeltet ligger til venstre, programmene som kjører ligger midt på med de største ikonene i panelet, og statusfeltet ligger til høyre. Menyen viser bildet ditt, navnet ditt og om du kan administrere maskinen, og søkefeltet i menyen finner programmer, innstillinger, filer og treff på nettet.

Skjermbilde av MoonLightOS
Skjermbildet er tatt fra en virkelig oppstart av det ferdige systemet. Det er ingen montasje.

Tre oppsett

  • MoonLight

    Ett panel nederst. Dokken rommer også favorittprogrammene dine, så det blir ingen ekstra rad med snarveier.

  • To paneler

    En tynn stripe øverst til klokka og statusikonene, og en dokk nederst som skjuler seg selv.

  • Kompakt

    Én tynn stripe øverst. Den tar minst plass på skjermen og er det letteste valget på gammel grafikkmaskinvare.

Lyst og mørkt

Begge temaene lages av ett skript ut fra én fargepalett, og dekker GTK 2, 3 og 4, Cinnamon-skallet og vindusrammene. GTK-temaene importerer Adwaita og bytter fargene, slik at nye skjermelementer og rettelser fra utviklerne kommer inn av seg selv. Ikontemaet bygger på Papirus og bytter bare ut ikonene som identifiserer distribusjonen. Aksentfargen endrer du under Skrivebord og dokk.

Bytte etter klokka

Lyst fra 07.00 og mørkt fra 19.00 som standard. En liten bakgrunnstjeneste holder temaet i takt med tidsplanen.

Skrivebordselementer

En stor klokke og en måler for prosessor, minne og disk vises som standard. En kalender og gule lapper, som lagres som vanlig tekst mens du skriver, kan legges til med et høyreklikk.

Oppstartsanimasjonen

Logoen står stille mens lyset rundt den pulserer. To bilder av lysringen, med sykluser på 2,6 og 3,1 sekunder, glir inn og ut av fase, så gløden ser aldri mekanisk ut. Begge lages fra kildegrafikken under byggingen, og samme logo og lysring møter deg i GRUB-menyen, på innloggingsskjermen, i installasjonsprogrammet, på Om-siden og i Velkommen-omvisningen.

Typografi

Inter i grensesnittet, JetBrains Mono til kode, og Noto til alt annet, inkludert kinesisk, japansk, koreansk og emoji i farger.

Sju bakgrunnsbilder

Fem fotografiske motiver med en pingvin, et vann og en månesigd, pluss et generert par for dag og natt. Utgivelsen kommer med «Solnedgang over vannet».

Snarveier du kan fra før

Windows og macOS bruker ulike tastatursnarveier for nesten alt. Siden de to settene nesten aldri kolliderer, støtter MoonLightOS begge: Super-tasten følger skikken fra Windows, og Ctrl-tasten følger skikken fra Mac.

HandlingFra WindowsFra macOS
Åpne menyenSuperSuper
SøkSuper+MellomromSuper+Mellomrom
Åpne filbehandlerenSuper+E—
Lås skjermenSuper+LCtrl+Super+Q
Vis skrivebordetSuper+DCtrl+Super+D
Fest vinduet til halve skjermenSuper+Venstre / Høyre—
Maksimer / gjenopprettSuper+Opp / Super+NedAlt+F10 / Alt+F5
MinimerSuper+HAlt+F9
Lukk vinduetAlt+F4Super+Q
FullskjermSuper+FCtrl+Super+F
Bytt mellom vinduerAlt+Tab, Super+TabAlt+Tab
Neste vindu i samme programAlt+`Super+`
Alle vinduerSuper+WCtrl+Opp
Alle skrivebordSuper+SCtrl+Ned
Bytt skrivebordCtrl+Alt+Venstre / HøyreCtrl+Venstre / Høyre
Flytt vinduet til et annet skrivebordCtrl+Shift+Alt+Venstre / HøyreCtrl+Shift+Venstre / Høyre
InnstillingerSuper+ISuper+,
SystemovervåkingCtrl+Shift+Esc—
Kjør en kommandoSuper+R, Alt+F2—
TerminalCtrl+Alt+TCtrl+Alt+T
NettleserSuper+BSuper+B
KalkulatorSuper+CSuper+C
Mikser og equalizerSuper+ASuper+A
Historikk for utklippstavlaSuper+VSuper+V
NotaterSuper+NSuper+N
Omform filerSuper+Shift+CSuper+Shift+C
Skjermbilde av hele skjermenPrintShift+Super+3
Skjermbilde av et områdeShift+PrintShift+Super+4
Skjermbilde av et vinduAlt+Print—
Panel for skjermbilder og opptakCtrl+Shift+PrintShift+Super+5
Logg utCtrl+Alt+Delete—

Flytter du pekeren inn i hjørnet øverst til venstre, får du oversikten over alle vinduer. Super-tasten alene åpner menyen, og Super+Mellomrom åpner den med markøren klar i søkefeltet.

Tre pakkeformater, én butikk

apt, snap og Flatpak er alle installert, og GNOME Software lister opp alle tre: snap-pakker først, så pakker fra Ubuntu-arkivet, så Flathub. En .deb-pakke er alltid det letteste valget, og Flathub dekker resten.

Snap Store er selv en snap-pakke, og avhengighetene utgjør rundt en gigabyte. Det er for mye å legge på en ISO-fil som skal virke på maskiner med 2 GB RAM. Butikken kan derfor liste opp og installere snap-pakker fra første oppstart, mens en tjeneste laster ned selve Snap Store-programmet så snart det finnes en tilkobling.

Innstillingssiden Programmer viser hva som er installert, hvilket av de tre formatene hvert program kom fra, og om noe er installert to ganger.

Programmene på ISO-filen

Valgt slik at et skrivebord til allmenn bruk fungerer fra første oppstart, også uten internett.

Internett

Firefox (Mozillas egen bygging, med uBlock Origin lagt ved som en lokal utvidelse, slik at den finnes også uten nett), Thunderbird, Geary, Transmission

Kontor og dokumenter

LibreOffice Writer, Calc, Impress og Draw; Evince; GNOME Text Editor; Xournal++; PDF Arranger; MoonLight PDF; Kalender; Klokker; Vær; Kart; Kalkulator

Medier

VLC; Celluloid; Rhythmbox; GStreamer med libav, tilleggssettene «bad» og «ugly» og VA-API, slik at H.264, H.265 og AAC spiller i alle programmer

Grafikk og skanning

GIMP; Drawing; Eye of GNOME; MoonLight Export; Simple Scan; Skriftviser; Skjermbilde

System

GNOME Software; Systemovervåking; Disker; GParted; Diskbruksanalyse; Timeshift; Redshift; File Roller; Seahorse; Blueman; Skrivere; MoonLight Tweaks

Nettverk og VPN

NetworkManager med OpenVPN, OpenConnect (Cisco AnyConnect, GlobalProtect, Fortinet), L2TP, PPTP, SSH og innebygd støtte for WireGuard

Utvikling

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

Terminal

GNOME Terminal; bash, zsh og 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-kompatibilitet

Wine med 32-bits støtte, winetricks, DXVK (Direct3D 9 til 11) og VKD3D (Direct3D 12)

Maskinvare og drivere

Fastvare

Hele linux-firmware-settet, mikrokode fra Intel og AMD, og fwupd til fastvareoppdateringer.

Grafikk

Mesa med Vulkan, VA-API og VDPAU for Intel og AMD. NVIDIA-driveren ligger på ISO-filen, så den kan slås på fra Drivere-siden også uten internett.

Wi-Fi og kabelnett

Over femti trådløsdrivere i kjernen, i tillegg til driverne broadcom-sta og r8168 bygd med DKMS for brikkene standarddriverne håndterer dårlig.

Skrivere og skannere

CUPS med hele driversettet, utskrift til PDF, SANE og Simple Scan.

Bluetooth

BlueZ, Blueman og Bluetooth-kodekene i PipeWire, med en innstillingsside som sier tydelig fra når maskinen ikke har Bluetooth i det hele tatt.

Lyd

PipeWire med WirePlumber, kompatibilitet med PulseAudio og en innebygd equalizer med ti bånd.

Bærbare

power-profiles-daemon, thermald, batteriprosent i panelet, trykk-for-klikk og naturlig rulling slått på fra start, og støtte for Wacom- og Synaptics-enheter.

Virtuelle maskiner

Gjesteverktøyene for VirtualBox, QEMU/SPICE og VMware er med, så skjermen tilpasser seg og utklippstavla deles.

Fingeravtrykklesere

fprintd, libfprint og TOD-lasteren er installert og koblet til PAM. Fingeravtrykk finner ut hvilken sensor du har, og leder deg gjennom registreringen.

Ansiktsopplåsing

Ansiktsopplåsing basert på OpenCV for innloggingsskjermen, låseskjermen og sudo. Slått av til du slår den på.

Sikkerhet

Alt nedenfor står på fra start på et installert MoonLightOS-system.

  • Secure Boot

    Fastvare → Canonicals shim → signert GRUB → signert kjerne. Innstillinger → Om viser om det er slått på hos deg.

  • Diskkryptering

    LUKS2-kryptering av hele disken er én avkrysningsboks i installasjonsprogrammet.

  • Brannmur

    ufw er slått på: innkommende tilkoblinger stoppes, utgående slippes gjennom.

  • AppArmor

    Håndhevende modus, også for snap-pakker.

  • Automatiske sikkerhetsoppdateringer

    Fra Ubuntus sikkerhetsarkiv og packages.mozilla.org, hver dag. Kjerner og avhengigheter som ikke er i bruk, fjernes, og maskinen starter aldri på nytt av seg selv.

  • Låst root-konto, sporbar sudo

    Den første brukerkontoen administrerer maskinen gjennom sudo. Det settes aldri noe root-passord.

  • Passordkrav og utestenging

    Minst åtte tegn fra to tegnklasser. Etter åtte feil forsøk låses kontoen i femten minutter.

  • Herdet kjerne

    Kjernen er satt opp til å begrense hva programmer uten rettigheter får vite om systemet og om hverandre: kjernepekere og oppstartsmeldinger er skjult, feilsøking av andre prosesser er sperret, og det går ikke an å laste inn en erstatningskjerne mens maskinen kjører. Nettverksdelen er herdet mot forfalskede ruter og flommer av tilkoblinger, og IPv6-adresser byttes ut jevnlig.

  • Mindre angrepsflate

    FireWire og en rekke sjelden brukte moduler for filsystemer og nettverksprotokoller kan ikke lastes inn automatisk, slik at en enhet som kobles til eller en pakke som kommer inn, ikke kan dra inn kode denne maskinen aldri bruker.

  • Eget ved første oppstart

    Maskin-ID-en og SSH-vertsnøklene lages på den installerte maskinen. En vertsnøkkel som var felles for alle installasjoner, ville gjort vertskontroll meningsløs.

  • Ingen telemetri

    Tjenestene for feilrapporter og bruksstatistikk finnes ikke på bildet. Telemetri, studier, Pocket og sponset innhold i Firefox er slått av gjennom regelverk, og sporingsvern er på.

  • USB-beskyttelse

    USBGuard er installert, så en enhet som settes inn mens skjermen er låst, blir ikke stolt på. Slått av som standard; én knapp på Sikkerhet-siden slår den på.

  • Nødpassord

    Et ekstra passord som gjør noe annet enn å logge deg inn. Slettemodus ødelegger LUKS-nøklene på disken og slår maskinen av; avledningsmodus åpner en tom økt og fryser den etter fem minutter. Slått av som standard, krever ditt virkelige passord for å settes opp, og kan ikke være det samme som det.

  • Passord på oppstartsmenyen

    Tilbys på Sikkerhet-siden, for ellers kan den som får startet maskinen på nytt, redigere oppstartsmenyen og åpne et root-skall.

  • Tydelige passordforespørsler

    Hver MoonLight-hjelper har sin egen navngitte polkit-handling, slik at en passordforespørsel sier hva du sier ja til.

Skjermbilde av MoonLightOS
Skjermbildet er tatt fra en virkelig oppstart av det ferdige systemet. Det er ingen montasje.

På maskiner med lite minne

Komprimert minne (zram)Halvparten av minnet, opptil 8 GB, zstd-komprimering, prioritet 100. Rundt 3:1 komprimering på minnesidene til et skrivebord.
Innstilling av vekslingKjernens standardverdi på 60 går ut fra at veksling betyr et diskoppslag. Med zram betyr det en minnekopiering.
Vern mot tomt minneGriper inn ved 4 % ledig minne og sender SIGKILL ved 2 %. Stopper aldri Cinnamon, Xorg, LightDM eller Nemo; tar Firefox, Thunderbird, Code, LibreOffice og kompilatorer først.
Ingen indekseringIngen tracker og ingen gjennomgang av disken i bakgrunnen.
Automatisk grafikktilpasningVed innlogging sjekker systemet hvilken OpenGL-opptegner som er i bruk. Er det llvmpipe eller en annen programvareopptegner, slås animasjonene av. Et valg du selv gjør senere, blir aldri overstyrt.
GRUBBer om en nøktern grafikkmodus med reserveløsninger, slik at menyen vises også i en virtuell maskin med lite skjermminne.
SquashfsKomprimert med zstd, så live-økten laster raskt fra en minnepinne.

Språk

Oppsettveiviseren tilbyr engelsk (USA og Storbritannia), italiensk, fransk, tysk, spansk, brasiliansk portugisisk, nederlandsk, polsk og russisk i en kort liste, og alle andre lokaltilpasninger under «Flere språk». Tastaturoppsettet følger språket du velger, så steg to trenger stort sett bare et klikk på Neste.

Alle MoonTools, 774 tekster i alt, er oversatt til disse åtte språkene i tillegg til engelsk, og byggingen stopper hvis et program inneholder en synlig tekst som ikke er oversatt. Den italienske språkpakken og ordlistene til LibreOffice ligger på ISO-filen, så en installasjon uten nett i Italia er fullt oversatt; andre språkpakker lastes ned med ett klikk.

Kommandolinjeverktøyene er bevisst holdt på engelsk: utdataene leses ved siden av dokumentasjonen og limes inn i feilrapporter, og det er lettere når alt står på ett språk.

Skjermbilde av MoonLightOS

Valg det er verdt å kjenne til

  • GTK-temaene importerer Adwaita og bytter fargene.

    Et tema skrevet for hånd går i stykker hver gang GTK får et nytt skjermelement. Dette arver rettelsene fra utviklerne.

  • Cinnamons systeminfo-side er omdirigert, ikke slettet.

    Da kan ikke en Cinnamon-oppdatering stille og rolig sette den tilbake ved siden av vår egen, og fjerner du MoonLightOS-pakkene, kommer den pent tilbake.

  • Squashfs-filen har sin egen kopi av kjernen.

    Det er den samme squashfs-filen installasjonsprogrammet kopierer til disken. Å ta /boot ut av den ville gitt et system som ikke kan starte.

  • Oppstartstemaet heter moonlightos, ikke moonlight.

    Debians pakke desktop-base har allerede et Plymouth-tema som heter moonlight, og en oppdatering ville byttet ut animasjonen uten et ord.

  • uBlock Origin følger med, den lastes ikke ned.

    Retningslinjer som peker på addons.mozilla.org, installerer utvidelsen bare første gang Firefox kjører med en fungerende tilkobling. Utvidelsen ligger på ISO-filen, og du kan fortsatt fjerne den.

  • Docker Engine, ikke Docker Desktop.

    På Linux kjører Docker Desktop motoren inne i sin egen virtuelle maskin, altså en kjerne til og et minnebudsjett til på en bærbar.

  • De tunge utviklingsmiljøene er valgfrie.

    Virtuelle maskiner, PHP med databaser og LaTeX ligger ett klikk unna i Velkommen, i stedet for en gigabyte hver installasjon måtte bære med seg.