Saya benar-benar ingin berkomentar, bukan menjawab. Tapi tepatnya, OSX tidak didasarkan pada BSD, itu adalah evolusi dari NeXTStep. OS NeXTStep menggunakan kernel Mach yang dikembangkan oleh CMU. Ini awalnya dirancang sebagai MicroKernel, tetapi karena kendala kinerja, mereka akhirnya memutuskan bahwa mereka perlu memasukkan bagian Unix dari API ke dalam kernel itu sendiri dan juga "server" yang kompatibel dengan BSD (awalnya dimaksudkan untuk memproses permintaan untuk yang kompatibel dengan BSD). pesan kernel) dipindahkan ke kernel, menjadikannya kernel Monolitik. Ini mungkin kompatibel dengan BSD di API pemrograman, tetapi BUKAN BSD.
OS lainnya melibatkan ObjectiveC (di bawah pengaturan antara Stepstone dan Richard Stallman dari GNU/GCC) dengan GUI berdasarkan teknologi yang disebut "Display Postscript" ... semacam X Server, tetapi dengan perintah postscript. OS X mengubah Display Postscript menjadi Display PDF, dan meningkatkan persyaratan perangkat keras umum 1000 kali lipat (NeXT dapat berjalan dalam 8-16 MB, sekarang Anda memerlukan GB).
Karena perkawinan dekat GCC dan Objective C dan NeXT, taruhan terbaik Anda untuk menjalankan XCode secara native di Linux adalah dengan melakukan port (jika Anda bisa mengetahui sumbernya - semoga berhasil) menggunakan pustaka GNUStep. Awalnya dirancang untuk NextStep dan kemudian kompatibilitas OpenStep, saya pernah mendengar mereka sekarang lebih-atau-kurang kompatibel dengan Kakao, tetapi saya belum memainkannya selama hampir 2 dekade. Tentu saja itu hanya membawa Anda sejauh ObjC, bukan Swift, dan saya tidak tahu apakah Apple akan membukanya.
Toolchain tingkat rendah untuk Xcode (keluarga kompiler gcc, debugger gdb, dll.) semuanya open source dan umum untuk platform Unix dan Linux. Tetapi IDE--editor, manajemen proyek, pengindeksan, navigasi, sistem build, debugger grafis, pemodelan data visual, sistem SCM, refactoring, snapshot proyek, dll.--adalah aplikasi Mac OS X Cocoa, dan tidak portabel.
Belum ada yang menyarankan Vagrant, jadi ini dia, kotak Vagrant untuk OSX
vagrant init https://vagrant-osx.nyc3.digitaloceanspaces.com/osx-sierra-0.3.1.box
vagrant up
dan Anda memiliki mesin virtual MACOS. Namun menurut EULA Apple, Anda masih perlu menjalankannya di perangkat keras MacOS :D Tapi di mana pun, ini satu untuk Anda semua yang menghapus MacOS dan menginstal Ubuntu :D
Sayangnya, Anda tidak dapat menjalankan editor dari dalam menggunakan SSH X-forwarding
opsi.