Das Projekt ravynOS entwickelt eine FreeBSD-Edition, die auf KompatibilitÀt mit macOS abzielt

Nach zwei Jahren Entwicklung wurde die Version 0.5 des Projekts ravynOS veröffentlicht, das ein Betriebssystem auf Basis von FreeBSD entwickelt, das darauf abzielt, mit Anwendungen fĂŒr macOS kompatibel zu sein und eine BenutzeroberflĂ€che im Stil von macOS bereitzustellen. Die Entwicklungen des Projekts werden unter der BSD-Lizenz veröffentlicht. Die GrĂ¶ĂŸe des bootfĂ€higen ISO-Images betrĂ€gt 869 MB (x86_64).

Das Projekt hat als Ziel die Erreichung von KompatibilitĂ€t mit macOS-Anwendungen auf der Ebene von Quelltexten und ausfĂŒhrbaren Dateien. Im ersten Fall wird die Möglichkeit angedeutet, den Code von macOS-Anwendungen fĂŒr die AusfĂŒhrung in ravynOS neu zu kompilieren, im zweiten Fall das Einbetten von Änderungen in den Kernel und die Werkzeuge, um ausfĂŒhrbare Mach-O-Dateien, die fĂŒr die Architekturen x86-64 und arm64 erstellt wurden, auszufĂŒhren. UnterstĂŒtzt werden die Dateisysteme ZFS sowie die in macOS verwendeten FS HFS+ und APFS. Neben den fĂŒr FreeBSD typischen Hierarchien /usr und /usr/local werden spezifische macOS-Verzeichnisse wie /Library, /System und /Volumes erstellt. Die Heimverzeichnisse der Benutzer befinden sich in der Hierarchie /Users. In jedem Heimverzeichnis gibt es ein Unterverzeichnis ~/Library fĂŒr Anwendungen, die die Apple Cocoa-Schnittstelle verwenden.

FĂŒr die KompatibilitĂ€t mit macOS wird eine Teilimplementierung der Cocoa-API und des Objective-C-Runtimes bereitgestellt (im Verzeichnis /System/Library/Frameworks), sowie zusĂ€tzlich modifizierte Compiler und Linker zur UnterstĂŒtzung. Neben der KompatibilitĂ€tsschicht fĂŒr macOS bietet ravynOS auch die Möglichkeit, Linux-Anwendungen auszufĂŒhren, basierend auf der von FreeBSD bereitgestellten Infrastruktur zur Emulation der Linux-Umgebung (Linuxulator).

Anwendungen können als selbstĂ€ndige App-Pakete (App Bundle) im AppImage-Format erstellt werden, die in den Verzeichnissen /Applications oder ~/Applications abgelegt werden. Programme erfordern keine Installation oder Nutzung eines Paketmanagers – es genĂŒgt, die AppImage-Datei per Drag-and-Drop zu verschieben und auszufĂŒhren. Dabei bleibt die UnterstĂŒtzung traditioneller Pakete von FreeBSD erhalten.

Die grafische Umgebung basiert auf einem eigenen Fenster Server, das einen reduzierten kompositen Server labwc verwendet (UnterstĂŒtzung fĂŒr serverseitige Fensterdekorationen und Designs wurde entfernt), wlroots und das Wayland-Protokoll. In den Anwendungen können die Frameworks Qt und Cocoa verwendet werden. Die BenutzeroberflĂ€che nutzt typische Konzepte fĂŒr macOS, wie eine obere Leiste mit einem globalen MenĂŒ, eine identische MenĂŒstruktur, Tastenkombinationen, einen im Stil Ă€hnlichen Dateimanager Filer und UnterstĂŒtzung fĂŒr solche Befehle wie launchctl und open.

Das Projekt ravynOS entwickelt eine FreeBSD-Edition, die auf KompatibilitÀt mit macOS abzielt

In der neuen Version:

  • Das Basissystem wurde auf den Branch FreeBSD 15-CURRENT aktualisiert. Die Nutzung der FreeBSD-Ports wurde eingestellt - alle benötigten Komponenten wurden in das System-Repository ĂŒbertragen.
  • In die Hauptkomponente wurde der Texteditor turbo aufgenommen. Außerdem wurden cmake, gmake, nasm und GNU binutils hinzugefĂŒgt.
  • In den Build-Dateien der Frameworks fĂŒr Cocoa und Objective-C wurde die Möglichkeit hinzugefĂŒgt, Objekte in Unterverzeichnissen zu verknĂŒpfen, um den Transfer von Code aus verschiedenen Unterverzeichnissen in eine Bibliothek zu erleichtern.
  • Die Nutzung des Paket-Repositorys wurde eingestellt, es bleibt jedoch die Möglichkeit, Pakete aus FreeBSD-Repositories im Verzeichnis /usr/local mit dem Befehl pkg zu installieren.
  • Ein neues Build-Utility build.sh wurde hinzugefĂŒgt, das den gesamten Prozess des Systembaus und der Erstellung eines anpassbaren ISO-Images, das im Live-Modus geladen wird, erleichtert.
  • Eine erste Implementierung einer grafischen Dock-Leiste mit einer kleinen Sammlung grundlegender Icons wurde hinzugefĂŒgt. Es gibt Möglichkeiten zur Kennzeichnung von gestarteten Programmen, zur Platzierung von Anwendungs-Shortcuts und zur Anpassung des Desktop-Hintergrunds im macOS-Stil. Der Inhalt der Leiste kann momentan nur durch Bearbeiten der plist-Datei in ~/Library/Preferences konfiguriert werden.
  • Die UnterstĂŒtzung der Klasse NSStatusItem wurde hinzugefĂŒgt, die es Cocoa-Anwendungen ermöglicht, MenĂŒs in die globale Leiste zu verschieben.

Quelle: opennet.ru

Erwerben Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster