Widget sulla scrivania
Un orologio grande e un monitor di processore, memoria e disco sono già sulla scrivania. Un calendario e le note adesive, salvate come testo semplice mentre scrivi, si aggiungono con un clic destro.
Tutto quello che c'è nell'immagine, e il perché di ogni scelta.
Ubuntu ha il repository più ampio e il supporto hardware più completo fra tutte le basi Linux. Il solo pacchetto linux-firmware copre la grande maggioranza dell'hardware in circolazione — schede Wi-Fi, Bluetooth, grafiche e chipset — e ubuntu-drivers-common gestisce correttamente le schede NVIDIA. Secure Boot funziona subito perché lo shim e il GRUB firmati da Canonical sono nel repository e il kernel è firmato. In più la base riceve dodici anni di aggiornamenti di sicurezza.
Il desktop di Ubuntu è la parte che valeva la pena sostituire: è pesante e non ha né un pulsante Start, né le icone sulla scrivania, né una barra delle applicazioni. Cinnamon ha tutte e tre le cose. MoonLightOS parte quindi da una base minima e vi costruisce sopra il desktop. Del desktop di Ubuntu non viene installato nulla, e niente di ciò che l'utente vede fa riferimento alla base.
Una cosa è lasciata volutamente com'è: il nome in codice della release che apt vede resta “resolute”, perché i PPA e tutto ciò che usa lsb_release dipendono da quel nome. Il nome con cui il sistema si presenta davvero viene da /etc/os-release.
Un solo pannello in basso, alto 52 pixel. Il pulsante Start e la casella di ricerca sono a sinistra, le applicazioni aperte al centro con le icone più grandi del pannello, l'area di stato a destra. Il menu mostra la tua foto, il tuo nome e se puoi amministrare il computer, e la sua casella di ricerca trova applicazioni, impostazioni, file e risultati dal web.
Un solo pannello in basso. Nel dock trovi anche le applicazioni preferite, quindi non c'è una seconda fila di icone di avvio.
Una barra sottile in alto per l'orologio e le icone di stato, e un dock in basso che si nasconde da solo.
Una sola barra sottile in alto. Occupa il minimo di spazio sullo schermo ed è la soluzione più leggera sulle schede grafiche datate.
Entrambi i temi vengono generati da un unico script a partire da un'unica tavolozza di colori, e coprono GTK 2, 3 e 4, la shell di Cinnamon e i bordi delle finestre. I temi GTK importano Adwaita e ne cambiano i colori, così i nuovi widget e le correzioni upstream arrivano da soli. Il tema delle icone si basa su Papirus e sostituisce solo le icone che identificano la distribuzione. Il colore in evidenza si può cambiare in Scrivania e dock.
Chiaro dalle 07:00 e scuro dalle 19:00, come impostazione predefinita. Un piccolo servizio in secondo piano tiene il tema allineato con l'orario.
Un orologio grande e un monitor di processore, memoria e disco sono già sulla scrivania. Un calendario e le note adesive, salvate come testo semplice mentre scrivi, si aggiungono con un clic destro.
Il logo resta fermo mentre la luce intorno pulsa. Due immagini dell'alone, con cicli di 2,6 e 3,1 secondi, si sfasano continuamente, così il bagliore non sembra mai meccanico. Entrambe vengono generate dalla grafica originale durante la build, e lo stesso logo con lo stesso alone compare nel menu di GRUB, nella schermata di accesso, nell'installatore, nella pagina Informazioni e nella presentazione di benvenuto.
Inter per l'interfaccia, JetBrains Mono per il codice e Noto per tutto il resto, compresi cinese, giapponese, coreano ed emoji a colori.
Cinque scene fotografiche con un pinguino, un lago e una luna crescente, più una coppia generata, uno sfondo diurno e uno notturno. Questa release esce con “Tramonto sul lago”.
Windows e macOS usano scorciatoie da tastiera diverse per quasi tutto. Dato che le due serie non vanno quasi mai in conflitto, MoonLightOS le supporta entrambe: il tasto Super segue le convenzioni di Windows e il tasto Ctrl quelle del Mac.
| Azione | Se vieni da Windows | Se vieni da macOS |
|---|---|---|
| Aprire il menu | Super | Super |
| Cercare | Super+Spazio | Super+Spazio |
| File | Super+E | — |
| Bloccare lo schermo | Super+L | Ctrl+Super+Q |
| Mostrare la scrivania | Super+D | Ctrl+Super+D |
| Affiancare una finestra a metà schermo | Super+Sinistra / Destra | — |
| Massimizzare / ripristinare | Super+Su / Super+Giù | Alt+F10 / Alt+F5 |
| Minimizzare | Super+H | Alt+F9 |
| Chiudere una finestra | Alt+F4 | Super+Q |
| Schermo intero | Super+F | Ctrl+Super+F |
| Passare da una finestra all'altra | Alt+Tab, Super+Tab | Alt+Tab |
| Finestra successiva della stessa applicazione | Alt+` | Super+` |
| Tutte le finestre | Super+W | Ctrl+Su |
| Tutte le aree di lavoro | Super+S | Ctrl+Giù |
| Cambiare area di lavoro | Ctrl+Alt+Sinistra / Destra | Ctrl+Sinistra / Destra |
| Spostare una finestra in un'altra area di lavoro | Ctrl+Maiusc+Alt+Sinistra / Destra | Ctrl+Maiusc+Sinistra / Destra |
| Impostazioni | Super+I | Super+, |
| Monitor di sistema | Ctrl+Maiusc+Esc | — |
| Eseguire un comando | Super+R, Alt+F2 | — |
| Terminale | Ctrl+Alt+T | Ctrl+Alt+T |
| Browser | Super+B | Super+B |
| Calcolatrice | Super+C | Super+C |
| Mixer ed equalizzatore | Super+A | Super+A |
| Cronologia degli appunti | Super+V | Super+V |
| Note | Super+N | Super+N |
| Convertire file | Super+Maiusc+C | Super+Maiusc+C |
| Schermata di tutto lo schermo | Stamp | Maiusc+Super+3 |
| Schermata di un'area | Maiusc+Stamp | Maiusc+Super+4 |
| Schermata di una finestra | Alt+Stamp | — |
| Pannello di cattura e registrazione | Ctrl+Maiusc+Stamp | Maiusc+Super+5 |
| Terminare la sessione | Ctrl+Alt+Canc | — |
Portando il puntatore nell'angolo in alto a sinistra si apre la panoramica delle finestre. Il tasto Super da solo apre il menu, e Super+Spazio lo apre con il cursore già nella casella di ricerca.
apt, snap e Flatpak sono tutti installati, e GNOME Software li elenca tutti e tre: prima gli snap, poi i pacchetti del repository di Ubuntu, infine Flathub. Un pacchetto .deb è sempre la scelta più leggera, e Flathub copre tutto il resto.
L'applicazione Snap Store è a sua volta uno snap, con dipendenze che arrivano a circa un gigabyte: troppo per un'immagine pensata per computer con 2 GB di RAM. Lo store può quindi elencare e installare gli snap fin dal primo avvio, e un servizio scarica l'applicazione Snap Store non appena c'è una connessione.
La pagina Applicazioni nelle impostazioni mostra che cosa è installato, da quale dei tre formati proviene ogni applicazione e se qualcosa è installato due volte.
Scelte perché un desktop per tutti gli usi funzioni fin dal primo avvio, anche senza connessione a internet.
Firefox (la versione ufficiale di Mozilla, con uBlock Origin incluso come estensione locale, quindi disponibile anche offline), Thunderbird, Geary, Transmission
LibreOffice Writer, Calc, Impress e Draw; Evince; Editor di testo di GNOME; Xournal++; PDF Arranger; MoonLight PDF; Calendario; Orologi; Meteo; Mappe; Calcolatrice
VLC; Celluloid; Rhythmbox; GStreamer con libav, i set di plugin “bad” e “ugly” e VA-API, così H.264, H.265 e AAC si riproducono in ogni applicazione
GIMP; Drawing; Eye of GNOME; MoonLight Export; Simple Scan; Visualizzatore di caratteri; Schermata
GNOME Software; Monitor di sistema; Dischi; GParted; Analizzatore di utilizzo del disco; Timeshift; Redshift; File Roller; Seahorse; Blueman; Stampanti; MoonLight Tweaks
NetworkManager con OpenVPN, OpenConnect (Cisco AnyConnect, GlobalProtect, Fortinet), L2TP, PPTP, SSH e supporto WireGuard integrato
Visual Studio Code; gcc, g++, make, gdb; git, git-lfs; cmake, meson, ninja; Python 3 con pip, venv, NumPy e OpenCV; Node.js e npm; Rust e Cargo; Go; OpenJDK 21 con Maven e Gradle; Docker Engine, Compose v2 e Buildx; SQLite
Terminale di GNOME; bash, zsh e 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 con supporto a 32 bit, winetricks, DXVK (da Direct3D 9 a 11) e VKD3D (Direct3D 12)
Il set completo di linux-firmware, i microcodici Intel e AMD e fwupd per aggiornare il firmware.
Mesa con Vulkan, VA-API e VDPAU per Intel e AMD. Il driver NVIDIA è incluso nella ISO, quindi si può attivare dalla pagina Driver anche senza connessione a internet.
Più di cinquanta driver wireless nel kernel, più i driver broadcom-sta e r8168 compilati con DKMS per i chip che i driver standard gestiscono male.
CUPS con il set completo di driver, stampa su PDF, SANE e Simple Scan.
BlueZ, Blueman e i codec Bluetooth di PipeWire, con una pagina delle impostazioni che dice chiaramente quando il computer non ha un modulo Bluetooth.
PipeWire con WirePlumber, compatibilità con PulseAudio e un equalizzatore a dieci bande integrato.
power-profiles-daemon, thermald, la percentuale della batteria nel pannello, tocco per fare clic e scorrimento naturale già attivi, supporto per dispositivi Wacom e Synaptics.
Gli strumenti guest per VirtualBox, QEMU/SPICE e VMware sono inclusi, così lo schermo si ridimensiona e gli appunti sono condivisi.
fprintd, libfprint e il loader TOD sono installati e integrati con PAM. MoonLight Impronta digitale riconosce il sensore e ti guida nella registrazione.
Sblocco con il volto basato su OpenCV per la schermata di accesso, il blocco schermo e sudo. Disattivato finché non lo attivi tu.
Tutto ciò che segue è già attivo su un sistema MoonLightOS installato.
Firmware → shim di Canonical → GRUB firmato → kernel firmato. Impostazioni → Informazioni mostra se è attivo sul tuo computer.
La cifratura dell'intero disco con LUKS2 è una semplice casella da spuntare nell'installatore.
ufw è attivo: le connessioni in entrata sono bloccate e quelle in uscita sono consentite.
In modalità enforcing, anche per gli snap.
Dal repository di sicurezza di Ubuntu e da packages.mozilla.org, ogni giorno. I kernel e le dipendenze non più usati vengono rimossi, e il computer non si riavvia mai da solo.
Il primo account amministra il computer tramite sudo. Non viene mai impostata una password di root.
Almeno otto caratteri di due tipi diversi. Dopo otto tentativi sbagliati l'account resta bloccato per quindici minuti.
Il kernel è configurato per limitare ciò che i programmi senza privilegi possono scoprire sul sistema e gli uni sugli altri: i puntatori del kernel e i messaggi di avvio sono nascosti, il debug di un altro processo è bloccato e non è possibile caricare un kernel sostitutivo a sistema avviato. Lo stack di rete è irrobustito contro percorsi falsificati e raffiche di connessioni, e gli indirizzi IPv6 vengono ruotati.
FireWire e una serie di moduli per file system e protocolli di rete raramente necessari non possono essere caricati automaticamente: un dispositivo collegato o un pacchetto in arrivo non possono così portare in memoria codice che questo computer non usa mai.
L'identificativo della macchina e le chiavi SSH dell'host vengono generati sul computer installato. Una chiave dell'host condivisa da tutte le installazioni renderebbe inutile la verifica dell'host.
I servizi di segnalazione degli errori e delle statistiche d'uso non sono presenti nell'immagine. La telemetria di Firefox, gli studi, Pocket e i contenuti sponsorizzati sono disattivati da criterio e la protezione dal tracciamento è attiva.
USBGuard è installato, quindi un dispositivo collegato mentre lo schermo è bloccato non viene considerato attendibile. Disattivato per impostazione predefinita; si attiva con un pulsante nella pagina Sicurezza.
Una seconda password che fa qualcosa di diverso dal farti entrare. In modalità cancellazione distrugge le chiavi LUKS del disco e spegne il computer; in modalità esca apre una sessione vuota e la blocca dopo cinque minuti. Disattivata per impostazione predefinita, richiede la tua password vera per essere impostata e non può coincidere con quella.
Proposta nella pagina Sicurezza, perché altrimenti chiunque possa riavviare il computer potrebbe modificare il menu di avvio e aprire una shell di root.
Ogni programma di servizio di MoonLight ha un'azione polkit con un nome, così la richiesta della password dice a che cosa stai acconsentendo.
| Memoria compressa (zram) | Metà della RAM, fino a 8 GB, compressione zstd, priorità 100. Circa 3:1 di compressione sulle pagine di memoria di un desktop. |
|---|---|
| Regolazione dello scambio | Il valore predefinito del kernel, 60, presuppone che lo swap comporti un accesso al disco. Con zram comporta una copia in memoria. |
| Protezione dall'esaurimento della memoria | Interviene al 4 % di memoria libera e invia SIGKILL al 2 %. Non chiude mai Cinnamon, Xorg, LightDM o Nemo; chiude per primi Firefox, Thunderbird, Code, LibreOffice e i compilatori. |
| Nessun indicizzatore | Niente tracker e nessuna scansione del disco in secondo piano. |
| Regolazione grafica automatica | All'accesso il sistema controlla il renderer OpenGL. Se è llvmpipe o un altro renderer software, le animazioni vengono disattivate. Una tua scelta successiva non viene mai sovrascritta. |
| GRUB | Richiede una modalità grafica modesta con alternative di riserva, così il menu compare anche in una macchina virtuale con poca memoria video. |
| Squashfs | Compresso con zstd, così la sessione live si carica velocemente da una chiavetta USB. |
La configurazione iniziale propone un elenco breve con inglese (Stati Uniti e Regno Unito), italiano, francese, tedesco, spagnolo, portoghese brasiliano, olandese, polacco e russo, e raccoglie tutte le altre lingue sotto “Altre lingue”. La disposizione della tastiera segue la lingua scelta, quindi al secondo passaggio di solito basta premere Avanti.
Tutti i MoonTools, 774 stringhe in totale, sono tradotti in queste otto lingue oltre all'inglese, e la build fallisce se un programma contiene una stringa visibile non tradotta. Il pacchetto della lingua italiana e i dizionari di LibreOffice sono inclusi nell'immagine, quindi un'installazione offline in Italia è completamente in italiano; gli altri pacchetti di lingua si scaricano con un clic.
Gli strumenti a riga di comando restano volutamente in inglese: il loro output si legge accanto alla documentazione e si incolla nelle segnalazioni di problemi, e tutto questo è più semplice in una lingua sola.
Un tema scritto a mano si rompe ogni volta che GTK aggiunge un widget. Il nostro eredita le correzioni che arrivano da upstream.
Un aggiornamento di Cinnamon non può rimetterla di nascosto accanto alla nostra, e se si rimuovono i pacchetti di MoonLightOS la pagina torna al suo posto senza problemi.
Lo stesso squashfs è quello che l'installatore copia sul disco. Togliergli /boot vorrebbe dire installare un sistema che non si avvia.
Il pacchetto desktop-base di Debian include già un tema Plymouth chiamato moonlight, e un aggiornamento sostituirebbe l'animazione senza avvisare.
Una policy che punta ad addons.mozilla.org installa l'estensione solo la prima volta che Firefox si avvia con una connessione funzionante. L'estensione è inclusa nell'immagine, e resti libero di rimuoverla.
Su Linux, Docker Desktop esegue il motore dentro una macchina virtuale propria, cioè un secondo kernel e una seconda quota di memoria su un portatile.
Macchine virtuali, PHP con i database e LaTeX si installano con un clic da Benvenuto, invece di un gigabyte che ogni installazione si porterebbe dietro.