chạy các ứng dụng Mac OS X trên Linux


13

Theo bài viết Wikipedia này :

OS X là một loạt các hệ điều hành giao diện đồ họa dựa trên Unix được phát triển và tiếp thị bởi Apple Inc.

vì vậy tôi đã suy nghĩ:

  • Có ứng dụng nào tương tự như Wine nhưng chạy các ứng dụng Mac không?

  • là nó có thể tại để chạy các ứng dụng Mac OS X trên Linux máy?


2
Cách duy nhất là tạo một OS X VM (ví dụ: sử dụng kvmhoặc Virtualbox). Thật không may, sẽ có vấn đề cấp phép khi làm điều đó - Apple không muốn bạn chạy HĐH của họ trên phần cứng không phải của Apple. Tôi không nghĩ họ thậm chí còn bán OS X trên DVD nữa (bạn nên lấy OS X bằng máy Mac của bạn và nâng cấp nó qua internet khi họ bảo bạn).
cas

cảm ơn! Tôi sẽ cấu hình máy ảo trước khi cài đặt?
0x0584

Câu trả lời:


17

Darling ( link ) là một dự án nhằm mục đích trở nên tương tự như rượu vang. Hiện tại nó chỉ chạy một số chương trình OSX dòng lệnh. Vào giữa năm 2019, nó có thể chạy nhiều chương trình dòng lệnh và theo trang chủ của họ dường như đang tiến đến điểm có thể chạy một số phần mềm đồ họa thô sơ. Nó có thể sẽ không chạy những gì bạn muốn, trừ khi nó dựa trên văn bản.

Miễn là các nhà phát triển chương trình OS X phát hành mã nguồn của họ và sử dụng các thư viện đa nền tảng (như QT, GTK, X11, GNUStep hoặc WxWidgets), bạn sẽ có thể biên dịch lại chương trình OS X cho linux. OS X và Linux tương thích nhiều hơn ở cấp API so với cấp ABI.

GNUStep triển khai API ca cao của NeXTStep và OS X. Nó đã hoàn thành một cách đáng kinh ngạc khi tôi dùng thử, xét về khả năng nó dường như có thể làm được bao nhiêu so với việc sử dụng nó trong tự nhiên. GNUStep chỉ hoạt động ở cấp mã nguồn (API), do đó, nó hoạt động nếu một chương trình là nguồn mở và sử dụng GUI GUI của Apple (KHÔNG phải là "Aqua" là độc quyền). Nó phụ thuộc vào việc có thể biên dịch và liên kết mã.

Hãy nghĩ về API, hoặc Giao diện lập trình ứng dụng, giống như bảng điều khiển của ô tô - mọi thứ đều có thể nhìn thấy đối với người lái xe ô tô và bạn có thể vào xe của người khác và tìm thấy bảng điều khiển khác của anh ta một cách dễ dàng.

Hãy nghĩ về ABI, hoặc Giao diện nhị phân ứng dụng, như động cơ của ô tô - nó có thể thay đổi rất nhiều giữa kiểu dáng và mẫu mã, và có lẽ bạn sẽ không thể trao đổi động cơ Chevy của mình thành một chiếc Volvo rất dễ dàng.

Người yêu tương tự sẽ đưa động cơ của Chevy vào khung gầm của Volvo, và việc biên dịch từ nguồn sẽ giống như thoát ra khỏi chiếc Chevy của bạn và vào chiếc Volvo. Một cách đơn giản hơn nhiều so với cách khác theo quan điểm của lập trình viên.

Nhưng Apple có một số thư viện giao diện người dùng độc quyền mà không ai khác cũng có. Nếu nhà phát triển đã sử dụng một trong những thứ này (chẳng hạn như Aqua), bạn sẽ phải chờ đợi và hy vọng rằng Darling lớn lên giống như Wine đã làm hoặc tự mình chuyển nó. Nếu không có mã nguồn được phát hành, sẽ giống như nếu động cơ được tạo ra quá lớn đến nỗi nó không thể vừa với khoang động cơ của Volvo hoặc được thiết kế để kết nối với một chiếc xe dẫn động bánh trước nơi Volvo của bạn là ổ bánh sau. Trừ khi ai đó là một kẻ điên hoàn toàn điên rồ (theo cách tốt nhất có thể), người có nhiều tháng rảnh rỗi và số lượng cống hiến lố bịch, điều đó không có khả năng xảy ra.

Ngoài ra, GNUStep chưa hoàn thành 100% về phạm vi bảo hiểm của API ca cao, do đó, một số dây giày có thể vẫn sẽ cần thiết cho các chương trình phức tạp. Và GNUStep không cung cấp một hệ thống xây dựng tương đương xcode - nghĩa là, nếu nhà phát triển ban đầu chỉ sử dụng hệ thống "xây dựng" của XCode IDE, bạn có thể để lại các tệp tạo tệp cho nó. Đây là phần khó chịu nhất đối với tôi, vì trong khi tôi có kinh nghiệm biên dịch và liên kết phần mềm, thật khó để đánh bại thông tin hữu ích theo định dạng như .xcodeproj mà tôi không có kinh nghiệm phụ trợ trước đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.