Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Cách chạy ứng dụng Mac trên Linux

Cách chạy ứng dụng Mac trên Linux

macOS và Linux chia sẻ nguồn gốc chung. Tuy nhiên, điều đó không nghĩa là ứng dụng có thể chuyển đổi mượt mà giữa hai hệ điều hành. Để chạy ứng dụng Mac trên Linux, bạn sẽ cần máy ảo hoặc lớp chuyển dịch (translation layer).

Chạy máy ảo macOS (Tất cả ứng dụng)

Cách tin cậy nhất để chạy ứng dụng Mac trên Linux là qua máy ảo. Với ứng dụng hypervisor mã nguồn mở miễn phí như VirtualBox, bạn có thể chạy macOS trên thiết bị ảo trên máy Linux. Môi trường macOS ảo hóa cài đặt đúng cách sẽ chạy tất cả ứng dụng macOS không vấn đề.

Cách chạy ứng dụng Mac trên Linux

Ảo hóa desktop như này đòi hỏi RAM đáng kể, nên có thể không chạy mượt trên thiết bị tài nguyên thấp. Đối với máy có cấu hình kỹ thuật, ảo hóa hệ điều hành qua máy ảo VirtualBox là lựa chọn tốt nhất.

Sử dụng lớp chuyển dịch Darling (Chỉ CLI)

Bạn cũng có thể chạy lớp chuyển dịch tên Darling. Nó hoạt động như WINE, tạo môi trường chuyển dịch Windows-cho-Linux cho phép chạy một số ứng dụng Windows trên Linux. Darling cố gắng đạt mục tiêu tương tự giữa macOS và Linux. Vì macOS và Linux cùng chia sẻ cơ sở UNIX, Darling ít tốn tài nguyên hơn WINE, cho kết quả tốt hơn trong nhiều trường hợp.

Hiện tại, Darling chỉ hoạt động với ứng dụng GUI rất đơn giản và vài ứng dụng dòng lệnh. Mặc dù hỗ trợ ứng dụng GUI là mục tiêu của dự án, tính năng chưa được triển khai. Cơ bản, bạn có thể chạy shell macOS trong Terminal tin cậy và có thể hoặc không chạy ứng dụng khác hiệu quả.

Nó cũng chứa lượng code khổng lồ, yêu cầu khoảng 12 GB dung lượng đĩa sau khi build. Nó về cơ bản nhân bản chức năng hệ điều hành macOS. Vì vậy, nếu bạn lo ngại file thực thi từ xa làm hỏng hệ thống, bạn có thể muốn tránh gói cỡ này.

Build và cài đặt Darling

  1. Làm theo hướng dẫn cài đặt để tải phụ thuộc đúng cho distro Linux từ trang Darling Install. Tùy distro, bạn có thể phải chạy lệnh dài.

Ví dụ, cho Ubuntu, chạy lệnh Terminal sau để tải phụ thuộc Darling:

sudo apt-get install cmake clang bison flex xz-utils libfuse-dev libudev-dev pkg-config libc6-dev:i386 linux-headers-generic gcc-multilib libcap2-bin libcairo2-dev libgl1-mesa-dev libtiff5-dev libfreetype6-dev libfreetype6-dev:i386 git libelf-dev libxml2-dev libegl1-mesa-dev libfontconfig1-dev libbsd-dev
  1. Clone kho git Darling về máy:
git clone --recursive https://github.com/darlinghq/darling.git
Cách chạy ứng dụng Mac trên Linux
  1. Thay đổi thư mục vào bản clone Darling:
cd darling
  1. Tạo và build thư mục darling:
mkdir build && cd build
  1. Cấu hình build với cmake:
cmake ..
  1. Build Darling:
make

Quá trình build có thể mất hơn một giờ, tùy tài nguyên máy.

  1. Cài đặt Darling:
sudo make install
  1. Build module kernel Darling darling_mach:
make lkm
  1. Cài đặt darling_mach:
sudo make lkm_install

Chạy ứng dụng macOS trên Linux với Darling

Để truy cập subsystem darling, chạy darling shell. Điều này dùng tiền tố lệnh darling để khởi chạy môi trường shell macOS:

darling shell
Cách chạy ứng dụng Mac trên Linux

Một lần bên trong shell darling, bạn có thể chạy lệnh như thể bạn đang trên hệ thống macOS. Tất cả cài đặt chương trình xảy ra trong shell darling. Chạy lệnh không kết nối Darling sẽ không hoạt động.

Để thử chạy chương trình macOS, trước tiên tải file phù hợp. Bạn muốn lấy file .dmg hoặc .pkg trên máy Linux. Nếu muốn chạy ứng dụng từ Mac App Store, sao chép file .app vào "/Applications/" trên máy Linux rồi khởi chạy qua lệnh shell Darling.

Cài từ DMG

Để cài chương trình từ .dmg, gắn nó với hdiutil trong Darling:

hdiutil attach AppName.dmg

Sao chép ứng dụng vào lưu trữ cục bộ:

cp -r /Volumes/AppName/AppName.app /Applications/

Chạy qua Darling:

/Applications/AppName.app

Cài từ PKG

Để cài từ pkg, dùng installer trong Darling:

installer -pkg foo.pkg -target /

Đặc biệt của Darling, .pkg có thể gỡ cài đặt bằng lệnh uninstaller đi kèm.

Sau khi cài, chạy qua Darling:

/Applications/AppName.app

Kết luận

Darling hoạt động tốt với chương trình dòng lệnh, nhưng hy vọng cuối cùng sẽ hỗ trợ ứng dụng GUI.