Computer >> 컴퓨터 >  >> 시스템 >> Linux

리눅스에서 맥(Mac) 앱을 실행하는 방법

리눅스에서 맥(Mac) 앱을 실행하는 방법

macOS와 Linux는 같은 UNIX 계열의 뿌리를 공유하지만, 그렇다고 해서 애플리케이션이 두 운영체제 사이를 자유롭게 넘나들 수 있는 것은 아닙니다. 리눅스에서 맥 앱을 실행하려면 가상 머신이나 번역 레이어 중 하나가 반드시 필요합니다.

macOS 가상 머신 실행하기(모든 앱 지원)

리눅스에서 맥 앱을 실행하는 가장 확실한 방법은 가상 머신을 이용하는 것입니다. VirtualBox와 같은 무료 오픈소스 하이퍼바이저를 사용하면 리눅스 머신 위의 가상 환경에서 macOS를 구동할 수 있으며, 제대로 설치된 가상화 macOS 환경에서는 모든 macOS 앱을 문제없이 실행할 수 있습니다.

리눅스에서 맥(Mac) 앱을 실행하는 방법

다만 데스크톱 수준의 운영체제를 가상화하려면 상당한 양의 RAM이 필요하기 때문에, 저사양 기기에서는 원활하게 돌아가지 않을 수 있습니다. 충분한 사양을 갖춘 컴퓨터라면 VirtualBox 가상 머신을 통한 운영체제 가상화가 최선의 선택입니다.

Darling 번역 레이어 사용하기(CLI 전용)

WINE과 비슷한 방식으로 동작하는 번역 레이어인 Darling을 사용할 수도 있습니다. WINE이 윈도우 앱을 리눅스에서 실행할 수 있게 해주는 것처럼, Darling은 macOS 앱을 리눅스에서 실행하는 것을 목표로 합니다. macOS와 Linux가 모두 UNIX 스타일의 기반을 공유하기 때문에 Darling은 WINE보다 자원 소모가 적고, 더 많은 상황에서 좋은 결과를 보여줍니다.

현재 Darling은 아주 단순한 GUI 앱과 일부 명령줄 앱만 지원합니다. GUI 앱 지원은 프로젝트의 장기적인 목표이지만 아직 완전히 구현되지 않았습니다. 즉, 터미널에서 macOS 셸을 안정적으로 실행할 수 있는 수준이며, 그 외의 앱은 실행 여부를 장담하기 어렵습니다.

또한 Darling은 방대한 코드를 포함하고 있어 빌드 후 약 12GB의 디스크 공간을 차지합니다. macOS 운영체제의 기능 자체를 복제하는 것이기 때문입니다. 외부 실행 파일이 시스템을 오염시키는 것이 걱정된다면 이렇게 큰 패키지는 신중하게 검토한 후 설치하는 것이 좋습니다.

Darling 빌드 및 설치

1. Darling 공식 설치 페이지에서 사용 중인 리눅스 배포판에 맞는 의존성 패키지 설치 지침을 확인하고 따릅니다. 배포판에 따라 긴 명령어를 입력해야 할 수도 있습니다.

예를 들어 Ubuntu에서는 아래 터미널 명령어로 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

2. Darling 저장소를 로컬 머신으로 클론합니다:

git clone --recursive https://github.com/darlinghq/darling.git
리눅스에서 맥(Mac) 앱을 실행하는 방법

3. 클론한 Darling 디렉터리로 이동합니다:

cd darling

4. 빌드용 디렉터리를 생성하고 진입합니다:

mkdir build && cd build

5. cmake로 빌드를 설정합니다:

cmake ..

6. Darling을 빌드합니다:

make

빌드에는 머신 성능에 따라 한 시간 이상 걸릴 수 있습니다.

7. Darling을 설치합니다:

sudo make install

8. Darling의 커널 모듈인 darling_mach를 빌드합니다:

make lkm

9. darling_mach를 설치합니다:

sudo make lkm_install

Darling으로 macOS 앱 실행하기

Darling 서브시스템에 접근하려면 darling shell 명령어를 실행합니다. 이 명령은 macOS 셸 환경을 시작합니다:

darling shell
리눅스에서 맥(Mac) 앱을 실행하는 방법

Darling 셸에 들어간 후에는 마치 macOS 시스템에서 작업하는 것처럼 명령어를 실행할 수 있습니다. 모든 프로그램 설치는 Darling 셸 내부에서 이루어져야 하며, Darling에 연결하지 않은 상태로 명령어를 실행하면 작동하지 않습니다.

macOS 프로그램을 실행하려면 먼저 해당 파일을 준비해야 합니다. 리눅스 머신에 .dmg 또는 .pkg 파일을 받아두세요. Mac App Store의 앱을 실행하고 싶다면 .app 파일을 리눅스 머신의 "/Applications/" 폴더로 복사한 뒤, Darling 셸 명령어로 실행하면 됩니다.

DMG 파일에서 설치하기

.dmg 파일로부터 프로그램을 설치하려면 Darling 내에서 hdiutil로 이미지를 마운트합니다:

hdiutil attach AppName.dmg

애플리케이션을 로컬 저장소로 복사합니다:

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

Darling을 통해 실행합니다:

/Applications/AppName.app

PKG 파일에서 설치하기

.pkg 파일로부터 프로그램을 설치하려면 Darling 내에서 installer 명령어를 사용합니다:

installer -pkg foo.pkg -target /

Darling만의 특별한 기능으로, .pkg 패키지는 함께 제공되는 uninstaller 명령어로 간편하게 제거할 수 있습니다.

설치가 완료되면 Darling을 통해 실행합니다:

/Applications/AppName.app

마무리

Darling은 명령줄 프로그램과는 잘 호환되며, 앞으로 GUI 애플리케이션까지 지원되기를 기대해볼 만한 프로젝트입니다. 당장 모든 맥 앱을 실행해야 한다면 VirtualBox 가상 머신이, 가벼운 CLI 도구를 시험해보고 싶다면 Darling이 적합한 선택입니다.