본문으로 건너뛰기

Apple Silicon에서 설정 없이 Omarchy를 실행하는 macOS 앱

GitHub - themartiano/try-omarchy: Try Omarchy on Apple Silicon without any setup. · GitHub

github.com

핵심 요약

  1. Try Omarchy는 ARM64 Arch Linux 이미지, Omarchy Quattro, QEMU와 Apple Hypervisor Framework 기반 가상화 런타임, Swift/AppKit 런처를 하나의 macOS 앱으로 묶는다.
  2. macOS와 Omarchy 사이에서 창 크기와 게스트 해상도, HiDPI 배율, 오디오 입출력, 텍스트·PNG 클립보드, 선택적 폴더 공유를 지원한다.
  3. Apple Silicon과 macOS 15 이상이 필요하며, 비디오 디코딩은 CPU만 사용한다. VM 데이터는 앱과 별도로 유지되고 검증된 업데이트 절차를 거친다.

도입

Try Omarchy는 Apple Silicon Mac에서 Omarchy 데스크톱을 별도 설정 없이 실행하기 위한 독립 오픈소스 macOS 앱이다. 프로젝트가 빌드한 ARM64 Arch Linux 이미지와 고정된 Arch Linux ARM 패키지, 특정 Omarchy 소스 리비전을 사용한다. QEMU는 Apple Hypervisor Framework를 통해 실행되며, Omarchy Quattro와 Swift/AppKit 기반 런처가 함께 제공된다. 공식 Omarchy 또는 Basecamp와 제휴한 프로젝트는 아니다.

상세 요약

프로젝트 구성

Try Omarchy는 Apple Silicon Mac에서 upstream Omarchy 데스크톱을 네이티브 하드웨어 가속 앱처럼 실행한다. macOS 앱 안에 다음 구성 요소를 포함한다.

  • 프로젝트가 빌드한 ARM64 Arch Linux 이미지
  • Omarchy Quattro로 구성한 데스크톱 환경
  • Apple Hypervisor Framework를 사용하는 QEMU 런타임
  • Swift/AppKit 기반의 소형 macOS 런처

게스트 이미지는 고정된 Arch Linux ARM 패키지와 고정된 Omarchy 소스 리비전으로 빌드된다. 프로젝트는 Omarchy와 공식 제휴 관계가 없으며, Basecamp의 공식 제품도 아니다. Omarchy를 사용한 경험과 Linux 환경 재구축 사례는 Omarchy에서 보낸 1년, 맥 없이도 일은 계속됐다에서도 확인할 수 있다.

macOS와 Omarchy 사이의 통합 기능

가상화와 그래픽에는 ARM64 하드웨어 가속과 VirGL을 사용한다. 창 크기를 조절하면 게스트 해상도와 HiDPI 배율이 자동으로 갱신된다. Mac의 오디오 입력과 출력을 Omarchy 안에서 선택할 수 있고, 오디오 라우팅은 실행 중에도 바뀐다. 별도 선택이 없으면 시스템 기본 장치로 되돌아간다.

클립보드는 로그인 후 양방향으로 동작한다.

  • Mac에서 복사한 텍스트와 PNG 이미지는 Omarchy 클립보드에 표시된다.
  • Omarchy에서 복사한 내용은 Mac pasteboard에 들어간다.
  • 실제 복사 동작이 있기 전에는 데이터가 전송되지 않는다.

폴더 공유는 기본적으로 꺼져 있다. 시작 메뉴의 Shared folder 옆 **Choose…**에서 Mac의 폴더 하나를 선택하면 Omarchy의 홈 디렉터리 아래에 같은 이름으로 연결된다. Mac의 ~/Work는 Omarchy에서도 ~/Work로 보이며, 공유 폴더에는 읽기·쓰기 권한이 모두 부여된다. 홈 폴더 전체, ~/Library, 시스템 디렉터리는 공유할 수 없다. Turn Off를 선택하면 설정은 유지하면서 다음 실행부터 내보내기를 중단하고, 공유 링크가 차지했던 표준 폴더를 복원한다.

설치와 요구 사항

Releases에서 서명 및 공증된 최신 .dmg를 내려받은 뒤, Try Omarchy.app을 Applications로 드래그해 실행한다. 실행할 때마다 시작 메뉴에서 시작한다. 첫 실행은 Linux를 준비하고 Omarchy 계정을 프로비저닝하므로 더 오래 걸릴 수 있다. macOS의 Command 키를 게스트의 Super 단축키로 연결하려면 접근성 권한을 활성화해야 하며, 마이크 권한은 선택 사항이다.

필요한 환경은 다음과 같다.

  • Apple Silicon Mac(arm64)
  • macOS 15 이상
  • 최초 실행 시 최소 8GB의 여유 공간

현재 비디오 디코딩은 CPU만 사용한다. 따라서 특히 고해상도 영상 재생이 느릴 수 있으며, 개선된 비디오 경로가 개발 중이다.

VM 데이터와 업데이트

일반 실행에서는 ~/Library/Application Support/Try Omarchy/VM/v1 아래에 영구 VM 하나를 유지한다. 앱을 제거하거나 교체해도 이 데이터는 삭제되지 않는다.

새 릴리스가 기존 VM을 마이그레이션할 수 있으면 시작 메뉴의 버튼이 Launch Omarchy에서 Update Omarchy로 바뀐다. 업데이트는 다음 순서로 진행된다.

  1. 기존 VM의 보호된 복제본에서 작업한다.
  2. 서명된 오프라인 패키지와 마이그레이션 페이로드를 검증한다.
  3. 후보 VM을 부팅하고 상태 점검을 수행한다.
  4. 점검을 통과한 경우에만 새 VM을 활성화한다.

업데이트가 중단되거나 실패해도 이전 VM은 그대로 남으며 다시 시도할 수 있다. 저장소가 손상되었거나 모호하거나 호환되지 않는 경우에 사용하는 Factory reset은 별도 확인 절차를 거치는 조치다. 일반적인 릴리스 업그레이드 경로는 아니다.

소스 빌드

개발에는 Swift 6을 포함한 Xcode command-line tools, Homebrew, Python 3, 권한 있는 linux/arm64 컨테이너를 지원하는 Docker 호환 엔진이 필요하다. zstd, pkg-config, GLib, Pixman, libslirp 4.9.3, SDL2 2.32.70도 요구된다. 기본 점검은 make doctor, 런타임 버전 계약 검증은 make runtime으로 수행한다.

첫 전체 빌드와 실행은 make build run으로 시작한다. 이 과정은 고정 소스를 내려받고 수 GB 규모의 게스트를 조립하며 QEMU를 컴파일하므로 시간이 걸릴 수 있다. 이후 빌드는 입력값을 해시하고 기존 산출물을 검증해 변경된 게스트, 런타임, 앱 구성 요소만 다시 빌드한다. 캐시를 무시하려면 make build FORCE=1을 사용한다. 일반적인 후속 실행 명령은 make run이며, 전체 계약 및 네이티브 테스트는 make test로 실행한다.

패키징과 프로젝트 상태

생성물은 dist/ 아래에 모인다. make package는 테스트용 로컬 DMG를 만들며 공증되지 않으므로 배포용이 아니다. make release는 앱과 DMG에 Developer ID 서명을 적용하고 Apple 공증을 수행한 뒤 공증 티켓을 스테이플링한다. 프로젝트는 pre-1.0 단계의 독립 오픈소스 프로젝트이며, 원본 코드는 MIT License로 제공된다.

결론

Try Omarchy는 macOS 앱 형태로 Omarchy를 실행하면서 네이티브 창, 하드웨어 가속 가상화, 오디오 라우팅, 양방향 클립보드, 선택적 폴더 공유를 제공한다. 반면 비디오 디코딩은 CPU 전용이라 고해상도 재생이 느릴 수 있다. 일반 실행에서는 VM이 유지되고, 업데이트는 보호된 복제본과 서명 검증, 부팅 상태 점검을 통과한 뒤 적용된다. 프로젝트는 아직 pre-1.0 단계이며 활발히 개발 중이다.