Ich wollte wirklich kommentieren, nicht antworten. Aber um genau zu sein, OSX basiert nicht auf BSD, sondern ist eine Weiterentwicklung von NeXTStep. Das NeXTStep-Betriebssystem verwendet den von CMU entwickelten Mach-Kernel. Es war ursprünglich als MicroKernel konzipiert, aber aufgrund von Leistungseinschränkungen entschieden sie schließlich, dass sie den Unix-Teil der API in den Kernel selbst aufnehmen mussten und daher einen BSD-kompatiblen "Server" (ursprünglich dazu gedacht, Anforderungen für BSD-kompatible Kernel-Nachrichten) wurde in den Kernel verschoben, wodurch es zu einem monolithischen Kernel wurde. Es kann in der Programmier-API BSD-kompatibel sein, aber es ist NICHT BSD.
Der Rest des Betriebssystems umfasste ObjectiveC (unter Vereinbarungen zwischen Stepstone und Richard Stallman von GNU/GCC) mit einer GUI, die auf einer Technologie namens "Display Postscript" basiert ... ähnlich wie ein X-Server, aber mit Postscript-Befehlen. OS X änderte Display Postscript zu Display PDF und erhöhte die allgemeinen Hardwareanforderungen um das 1000-fache (NeXT konnte mit 8-16 MB laufen, jetzt brauchen Sie GB).
Aufgrund der engen Vermählung von GCC und Objective C und NeXT wäre Ihre beste Möglichkeit, XCode nativ unter Linux auszuführen, eine Portierung (wenn Sie die Quelle in die Finger bekommen können - viel Glück) unter Verwendung der GNUStep-Bibliotheken. Ursprünglich für NextStep- und dann OpenStep-Kompatibilität entwickelt, habe ich gehört, dass sie jetzt mehr oder weniger Cocoa-kompatibel sind, aber ich habe seit fast 2 Jahrzehnten nicht mehr damit gespielt. Natürlich bringt Sie das nur bis zu ObjC, nicht zu Swift, und ich weiß nicht, ob Apple es OpenSource machen wird.
Die Low-Level-Toolchain für Xcode (die gcc-Compilerfamilie, der gdb-Debugger usw.) ist vollständig Open Source und für Unix- und Linux-Plattformen gleich. Aber die IDE – Editor, Projektmanagement, Indizierung, Navigation, Build-System, grafischer Debugger, visuelle Datenmodellierung, SCM-System, Refactoring, Projekt-Snapshots usw. – ist eine Mac OS X Cocoa-Anwendung und nicht portabel.
Bisher hat niemand Vagrant vorgeschlagen, also hier ist es, Vagrant-Box für OSX
vagrant init https://vagrant-osx.nyc3.digitaloceanspaces.com/osx-sierra-0.3.1.box
vagrant up
und Sie haben eine virtuelle MACOS-Maschine. Aber laut Apples EULA müssen Sie es immer noch auf MacOS-Hardware ausführen :D Aber egal, hier ist einer für alle Geeks, die MacOS gelöscht und Ubuntu installiert haben :D
Leider können Sie die Editoren nicht von innen mit SSH X-forwarding
ausführen Option.