Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีรันแอป Mac บน Linux

macOS และ Linux มีมรดกเหมือนกัน น่าเสียดายที่ไม่ได้หมายความว่าแอปพลิเคชันสามารถเปลี่ยนระหว่างระบบปฏิบัติการได้อย่างราบรื่น เพื่อรันแอป Mac บน Linux คุณต้องการ Virtual Machine หรือ Translation Layer บางแบบ

รัน Virtual Machine macOS (ทุกแอป)

วิธีที่น่าเชื่อถือที่สุดในการรันแอป Mac บน Linux คือผ่าน Virtual Machine ด้วย Hypervisor ฟรีโอเพนซอร์สอย่าง VirtualBox คุณสามารถรัน macOS บนอุปกรณ์เสมือนบนเครื่อง Linux ของคุณ macOS ที่เสมือน化ได้อย่างถูกต้องจะรันแอป macOS ทั้งหมดโดยไม่มีปัญหา

การเสมือน化 Desktop แบบนี้ต้องการ RAM มาก อาจไม่รันราบรื่นบนอุปกรณ์ทรัพยากรต่ำ สำหรับเครื่องที่มีสเปกเทคนิค การเสมือน化 OS ผ่าน VirtualBox VM เป็นตัวเลือกที่ดีที่สุด

ใช้ Translation Layer Darling (CLI เท่านั้น)

คุณยังสามารถรัน Translation Layer ชื่อ Darling ได้ ทำงานคล้าย WINE ที่สร้างสภาพแวดล้อมแปล Windows ไป Linux ให้รันแอป Windows บางอย่างบน Linux ได้ Darling พยายามทำเป้าหมายเดียวกันระหว่าง macOS และ Linux เนื่องจาก macOS และ Linux แชร์ฐาน UNIX เหมือนกัน Darling จึงใช้น้อยกว่า WINE ให้ผลลัพธ์ดีกว่าในสถานการณ์มากขึ้น

ตอนนี้ Darling ทำงานกับ GUI apps แบบง่ายๆ และ Command-line apps หลายตัวเท่านั้น แม้การรองรับ GUI apps จะเป็นเป้าหมายของโปรเจกต์ แต่ยังไม่ได้ implement กล่าวคือ คุณรัน macOS Shell ใน Terminal ได้อย่างน่าเชื่อถือ และอาจจะรันแอปอื่นได้มีผลหรือไม่ก็ได้

มันยังมีโค้ดปริมาณมหาศาล ต้องการพื้นที่ดิสก์ประมาณ 12 GB หลัง Build มันก็คือการกัดลอกฟังก์ชันของ macOS OS ทั้งหมด ดังนั้น หากคุณกังวลเกี่ยวกับ Executables ระยะไกลทำลายระบบ คุณอาจอยากหลีกเลี่ยงแพ็กเกจขนาดนี้

Build และติดตั้ง Darling

  1. ปฏิบัติตามคำแนะนำการติดตั้งเพื่อดาวน์โหลด Dependencies ที่ถูกต้องสำหรับระบบแจกจ่าย Linux ของคุณจากหน้า Darling Install ขึ้นอยู่กับระบบแจกจ่าย คุณอาจต้องรันคำสั่งยาว
  2. ตัวอย่าง สำหรับ Ubuntu รันคำสั่งเทอร์มินัลต่อไปนี้เพื่อดาวน์โหลด Dependencies ของ 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
  3. โคลน Git Repository ของ Darling ไปยังเครื่องท้องถิ่น:
    git clone --recursive https://github.com/darlinghq/darling.git
  4. เปลี่ยนไดเรกทอรีเข้าไปใน Darling Clone:
    cd darling
  5. Make และ Build ไดเรกทอรี Darling:
    mkdir build && cd build
  6. ตั้งค่า Build ด้วย CMake:
    cmake ..
  7. Build Darling:
    make
    กระบวนการ Build อาจใช้เวลานานกว่าหนึ่งชั่วโมง ขึ้นอยู่กับทรัพยากรเครื่องของคุณ
  8. ติดตั้ง Darling:
    sudo make install
  9. Build Kernel Module ของ Darling คือ darling_mach:
    make lkm
  10. ติดตั้ง darling_mach:
    sudo make lkm_install

รันแอปพลิเคชัน macOS บน Linux ด้วย Darling

เพื่อเข้าถึง Subsystem ของ Darling ให้รัน darling shell ใช้ Prefix คำสั่ง darling เพื่อเปิดสภาพแวดล้อม Shell macOS:

darling shell

เมื่ออยู่ใน Darling Shell แล้ว คุณสามารถรันคำสั่งได้เหมือนอยู่บนระบบ macOS การติดตั้งโปรแกรมทั้งหมดเกิดขึ้นภายใน Darling Shell การรันคำสั่งโดยไม่เชื่อมต่อกับ Darling จะไม่ทำงาน

เพื่อพยายามรันโปรแกรม macOS ให้ดาวน์โหลดไฟล์ที่เหมาะสมก่อน คุณจะต้องการไฟล์ .dmg หรือ .pkg บนเครื่อง Linux หากต้องการรันแอปจาก Mac App Store ให้คัดลอกไฟล์ .app ไปที่ /Applications/ บนเครื่อง Linux แล้วเปิดผ่านคำสั่ง Shell ของ Darling

ติดตั้งจาก DMG

ติดตั้งโปรแกรมจาก .dmg ให้ Mount ด้วย hdiutil ภายใน Darling:

hdiutil attach AppName.dmg

คัดลอกแอปพลิเคชันไปที่ Storage ท้องถิ่น:

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

รันผ่าน Darling:

/Applications/AppName.app

ติดตั้งจาก PKG

ติดตั้งโปรแกรมจาก pkg ใช้ Installer ภายใน Darling:

installer -pkg foo.pkg -target /

เฉพาะ Darling .pkgs สามารถถอนการติดตั้งได้ด้วยคำสั่ง Uninstaller

เมื่อติดตั้งแล้ว รันผ่าน Darling:

/Applications/AppName.app

สรุป

Darling ทำงานได้ดีกับโปรแกรม Command Line แต่หวังว่าจะรองรับ GUI Applications ในที่สุด