피드로 돌아가기
How I repackaged the official Windows Codex MSIX into a working Linux .deb
Dev.toDev.to
DevOps

Windows MSIX 패키지를 Linux .deb로 재구현한 실전 래퍼 전략

How I repackaged the official Windows Codex MSIX into a working Linux .deb

johnohhh12026년 4월 9일8intermediate

Context

Windows 전용 Codex MSIX 패키지를 Linux 환경의 .deb 파일로 변환하려는 시도. 단순한 런타임 교체만으로는 플랫폼 간 바이너리 호환성 문제 해결 불가능. native 모듈 충돌 및 GPU 가속 오류로 인한 실행 실패 발생.

Technical Solution

  • MSIX 내 Windows 전용 native 모듈의 invalid ELF header 오류 해결을 위해 Linux용 Electron 런타임으로 전면 교체
  • GPU 프로세스 사용 불가 문제를 해결하기 위해 --disable-gpu--disable-gpu-compositing 플래그를 적용한 런처 설계
  • 원본 런타임을 그대로 복제하는 대신 공식 Codex 자산만 유지하고 Linux Electron 기반의 경량 래퍼 앱을 구축하는 구조로 전환
  • BrowserWindow를 활용해 https://chatgpt.com/codex를 전용 창으로 로드하는 웹 뷰 기반 아키텍처 채택
  • OS 통합 수준을 높이기 위해 Electron 바이너리를 Codex로 리네임하고 .desktop 파일의 StartupWMClass를 명시적으로 정의
  • 환경 변수 CODEX_WEB_URL을 통해 엔드포인트 변경에 유연하게 대응하는 설정 구조 도입

Key Takeaway

크로스 플랫폼 패키징 시 원본 설계를 강제로 유지하기보다 플랫폼 특성에 맞는 더 얇고 네이티브한 솔루션을 선택하는 아키텍처적 판단의 중요성.


플랫폼 간 바이너리 포팅 시 native 모듈 충돌이 심각할 경우, 런타임 전체 교체 및 웹 뷰 기반의 래퍼 전략을 우선 검토할 것

원문 읽기