MoonLightOS

Základ z Ubuntu, vlastní prostředí

Ubuntu má ze všech linuxových základů nejbohatší repozitář balíčků a nejlepší podporu hardwaru. Samotný balíček linux-firmware pokryje velkou většinu používaných Wi-Fi, Bluetooth, grafik a čipsetů a ubuntu-drivers-common se umí postarat o karty NVIDIA. Secure Boot funguje bez zásahu, protože podepsaný shim i GRUB od Canonicalu jsou v repozitáři a jádro je podepsané. Základ navíc dostává dvanáct let bezpečnostní údržby.

Za výměnu stálo prostředí: je těžké a chybí mu tlačítko Start, ikony na ploše i hlavní panel. V Cinnamonu to všechno je. MoonLightOS proto vychází z minimálního základu a prostředí staví až na něm. Z vlastního prostředí Ubuntu se neinstaluje nic a nikde, kam se uživatel podívá, se o základu nemluví.

Jedna věc zůstává záměrně nezměněná: kódové označení vydání, které vidí apt, je dál „resolute“, protože na něm závisí PPA a všechno, co se ptá přes lsb_release. Název a logo, které vidí uživatel, pocházejí z /etc/os-release.

Snímek obrazovky MoonLightOS
Logo stojí na místě a pulzuje jen světlo okolo něj. Dvě vrstvy záře s cykly 2,6 a 3,1 sekundy se postupně rozcházejí a znovu scházejí, takže svit nikdy nepůsobí mechanicky. Obojí vzniká při sestavení ze zdrojové grafiky a stejné logo i záři uvidíte v nabídce GRUB, na přihlašovací obrazovce, v instalátoru, na stránce O systému i v úvodním okně Vítejte.

Vzhled

Jediný panel u dolního okraje, vysoký 52 pixelů. Vlevo tlačítko Start a vyhledávací pole, uprostřed spuštěné aplikace s největšími ikonami na celém panelu, vpravo stavová oblast. V nabídce je váš obrázek, jméno a to, jestli můžete počítač spravovat; vyhledávací pole v ní najde aplikace, nastavení, soubory i výsledky z webu.

Snímek obrazovky MoonLightOS
Snímek pořízený při skutečném spuštění hotového obrazu, nejde o montáž.

Tři rozvržení

  • MoonLight

    Jediný panel u dolního okraje. V doku jsou i oblíbené aplikace, takže druhá řada spouštěčů není potřeba.

  • Dva panely

    Nahoře úzká lišta s hodinami a stavovými ikonami, dole dok, který se sám skrývá.

  • Kompaktní

    Jediná úzká lišta nahoře. Zabere nejméně místa a pro starou grafiku je nejúspornější.

Světlý a tmavý

Oba vzhledy generuje jediný skript z jediné barevné palety a pokrývají GTK 2, 3 i 4, prostředí Cinnamonu a rámy oken. Vzhledy pro GTK importují Adwaitu a jen jí mění barvy, takže nové prvky a opravy od autorů GTK přicházejí samy. Vzhled ikon vychází z Papirusu a vyměňuje jen ty ikony, podle kterých se distribuce pozná. Zvýrazňovací barvu změníte v Ploše a doku.

Přepínání podle času

Ve výchozím stavu světlý od 7:00 a tmavý od 19:00. Malá služba na pozadí drží vzhled v souladu s plánem.

Widgety na ploše

Ve výchozím stavu jsou na ploše velké hodiny a ukazatel procesoru, paměti a disku. Pravým tlačítkem přidáte kalendář a lepicí poznámky, které se při psaní ukládají jako obyčejný text.

Animace při startu

Logo stojí na místě a pulzuje jen světlo okolo něj. Dvě vrstvy záře s cykly 2,6 a 3,1 sekundy se postupně rozcházejí a znovu scházejí, takže svit nikdy nepůsobí mechanicky. Obojí vzniká při sestavení ze zdrojové grafiky a stejné logo i záři uvidíte v nabídce GRUB, na přihlašovací obrazovce, v instalátoru, na stránce O systému i v úvodním okně Vítejte.

Typografie

Inter pro rozhraní, JetBrains Mono pro kód a Noto pro všechno ostatní včetně čínštiny, japonštiny, korejštiny a barevných emodži.

Sedm tapet

Pět fotografických scén s tučňákem, jezerem a srpkem měsíce a k nim generovaná dvojice pro den a pro noc. Ve výchozím stavu je nastavená tapeta „Západ slunce nad jezerem“.

Zkratky, které už znáte

Windows a macOS mají pro většinu věcí jiné klávesové zkratky. Protože se obě sady téměř nikde nepřekrývají, MoonLightOS zvládá obojí: klávesa Super se drží zvyklostí Windows, klávesa Control zvyklostí Macu.

AkceZvyk z WindowsZvyk z macOS
Otevřít nabídkuSuperSuper
HledatSuper+MezerníkSuper+Mezerník
Správce souborůSuper+E—
Zamknout obrazovkuSuper+LCtrl+Super+Q
Zobrazit plochuSuper+DCtrl+Super+D
Přichytit okno k polovině obrazovkySuper+Vlevo / Vpravo—
Maximalizovat nebo obnovitSuper+Nahoru / Super+DolůAlt+F10 / Alt+F5
MinimalizovatSuper+HAlt+F9
Zavřít oknoAlt+F4Super+Q
Celá obrazovkaSuper+FCtrl+Super+F
Přepínat oknaAlt+Tab, Super+TabAlt+Tab
Další okno téže aplikaceAlt+`Super+`
Všechna oknaSuper+WCtrl+Nahoru
Všechny plochySuper+SCtrl+Dolů
Přepnout plochuCtrl+Alt+Vlevo / VpravoCtrl+Vlevo / Vpravo
Přesunout okno na jinou plochuCtrl+Shift+Alt+Vlevo / VpravoCtrl+Shift+Vlevo / Vpravo
NastaveníSuper+ISuper+,
Sledování systémuCtrl+Shift+Esc—
Spustit příkazSuper+R, Alt+F2—
TerminálCtrl+Alt+TCtrl+Alt+T
ProhlížečSuper+BSuper+B
KalkulačkaSuper+CSuper+C
Mixér a ekvalizérSuper+ASuper+A
Historie schránkySuper+VSuper+V
PoznámkySuper+NSuper+N
Převod souborůSuper+Shift+CSuper+Shift+C
Snímek celé obrazovkyPrintShift+Super+3
Snímek výřezuShift+PrintShift+Super+4
Snímek oknaAlt+Print—
Panel snímků a záznamuCtrl+Shift+PrintShift+Super+5
Odhlásit seCtrl+Alt+Delete—

Když zajedete ukazatelem do levého horního rohu, otevře se přehled oken. Samotná klávesa Super otevře nabídku, Super+Mezerník ji otevře s kurzorem už ve vyhledávacím poli.

Tři formáty balíčků, jeden obchod

apt, snap i Flatpak jsou nainstalované a GNOME Software nabízí všechny tři: nejdřív snapy, pak balíčky z repozitáře Ubuntu a nakonec Flathub. Balíček .deb je vždy nejúspornější volba, Flathub pokryje všechno ostatní.

Aplikace Snap Store je sama snap a její závislosti zaberou asi gigabajt. Na obraz určený počítačům se 2 GB paměti je to příliš. Obchod proto umí snapy nabízet a instalovat už od prvního spuštění a samotnou aplikaci Snap Store doplní služba, jakmile je k dispozici připojení.

Stránka nastavení Aplikace ukazuje, co je nainstalované, z kterého ze tří formátů daná aplikace přišla a jestli něco není nainstalované dvakrát.

Aplikace na obrazu

Vybrané tak, aby byl počítač pro běžnou práci použitelný hned od prvního spuštění, i bez připojení k internetu.

Internet

Firefox (sestavení přímo od Mozilly, s uBlockem Origin přibaleným jako místní rozšíření, takže je k dispozici i bez připojení), Thunderbird, Geary, Transmission

Kancelář a dokumenty

LibreOffice Writer, Calc, Impress a Draw; Evince; Textový editor GNOME; Xournal++; PDF Arranger; MoonLight PDF; Kalendář; Hodiny; Počasí; Mapy; Kalkulačka

Multimédia

VLC; Celluloid; Rhythmbox; GStreamer s libav, se sadami zásuvných modulů „bad“ a „ugly“ a s VA-API, takže H.264, H.265 i AAC hrají v každé aplikaci

Grafika a skenování

GIMP; Kreslení; Eye of GNOME; MoonLight Export; Jednoduché skenování; Prohlížeč fontů; Snímek obrazovky

Systém

GNOME Software; Sledování systému; Disky; GParted; Analyzátor využití disku; Timeshift; Redshift; File Roller; Seahorse; Blueman; Tiskárny; MoonLight Tweaks

Síť a VPN

NetworkManager s OpenVPN, OpenConnect (Cisco AnyConnect, GlobalProtect, Fortinet), L2TP, PPTP, SSH a s vestavěnou podporou WireGuardu

Vývoj

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

Terminál

Terminál GNOME; bash, zsh a 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

Kompatibilita s Windows

Wine s podporou 32bitových programů, winetricks, DXVK (Direct3D 9 až 11) a VKD3D (Direct3D 12)

Hardware a ovladače

Firmware

Kompletní sada linux-firmware, mikrokód pro Intel i AMD a fwupd pro aktualizace firmwaru.

Grafika

Mesa s Vulkanem, VA-API a VDPAU pro Intel a AMD. Ovladač NVIDIA je přímo na ISO, takže ho zapnete na stránce Ovladače i bez připojení k internetu.

Wi-Fi a Ethernet

Přes padesát ovladačů bezdrátových karet přímo v jádře a k nim ovladače broadcom-sta a r8168 sestavené přes DKMS pro čipy, se kterými si standardní ovladače poradí špatně.

Tiskárny a skenery

CUPS s úplnou sadou ovladačů, tisk do PDF, SANE a Jednoduché skenování.

Bluetooth

BlueZ, Blueman a kodeky Bluetooth z PipeWire. Stránka nastavení jasně napíše, když počítač žádný Bluetooth nemá.

Zvuk

PipeWire s WirePlumberem, kompatibilita s PulseAudiem a vestavěný desetipásmový ekvalizér.

Notebooky

power-profiles-daemon, thermald, procenta baterie v panelu, zapnuté klepnutí místo kliknutí a přirozené posouvání, podpora vstupních zařízení Wacom a Synaptics.

Virtuální stroje

Nástroje pro hosty ve VirtualBoxu, QEMU/SPICE a VMware jsou součástí systému, takže se obrazovka přizpůsobuje velikosti okna a schránka je společná.

Čtečky otisků prstů

fprintd, libfprint i zavaděč TOD jsou nainstalované a propojené s PAM. Nástroj Otisk prstu rozpozná senzor a provede vás registrací prstu.

Odemknutí obličejem

Odemknutí obličejem postavené na OpenCV, pro přihlašovací obrazovku, zamčenou obrazovku a sudo. Dokud ho nezapnete, je vypnuté.

Zabezpečení

Všechno, co následuje, je na nainstalovaném MoonLightOS zapnuté hned od začátku.

  • Secure Boot

    Firmware → shim od Canonicalu → podepsaný GRUB → podepsané jádro. V Nastavení → O systému zjistíte, jestli je na vašem počítači zapnutý.

  • Šifrování disku

    Šifrování celého disku pomocí LUKS2 je v instalátoru jediné zaškrtávací políčko.

  • Firewall

    ufw je zapnutý: příchozí spojení blokuje, odchozí povoluje.

  • AppArmor

    Režim enforcing, a to i pro snapy.

  • Automatické bezpečnostní aktualizace

    Každý den z bezpečnostního repozitáře Ubuntu a z packages.mozilla.org. Nepoužívaná jádra a závislosti systém odstraní a nikdy se nerestartuje sám.

  • Zamčený root, dohledatelné sudo

    Počítač spravuje první uživatelský účet přes sudo. Heslo roota se nikdy nenastavuje.

  • Kvalita hesla a zamykání účtu

    Nejméně osm znaků ze dvou různých skupin. Po osmi chybných pokusech se účet na patnáct minut zamkne.

  • Zpevněné jádro

    Jádro je nastavené tak, aby programy bez oprávnění zjistily o systému i o sobě navzájem co nejméně: ukazatele jádra a hlášení ze startu jsou skryté, ladění cizího procesu je zablokované a zavedení náhradního jádra za běhu je vypnuté. Síťová vrstva je zpevněná proti podvrženým trasám a záplavám spojení a adresy IPv6 se průběžně mění.

  • Menší plocha pro útok

    FireWire a sada zřídka potřebných modulů pro souborové systémy a síťové protokoly se nemohou zavést automaticky, takže připojené zařízení ani přijatý paket nepřitáhnou kód, který tento počítač nikdy nepoužívá.

  • Jedinečné už při prvním startu

    Identifikátor počítače a klíče hostitele SSH vznikají na nainstalovaném počítači. Klíč společný všem instalacím by z ověřování hostitele udělal prázdné gesto.

  • Žádná telemetrie

    Služby pro hlášení chyb a statistiky používání v obrazu nejsou. Telemetrie Firefoxu, studie, Pocket a sponzorovaný obsah jsou vypnuté zásadami a ochrana proti sledování je zapnutá.

  • Ochrana portů USB

    USBGuard je nainstalovaný, takže zařízení připojené při zamčené obrazovce nedostane důvěru. Ve výchozím stavu je vypnutý, zapnete ho jedním tlačítkem na stránce Zabezpečení.

  • Nouzové heslo

    Druhé heslo, které vás nepřihlásí, ale udělá něco jiného. Režim smazání zničí klíče LUKS na disku a počítač vypne, režim nástrahy otevře prázdnou relaci a po pěti minutách ji zmrazí. Ve výchozím stavu je vypnuté, k nastavení potřebujete své běžné heslo a nouzové nesmí být stejné.

  • Heslo do nabídky zavaděče

    Nabízí ho stránka Zabezpečení, protože kdokoli, kdo počítač restartuje, by jinak mohl položku v nabídce upravit a spustit si shell roota.

  • Srozumitelné výzvy k ověření

    Každý pomocný nástroj MoonLight má pojmenovanou akci polkit, takže výzva k zadání hesla řekne, k čemu svolujete.

Snímek obrazovky MoonLightOS
Snímek pořízený při skutečném spuštění hotového obrazu, nejde o montáž.

Provoz na počítačích s málo pamětí

Komprimovaná paměť (zram)Polovina paměti, nejvýše 8 GB, komprese zstd, priorita 100. Stránky paměti na běžné ploše komprimuje přibližně 3:1.
Ladění odkládáníVýchozí hodnota jádra 60 vychází z toho, že odložení stránky znamená přístup na disk. Se zramem znamená kopii v paměti.
Ochrana před nedostatkem pamětiZasáhne při 4 % volné paměti, při 2 % posílá SIGKILL. Nikdy neukončí Cinnamon, Xorg, LightDM ani Nemo; první na řadě jsou Firefox, Thunderbird, Code, LibreOffice a kompilátory.
Žádné indexováníŽádný tracker a žádné procházení disku na pozadí.
Automatické ladění grafikyPři přihlášení se systém podívá, co vykresluje OpenGL. Když je to llvmpipe nebo jiné softwarové vykreslování, animace vypne. Do vaší pozdější volby už nikdy nezasáhne.
GRUBŽádá si skromný grafický režim a má připravené náhradní, takže nabídka naskočí i ve virtuálním stroji s malou videopamětí.
SquashfsKomprimovaný zstd, takže se živé prostředí z flash disku nahraje rychle.

Jazyky

Úvodní průvodce má v krátkém seznamu angličtinu (americkou i britskou), italštinu, francouzštinu, němčinu, španělštinu, brazilskou portugalštinu, nizozemštinu, polštinu a ruštinu; všechny ostatní lokalizace jsou pod položkou „Další jazyky“. Rozložení klávesnice se nastaví podle vybraného jazyka, takže v druhém kroku obvykle stačí kliknout na Další.

Všechny MoonTools, dohromady 774 textů, jsou kromě angličtiny přeložené do těch osmi jazyků a sestavení skončí chybou, jakmile v některém programu zůstane viditelný nepřeložený text. Na obrazu je italský jazykový balík a slovníky pro LibreOffice, takže instalace bez připojení je v Itálii plně lokalizovaná; ostatní jazykové balíky se dají stáhnout jedním kliknutím.

Nástroje pro příkazovou řádku zůstávají záměrně anglicky: jejich výstup se čte vedle dokumentace a vkládá do hlášení o chybách, a to je snazší v jednom jazyce.

Snímek obrazovky MoonLightOS

Rozhodnutí, která je dobré znát

  • Vzhledy pro GTK importují Adwaitu a jen ji přebarvují.

    Vzhled napsaný ručně se rozbije vždy, když do GTK přidají nový prvek. Tenhle dědí opravy od autorů GTK.

  • Stránka Informace o systému z Cinnamonu je odkloněná, ne smazaná.

    Aktualizace Cinnamonu ji tak nemůže tiše vrátit vedle té naší a po odinstalování balíčků MoonLightOS se zase bez problémů vrátí.

  • Squashfs si nese vlastní kopii jádra.

    Instalátor kopíruje na disk právě tenhle squashfs. Kdyby z něj /boot zmizelo, nainstaloval by systém, který nenastartuje.

  • Vzhled startu se jmenuje moonlightos, ne moonlight.

    Balíček desktop-base z Debianu už jeden vzhled pro Plymouth s názvem moonlight obsahuje a aktualizace by animaci tiše vyměnila.

  • uBlock Origin je přibalený, ne stahovaný.

    Zásada odkazující na addons.mozilla.org nainstaluje rozšíření teprve při prvním spuštění Firefoxu s funkčním připojením. Proto je rozšíření součástí obrazu, a odebrat si ho pořád můžete.

  • Docker Engine místo Docker Desktopu.

    Docker Desktop na Linuxu spouští engine ve vlastním virtuálním stroji, což na notebooku znamená druhé jádro a druhý rozpočet paměti.

  • Těžké vývojářské sady jsou volitelné.

    Virtuální stroje, PHP s databázemi a LaTeX jsou ve Vítejte na jedno kliknutí, místo aby gigabajt navíc tahala každá instalace.