È stata pubblicata la versione del progetto ravynOS 0.6, che sviluppa un sistema operativo basato su FreeBSD, mirato a garantire la compatibilità con le applicazioni macOS e a fornire un'interfaccia utente in stile macOS. I progressi del progetto sono distribuiti sotto licenza BSD. La dimensione dell'immagine iso di avvio è di 760 MB (x86_64).
Gli obiettivi dichiarati del progetto includono la compatibilità con le applicazioni macOS a livello di codice sorgente e file eseguibili. Nel primo caso si intende la possibilità di ricompilare il codice delle applicazioni macOS per l'esecuzione in ravynOS, mentre nel secondo si tratta dell'integrazione nel kernel e negli strumenti delle modifiche per eseguire file eseguibili Mach-O, compilati per le architetture x86-64 e arm64.
Tra i file system supportati ci sono ZFS e i file system HFS+ e APFS utilizzati in macOS. Oltre alle gerarchie /usr e /usr/local tipiche di FreeBSD, vengono creati directory specifiche per macOS come /Library, /System e /Volumes. Le directory home degli utenti sono situate nella gerarchia /Users. In ogni directory home c'è una sottodirectory ~/Library per le applicazioni che utilizzano l'interfaccia di programmazione Apple Cocoa.
Per la compatibilità con macOS viene fornita un'implementazione parziale dell'interfaccia di programmazione Cocoa e del runtime Objective-C (collocati nella directory /System/Library/Frameworks), insieme a compilatori e linker modificati per supportarli. Oltre allo strato di compatibilità con macOS, in ravynOS è anche disponibile la possibilità di eseguire applicazioni per Linux, basata su un'infrastruttura di emulazione dell'ambiente Linux offerta da FreeBSD (Linuxulator).
Le applicazioni possono essere confezionate come app-pacchetti autonomi (App Bundle) nel formato AppImage, collocati nelle directory /Applications o ~/Applications. I programmi non richiedono installazione né l'uso di un gestore di pacchetti: basta trascinare con il mouse e avviare il file AppImage. È mantenuto il supporto anche per i pacchetti tradizionali di FreeBSD.
L'ambiente grafico è basato su un proprio sistema di finestre. server, utilizzando un server composito ridotto labwc (con il supporto per la decorazione delle finestre sul lato server e temi rimosso), wlroots e il protocollo Wayland. Nelle applicazioni grafiche possono essere utilizzati i framework Qt e Cocoa. Nell'interfaccia sono presenti concetti tipici di macOS, come la barra superiore con il menu globale, una struttura di menu identica, combinazioni di tasti e un gestore di file simile nello stile a Filer, con supporto per comandi come launchctl e open.
Tra le modifiche rispetto alla versione 0.5:
- Il sistema di base è stato aggiornato alla ramificazione FreeBSD 15-STABLE.
- È stata introdotta un'interfaccia grafica minimalista con una nuova barra superiore SystemUIServer e una barra Dock inferiore.

- È stato incluso un prototipo di emulatore di terminale Terminal.app.

- È garantito l'avvio del gestore di accesso LoginWindow subito dopo il caricamento. Durante il caricamento in modalità live, è possibile accedere al sistema senza password, utilizzando il login liveuser.

- È stata aggiunta la possibilità di disconnettersi dalla sessione grafica con la combinazione di tasti Win-Shift-Q.
Fonte: opennet.ru



