ChromeOS (e FydeOS): i tre Linux

Un breve articolo per chiarire quello che sembra essere una incomprensione piuttosto comune, il rapporto fra ChromeOS e Linux.
ChromeOS, esattamente come Android, è a tutti gli effetti una distribuzione Linux.

Tralasciando Android, che non è interessante ai fini di questo articolo, occupiamoci del restante che è ciò che l’utente interpreta come “vero Linux”.
Come abbiamo visto dalle puntate precedenti, ChromeOS mette a disposizione bel TRE ambienti Linux, ciascuno con caratteristiche proprie e diversa destinazione d’uso.

Il primo, quello destinato all’utenza più comune, è Crostini.
Crostini è una Virtual Machine nella quale l’utente può installare una distribuzione completa del suo kernel.
Come tutte le Virtual Machine si tratta di un ambiente molto sicuro perchè totalmente isolato dal resto della macchina, con risorse (tipicamente directory) che possono essere facilmente assegnate o revocate tramite un click di mouse, ed anche molto amichevole, visto che tutto il software installato viene automaticamente integrato nello Shelf.
La situazione, sotto il punto di vista del funzionamento, è molto simile a quella che si avrebbe installando un Linux su VmWare, VirtualBox, WSL 2 etc etc.
In realtà vengono usati KVM ed LXD, ma l’utente finale non ha necessità di conoscere questi dettagli.
Crostini è sicuramente la soluzione più indicata per l’utenza comune.

Il secondo metodo per usare Linux è Crouton.
L’esecuzione in Virtual Machine di Crostini è sì molto sicura ed amichevole ma per l’utenza più evoluta presenta quattro problemi: dal momento che l’ambiente Linux viene eseguito in Virtual Machine non c’è possibilità di controllo diretto dell’hardware, le prestazioni sono leggermente penalizzate, il sistema di virtualizzazione consuma un po’ di tempo di CPU per il suo funzionamento, l’ambiente grafico è sì perfettamente omogeneo con il resto di ChromeOS ma non si può andare oltre quello.
Crouton consente di superare questi quattro problemi consentendo di installare ed eseguire una distribuzione Linux direttamente sul kernel del ChromeOS senza alcuna Virtual Machine.
Per ragioni di sicurezza il Linux installato tramite Crouton viene isolato tramite chroot, quindi viene visto un ilesystem apparentemente dedicato sul quale, per comodità, possono venir montati segmenti del filesystem reale (ad esempio le cartelle dei download, documenti, foto etc etc).
Qui siamo sulla macchina e sul kernel reali, non virtualizzati come Crostini, quindi la flessibilità è totale; come abbiamo visto nella puntata precedente si può usare Wayland per avere un ambiente grafico integrato con il resto del ChromeOS, si può usare direttamente X per ottenere la massima velocità grafica, si può distruggere il sistema formattando il disco di lavoro etc etc.
Su Crouton si può scegliere liberamente se lanciare l’intero ambiente grafico (nel mio caso xfce4) o avviare le singole applicazioni, magari creando manualmente delle macro di avvio (che in linea di principio potrebbero essere inserite nello Shelf).
Alla lunga per l’utenza evoluta l’impiego di Crouton può rivelarsi perfino più pratico ed immediato di Crostini.
Con qualche cautela, l’uso di Crouton è adatto anche all’utenza ordinaria che vuole ottenere qualcosa in più dalla macchina.

Per finire c’è la distribuzione Gentoo che fa da base all’intero sistema, che così come viene fornita con ChromeOS o FydeOS non ha alcuna utilità pratica perchè è stata privata della maggior parte dei comandi, lasciando solo il minimo indispensabile a sostenere l’esecuzione del browser, il virtualizzatore di Crostini ed il container di Android.
Tuttavia esiste un modo per dotare il Gentoo base di un installatore di pacchetti e quindi “popolarlo” con eseguibili adatti a renderlo operativamente utile, e volendo dotarlo perfino di un supporto a Wailand e quindi all’ambiente grafico.
Questo sistema si chiama Chromebrew.
Come nel caso di Crouton, Chromebrew installa software Linux eseguibile direttamente sul kernel reale della macchina, ma a differenza di Crouton non lo isola con un chroot.
Questo da un lato rappresenta un vantaggio, perchè rende visibile l’intero filesystem, ma dall’altro lo rende terribilmente pericoloso.
Dopo un po’ di utilizzo sono giunto alla conclusione che Chromebrew è utile per avere in Gentoo qualche comando supplementare non incluso con i ChromeOS e FydeOS, ma ha veramente poco senso utilizzarlo come ambiente GUI perchè che rispetto a Crouton ci si complica semplicemente la vita senza ottenere alcun beneficio reale.
Chromebrew è decisamente sconsigliato all’utenza ordinaria.

Bene, con queste poche righe spero di aver fatto un po’ di chiarezza.

Federico