MoonLightOS

Baza Ubuntu, fără desktopul Ubuntu

Dintre toate bazele Linux, Ubuntu are cel mai mare depozit de pachete și recunoaște cele mai multe componente. Numai pachetul linux-firmware acoperă marea majoritate a plăcilor Wi-Fi, Bluetooth, video și a chipseturilor aflate în uz, iar ubuntu-drivers-common se descurcă bine cu plăcile NVIDIA. Secure Boot funcționează imediat, pentru că shimul și GRUB semnate de Canonical se află în depozit, iar nucleul este semnat. În plus, baza primește doisprezece ani de întreținere de securitate.

Partea care merita înlocuită este desktopul Ubuntu: este greoi și nu are nici buton Start, nici pictograme pe desktop, nici bară de activități. Cinnamon are toate trei. De aceea MoonLightOS pleacă de la o bază minimă și ridică desktopul peste ea. Desktopul propriu al Ubuntu nu se instalează deloc, iar nimic din ce vede utilizatorul nu pomenește baza.

Un lucru rămâne neschimbat intenționat: numele de cod al versiunii pe care îl vede apt rămâne „resolute”, pentru că depozitele PPA și orice program care apelează lsb_release se sprijină pe el. Identitatea pe care o vede omul vine din /etc/os-release.

Captură de ecran din MoonLightOS
Sigla stă nemișcată, iar lumina din jurul ei pulsează. Două imagini de halou, cu cicluri de 2,6 și 3,1 secunde, intră și ies din fază, așa că strălucirea nu pare niciodată mecanică. Amândouă se generează din grafica-sursă la construire, iar aceeași siglă și același halou apar în meniul GRUB, pe ecranul de autentificare, în programul de instalare, pe pagina Despre și în turul Bun venit.

Aspectul

Un singur panou, jos, înalt de 52 de pixeli. Butonul Start și caseta de căutare stau în stânga, aplicațiile deschise în centru, cu cele mai mari pictograme din panou, iar zona de stare în dreapta. Meniul vă arată poza, numele și dacă aveți drept de administrare pe calculator, iar caseta lui de căutare găsește aplicații, setări, fișiere și rezultate de pe web.

Captură de ecran din MoonLightOS
Captură de ecran făcută la o pornire reală a imaginii instalate, nu un montaj.

Trei aranjamente

  • MoonLight

    Un singur panou, jos. Dockul ține și aplicațiile favorite, așa că nu mai apare un al doilea rând de lansatoare.

  • Două panouri

    O bară subțire sus, pentru ceas și pictogramele de stare, și un dock jos, care se ascunde singur.

  • Compact

    O singură bară subțire, sus. Ocupă cel mai puțin din ecran și este varianta cea mai ușoară pe plăci video vechi.

Deschis și întunecat

Ambele teme sunt produse de același script, din aceeași paletă de culori, și acoperă GTK 2, 3 și 4, shellul Cinnamon și marginile ferestrelor. Temele GTK importă Adwaita și îi schimbă culorile, așa că widgeturile noi și corecturile de la dezvoltatorii GTK ajung aici de la sine. Tema de pictograme pleacă de la Papirus și înlocuiește doar pictogramele care identifică distribuția. Culoarea de accent se schimbă în Desktop și dock.

Comutare după orar

Implicit, tema deschisă de la 07:00 și cea întunecată de la 19:00. Un serviciu mic de fundal ține tema în pas cu orarul.

Widgeturi pe desktop

Implicit apar un ceas mare și un monitor de procesor, memorie și disc. Cu un clic dreapta se mai pot adăuga un calendar și notițe lipite, salvate ca text simplu în timp ce scrieți.

Animația de pornire

Sigla stă nemișcată, iar lumina din jurul ei pulsează. Două imagini de halou, cu cicluri de 2,6 și 3,1 secunde, intră și ies din fază, așa că strălucirea nu pare niciodată mecanică. Amândouă se generează din grafica-sursă la construire, iar aceeași siglă și același halou apar în meniul GRUB, pe ecranul de autentificare, în programul de instalare, pe pagina Despre și în turul Bun venit.

Tipografie

Inter pentru interfață, JetBrains Mono pentru cod și Noto pentru tot restul, inclusiv chineză, japoneză, coreeană și emoji color.

Șapte imagini de fundal

Cinci fotografii cu un pinguin, un lac și o semilună, plus o pereche generată, de zi și de noapte. Versiunea pornește cu „Apus peste lac”.

Scurtături pe care le știți deja

Windows și macOS folosesc scurtături diferite pentru aproape orice. Cum cele două seturi aproape nu se suprapun, MoonLightOS le acceptă pe amândouă: tasta Super merge după obiceiurile din Windows, iar tasta Control după cele din Mac.

AcțiuneCa pe WindowsCa pe macOS
Deschide meniulSuperSuper
CautăSuper+SpațiuSuper+Spațiu
FișiereSuper+E—
Blochează ecranulSuper+LCtrl+Super+Q
Arată desktopulSuper+DCtrl+Super+D
Lipește fereastra pe jumătate de ecranSuper+Stânga / Dreapta—
Maximizează / restaureazăSuper+Sus / Super+JosAlt+F10 / Alt+F5
MinimizeazăSuper+HAlt+F9
Închide fereastraAlt+F4Super+Q
Pe tot ecranulSuper+FCtrl+Super+F
Trece prin ferestreAlt+Tab, Super+TabAlt+Tab
Următoarea fereastră a aplicațieiAlt+`Super+`
Toate ferestreleSuper+WCtrl+Sus
Toate spațiile de lucruSuper+SCtrl+Jos
Schimbă spațiul de lucruCtrl+Alt+Stânga / DreaptaCtrl+Stânga / Dreapta
Mută fereastra în alt spațiu de lucruCtrl+Shift+Alt+Stânga / DreaptaCtrl+Shift+Stânga / Dreapta
SetăriSuper+ISuper+,
Monitor de sistemCtrl+Shift+Esc—
Rulează o comandăSuper+R, Alt+F2—
TerminalCtrl+Alt+TCtrl+Alt+T
Navigator webSuper+BSuper+B
CalculatorSuper+CSuper+C
Mixer și egalizatorSuper+ASuper+A
Istoricul clipboarduluiSuper+VSuper+V
NotițeSuper+NSuper+N
Conversie de fișiereSuper+Shift+CSuper+Shift+C
Captură a întregului ecranPrintShift+Super+3
Captură a unei zoneShift+PrintShift+Super+4
Captură a unei ferestreAlt+Print—
Panoul de capturi și înregistrăriCtrl+Shift+PrintShift+Super+5
Ieșire din sesiuneCtrl+Alt+Delete—

Dacă duceți cursorul în colțul din stânga sus, se deschide vederea de ansamblu a ferestrelor. Tasta Super apăsată singură deschide meniul, iar Super+Spațiu îl deschide cu cursorul deja în caseta de căutare.

Trei formate de pachete, un singur magazin

apt, snap și Flatpak sunt toate instalate, iar GNOME Software le arată pe toate trei: mai întâi snapurile, apoi pachetele din depozitul Ubuntu, apoi Flathub. Un pachet .deb este întotdeauna varianta cea mai ușoară, iar Flathub acoperă tot restul.

Aplicația Snap Store este ea însăși un snap, cu dependențe de vreun gigabait, prea mult pentru o imagine gândită pentru calculatoare cu 2 GB de RAM. Așa că magazinul poate arăta și instala snapuri de la prima pornire, iar un serviciu descarcă aplicația Snap Store de îndată ce există conexiune.

Pagina de setări Aplicații arată ce este instalat, din care dintre cele trei formate vine fiecare aplicație și dacă vreuna este instalată de două ori.

Aplicațiile de pe imagine

Alese astfel încât un desktop de uz general să fie funcțional de la prima pornire, chiar și fără conexiune la internet.

Internet

Firefox (varianta construită de Mozilla, cu uBlock Origin inclus ca extensie locală, deci disponibil și fără internet), Thunderbird, Geary, Transmission

Birotică și documente

LibreOffice Writer, Calc, Impress și Draw; Evince; Editor de text GNOME; Xournal++; PDF Arranger; MoonLight PDF; Calendar; Ceasuri; Vremea; Hărți; Calculator

Multimedia

VLC; Celluloid; Rhythmbox; GStreamer cu libav, seturile de module „bad” și „ugly” și VA-API, ca H.264, H.265 și AAC să funcționeze în orice aplicație

Grafică și scanare

GIMP; Desenare; Eye of GNOME; MoonLight Export; Scanare simplă; Vizualizator de fonturi; Captură de ecran

Sistem

GNOME Software; Monitor de sistem; Discuri; GParted; Analizator de utilizare a discului; Timeshift; Redshift; Manager de arhive; Seahorse; Blueman; Imprimante; MoonLight Tweaks

Rețea și VPN

NetworkManager cu OpenVPN, OpenConnect (Cisco AnyConnect, GlobalProtect, Fortinet), L2TP, PPTP, SSH și suport WireGuard inclus

Dezvoltare

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

Terminal

GNOME Terminal; bash, zsh și 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

Compatibilitate cu Windows

Wine cu suport pe 32 de biți, winetricks, DXVK (Direct3D 9, 10 și 11) și VKD3D (Direct3D 12)

Componente și drivere

Firmware

Setul complet linux-firmware, microcod Intel și AMD și fwupd pentru actualizările de firmware.

Grafică

Mesa cu Vulkan, VA-API și VDPAU pentru Intel și AMD. Driverul NVIDIA se află pe ISO, așa că poate fi activat din pagina Drivere chiar și fără conexiune la internet.

Wi-Fi și Ethernet

Peste cincizeci de drivere pentru rețele fără fir în nucleu, plus driverele broadcom-sta și r8168 compilate cu DKMS, pentru chipurile cu care driverele standard se descurcă prost.

Imprimante și scanere

CUPS cu setul complet de drivere, tipărire în PDF, SANE și Scanare simplă.

Bluetooth

BlueZ, Blueman și codecurile Bluetooth din PipeWire, cu o pagină de setări care spune limpede când calculatorul nu are Bluetooth.

Sunet

PipeWire cu WirePlumber, compatibilitate cu PulseAudio și un egalizator integrat, cu zece benzi.

Laptopuri

power-profiles-daemon, thermald, procentul bateriei în panou, atingerea pentru clic și derularea naturală active implicit, suport pentru dispozitivele Wacom și Synaptics.

Mașini virtuale

Pe imagine se află uneltele de sistem oaspete pentru VirtualBox, QEMU/SPICE și VMware, așa că ecranul se redimensionează și clipboardul este comun.

Cititoare de amprentă

fprintd, libfprint și încărcătorul TOD sunt instalate și integrate cu PAM. Amprentă recunoaște senzorul și vă conduce prin înregistrarea amprentei.

Deblocare facială

Deblocare facială bazată pe OpenCV, pentru ecranul de autentificare, ecranul blocat și sudo. Rămâne dezactivată până o porniți.

Securitate

Pe un sistem MoonLightOS instalat, tot ce urmează este activ din start.

  • Secure Boot

    Firmware → shim Canonical → GRUB semnat → nucleu semnat. Setări → Despre arată dacă este activat pe calculatorul dumneavoastră.

  • Criptarea discului

    Criptarea completă LUKS2 se reduce la o bifă în programul de instalare.

  • Firewall

    ufw este activat: conexiunile venite din afară sunt blocate, cele spre exterior sunt permise.

  • AppArmor

    Regim de aplicare, inclusiv pentru snapuri.

  • Actualizări de securitate automate

    În fiecare zi, din depozitul de securitate al Ubuntu și de la packages.mozilla.org. Nucleele și dependențele nefolosite se șterg, iar calculatorul nu repornește niciodată singur.

  • Cont root blocat, sudo care lasă urmă

    Primul cont de utilizator administrează calculatorul prin sudo. Nu se stabilește niciodată o parolă de root.

  • Calitatea parolei și blocarea contului

    Cel puțin opt caractere din două clase de caractere. După opt încercări greșite, contul se blochează pentru cincisprezece minute.

  • Întărirea nucleului

    Nucleul este configurat să limiteze ce pot afla programele fără privilegii despre sistem și unele despre altele: pointerii nucleului și mesajele de pornire sunt ascunse, depanarea altui proces este blocată, iar încărcarea unui nucleu de schimb în timpul funcționării este dezactivată. Stiva de rețea este întărită împotriva rutelor falsificate și a valurilor de conexiuni, iar adresele IPv6 sunt schimbate periodic.

  • Suprafață de atac mai mică

    FireWire și o serie de module pentru sisteme de fișiere și protocoale de rețea rareori necesare nu pot fi încărcate automat, astfel încât un dispozitiv conectat sau un pachet primit nu poate aduce cod pe care acest calculator nu îl folosește niciodată.

  • Unic de la prima pornire

    Identificatorul mașinii și cheile SSH de gazdă se generează pe calculatorul instalat. O cheie de gazdă identică la toate instalările ar face verificarea gazdei inutilă.

  • Fără telemetrie

    Serviciile de raportare a erorilor și a statisticilor de utilizare nu se află în imagine. Telemetria Firefox, studiile, Pocket și conținutul sponsorizat sunt dezactivate prin politică, iar protecția împotriva urmăririi este activă.

  • Protecție USB

    USBGuard este instalat, deci un dispozitiv conectat cât timp ecranul este blocat nu primește încredere. Implicit dezactivat; se pornește cu un singur buton, din pagina Securitate.

  • Parola de urgență

    O a doua parolă, care face altceva decât să vă autentifice. Regimul de ștergere distruge cheile LUKS ale discului și oprește calculatorul; regimul-momeală deschide o sesiune goală și o îngheață după cinci minute. Implicit dezactivată, cere parola adevărată la configurare și nu poate fi aceeași cu ea.

  • Parolă pentru meniul de pornire

    O găsiți în pagina Securitate, pentru că oricine poate reporni calculatorul ar putea altfel să umble în meniul de pornire și să deschidă o consolă root.

  • Cereri de parolă limpezi

    Fiecare utilitar MoonLight are o acțiune polkit cu nume, așa că o cerere de parolă spune cu ce sunteți de acord.

Captură de ecran din MoonLightOS
Captură de ecran făcută la o pornire reală a imaginii instalate, nu un montaj.

Pe calculatoare cu puțină memorie

Memorie comprimată (zram)Jumătate din RAM, până la 8 GB, compresie zstd, prioritate 100. Aproximativ 3:1 pe paginile de memorie ale unui desktop.
Reglarea interschimbuluiValoarea implicită a nucleului, 60, presupune că o mutare în swap înseamnă un acces la disc. Cu zram, înseamnă o copiere în memorie.
Protecție la epuizarea memorieiIntervine la 4 % memorie liberă și trimite SIGKILL la 2 %. Nu oprește niciodată Cinnamon, Xorg, LightDM sau Nemo; oprește mai întâi Firefox, Thunderbird, Code, LibreOffice și compilatoarele.
Fără indexareFără tracker și fără scanarea discului în fundal.
Reglare grafică automatăLa autentificare, sistemul se uită la motorul de randare OpenGL. Dacă este llvmpipe sau un alt motor pe software, animațiile se opresc. Dacă hotărâți altfel mai târziu, alegerea dumneavoastră nu mai este schimbată.
GRUBCere un mod grafic modest, cu variante de rezervă, ca meniul să apară și într-o mașină virtuală cu puțină memorie video.
SquashfsComprimat cu zstd, ca sesiunea live să se încarce repede de pe un stick USB.

Limbi

Asistentul de la prima pornire propune, într-o listă scurtă, engleză (americană și britanică), italiană, franceză, germană, spaniolă, portugheză braziliană, olandeză, poloneză și rusă, iar restul localizărilor se află la „Mai multe limbi”. Aranjamentul tastaturii urmează limba aleasă, așa că la pasul al doilea este de obicei de ajuns un clic pe Înainte.

Toate aplicațiile MoonTools, 774 de șiruri în total, sunt traduse în acele opt limbi, pe lângă engleză, iar construirea eșuează dacă un program are un șir vizibil netradus. Pachetul de limbă italiană și dicționarele LibreOffice se află pe imagine, așa că o instalare fără internet în Italia iese complet localizată; celelalte pachete de limbă se descarcă cu un clic.

Utilitarele din linia de comandă rămân intenționat în engleză: ce afișează ele se citește alături de documentație și se lipește în rapoarte de problemă, iar asta merge mai ușor într-o singură limbă.

Captură de ecran din MoonLightOS

Decizii de proiectare care merită știute

  • Temele GTK importă Adwaita și o recolorează.

    O temă scrisă de mână se strică la fiecare widget nou adăugat în GTK. Aceasta moștenește corecturile făcute în GTK.

  • Pagina Informații de sistem din Cinnamon este deviată, nu ștearsă.

    Astfel, o actualizare de Cinnamon nu o poate aduce din nou, pe nesimțite, lângă a noastră, iar la dezinstalarea pachetelor MoonLightOS ea își reia locul curat.

  • Squashfs păstrează propria copie a nucleului.

    Programul de instalare copiază pe disc exact acest squashfs. Dacă s-ar scoate /boot din el, s-ar instala un sistem care nu poate porni.

  • Tema de pornire se numește moonlightos, nu moonlight.

    Pachetul desktop-base din Debian aduce deja o temă Plymouth numită moonlight, iar o actualizare ar înlocui animația fără să spună nimic.

  • uBlock Origin vine în imagine, nu se descarcă.

    O politică îndreptată spre addons.mozilla.org instalează extensia abia la prima pornire a Firefox cu o conexiune funcțională. Aici extensia se află pe imagine, iar dumneavoastră o puteți dezinstala oricând.

  • Docker Engine, nu Docker Desktop.

    Pe Linux, Docker Desktop rulează motorul într-o mașină virtuală proprie, adică un al doilea nucleu și un al doilea buget de memorie pe un laptop.

  • Stivele grele de dezvoltare sunt opționale.

    Mașinile virtuale, PHP cu baze de date și LaTeX sunt la un clic în Bun venit, în loc de un gigabait pe care l-ar căra orice instalare.