Chrome funziona da una finestra del terminale: cos'è il progetto Carbonyl

Un progetto open source realizzato in Rust porta il browser Google sulla riga di comando: cos'è e come funziona Carbonyl.
Chrome funziona da una finestra del terminale: cos'è il progetto Carbonyl

Non c’è molto da disegnare nella finestra del terminale di un qualsiasi sistema operativo: i caratteri sono a larghezza fissa ed è necessario utilizzare apposite sequenze di escape per eseguire azioni come lo spostamento del cursore, la modifica del colore del testo o il tracciamento del puntatore del mouse.
Chi si occupa di programmazione informatica da una vita ricorda certamente lo storico DEC VT100, video terminale lanciato sul mercato nel lontano 1978 che divenne uno standard di fatto per gli emulatori di terminale: comunicava mediante linee seriali utilizzando i caratteri ASCII e le sequenze di escape standardizzate dall’ANSI (American National Standards Institute).

Abbiamo visto come usare caratteri speciali, ad esempio in ambiente Windows, e il ruolo del sistema di codifica Unicode.

Ebbene, uno sviluppatore indipendente è riuscito a portare Chrome nella finestra del terminale abilitando il rendering delle pagine Web e supportando tutte le principali API comprese WebGL, WebGPU, le animazioni, la riproduzione di contenuti audio-video e così via.

Sfruttando la potenza del linguaggio di programmazione Rust, recentemente supportato anche da Chromium, è nato il progetto Carbonyl.

Carbonyl poggia sulla codifica Unicode e utilizza una palette RGB a 24 bit per gestire il rendering di qualunque pagina Web dalla finestra del terminale. È di fatto un browser Web completo che si avvia in meno di un secondo, che non impegna la CPU e che supporta la resa dei contenuti multimediali a 60 frame per secondo.
Carbonyl non richiedere un window server e addirittura funziona utilizzando una connessione SSH.

L’autore del progetto, Fathy Boundjadj, spiega di aver partorito l’idea di Carbonyl per gioco, soprattutto con l’intento di esplorare le potenzialità di Rust: il suo browser basato su riga di comando potrebbe però portare a nuovi interessanti sviluppi.

Come provare Carbonyl e avviare Chrome dalla finestra del terminale

Abbiamo deciso di provare Carbonyl da un sistema Windows 11 con WSL 2 (Windows Subsystem for Linux) precedentemente installato.

Dopo aver installato l’ultima versione di Ubuntu in WSL abbiamo installato Docker Desktop per Windows: Carbonyl, infatti, è disponibile come container.

Abbiamo già visto la procedura per usare Docker in Windows e avviare le applicazioni nei container: invitiamo a fare riferimento al nostro articolo per predisporre l’ambiente utile a eseguire Carbonyl.

A questo punto, dall’immagine di Ubuntu in esecuzione con WSL basta digitare il comando seguente:

docker run -ti fathyb/carbonyl https://www.google.it

Il messaggio “Unable to find image, pulling from fathyb/carbonyl” conferma che è in corso il download del container di Carbonyl.

Dopo qualche istante di attesa verrà aperta la home page di Google nella finestra del terminale: tutti gli elementi sono utilizzabili usando tastiera, mouse, touchpad e schermo touch. Per arrestare l’esecuzione, basta premere semplicemente CTRL+C.

Provate a verificare cosa succede aprendo un video pubblicato su YouTube:

docker run -ti fathyb/carbonyl https://youtube.com

Ti consigliamo anche

Link copiato negli appunti