반응형

업무용과 개인용 계정을 분리해서 사용하다 보면 같은 앱을 두 개 이상 띄워야 할 때가 많다. 하지만 계정 전환을 지원하지 않는 앱이라면 로그아웃/로그인을 반복해야 한다. 그렇다고 앱 파일을 하나 더 복사하는 것만으로 해결되지 않는다. 앱 파일을 복사해도 원본과 복사본이 같은 데이터 폴더(예: ~/Library/Application Support/앱이름)를 참조하면 로그인 정보와 설정이 그대로 겹칠 수 있기 때문이다.

 

ATBClone은 이런 상황에서 활용할 수 있는 무료 도구다. 앱에 맞는 복제 방식(Soft/Hard Clone)을 적용하고 데이터 저장 위치를 분리하여 여러 계정을 동시에 사용할 수 있도록 지원한다. 공식 문서에 따르면 WeChat, Telegram, Chrome, Cursor 등 33개 이상의 복제 레시피를 제공한다. 실제로 카카오톡, 텔레그램, 제미나이 등 앱을 테스트해 봤는데 모두 잘 작동했고 알림도 받을 수 있었다.

ATBClone을 이용해 카카오톡 앱을 2개 복제한 뒤 실행한 화면(하단 Dock 일부는 모자이크 처리)

 

 

ATBClone 주요 특징


  • 데이터 분리: 복제 앱마다 다른 데이터 저장 경로(예: ~/ATBClone/Data/앱이름) 지정 → 설정·캐시·로그가 섞이지 않도록 격리
  • 이름 변경: 복제 앱 표시 이름 자유롭게 변경 가능(예: KakaoP, KakaoW)
  • 프록시 설정: 복제 앱마다 HTTP/SOCKS5 프록시 개별 지정(예: 업무용/개인용 트래픽을 다른 네트워크로 보내기)
  • 업데이트·삭제 관리: 원본 앱 업데이트 후 기존 데이터 디렉터리를 유지하면서 복제 앱 갱신. 삭제 시 데이터 보존 여부 선택 가능

 

 

다운로드 / 가격


ATBClone은 GPL-3.0 라이선스로 공개된 오픈소스 프로젝트로 누구나 무료로 내려받을 수 있다. 일반 사용자를 위한 GUI 앱은 물론 명령어로 조작하는 CLI 버전도 제공한다. GUI 앱은 한국어 인터페이스도 지원한다.

 

 

 

앱 복제 방식 / 지원 앱


ATBClone은 앱 특성에 따라 Soft Clone과 Hard Clone 두 가지 방식을 사용한다. Soft Clone은 원본 앱을 그대로 두고, 별도의 데이터 폴더나 프로필을 이용해 실행하는 작은 실행용 앱(런처)을 만드는 방식이다. 앱 전체를 복사하지 않으므로 저장 공간을 적게 차지하지만, 실행할 때 원본 앱이 필요하다. Firefox, VSCode, Cursor 같은 복제 앱이 이런 구조로 생성된다.

 

Hard Clone은 앱 전체를 복사한 뒤 같은 앱으로 인식되지 않도록 식별자(Bundle ID)를 변경하고, 데이터 저장 위치를 분리하는 방식이다. 변경한 앱에는 코드 서명(Code Signing)을 다시 적용하고, 필요에 따라 샌드박스 제한이나 중복 실행 방지 로직을 수정하기도 한다. Telegram, Chrome 등 앱이 이 방식을 사용한다.

 

어떤 복제 방식을 사용할지는 앱마다 미리 정해둔 레시피(Recipe)라는 설정 파일에 담겨 있다. 레시피에는 복제 방식뿐 아니라 실행 옵션, 데이터 저장 위치, 필요한 추가 설정 등이 포함된다. 기본 레시피가 없는 앱은 App Prober라는 도구로 앱의 구조와 실행 환경을 분석하여 레시피 초안을 만들 수 있다.

분류 주요 앱
메신저 / 협업 WeChat, WeCom, QQ, Telegram, LINE, Slack, Discord
AI 앱 ChatGPT, Codex, Claude
브라우저 Chrome, Edge, Brave, Firefox, Arc
개발 도구 Cursor, VSCode, Android Studio, Zed

 

참고로 레시피는 아래처럼 YAML 파일로 구성되어 있다. 앱의 Bundle ID와 복제 방식, 데이터 경로 분리 방법, 샌드박스 처리 여부 등 앱 복제시 이 설정을 기준으로 기본값이 적용된다.

bundle_id: org.telegram.desktop
app_name: Telegram Desktop

# 앱 전체를 복사하는 Hard Clone 방식 사용
strategy: hard_clone
app_type: generic

# macOS 샌드박스 제한 제거
strip_sandbox: true

# HOME, 임시 파일 경로를 클론별 데이터 디렉터리로 분리
environment_injection:
  HOME: '{{ATB_DATA_DIR}}/Home'
  TMPDIR: '{{ATB_DATA_DIR}}/Tmp'

# 시스템 Keychain은 기존 경로 그대로 사용
symlink_whitelist:
  - Library/Keychains

 

 

사용 방법


사용 방법은 생각보다 간단하다. 먼저 ATBClone을 실행하고 +새 클론 버튼을 클릭한다.

 

복제할 앱을 선택한다.

 

자동으로 선택된 복제 전략(Cloning)과 주입 모드(Injection Mode)를 확인한다. 주입 모드는 특별한 경우가 아니라면 auto로 선택해도 무방하다.

 

클론 이름(Clone Name), 표시 이름(Display Name)을 지정한다. 예를 들어 내부 이름은 Kakao_Work, 표시 이름(알림 등)은 업무용 카카오처럼 구분할 수 있다.

 

앱과 데이터 저장 위치를 확인하고, 프록시를 설정한다. 별도 프록시가 필요하지 않다면 건너뛰어(다음 버튼)도 무방하다.

앱 저장 위치 지정
데이터 저장 위치 지정
네트워크 프록시 설정

 

마지막 요약 화면을 확인하고 복제 버튼을 클릭한다. 복제한 앱은 기본적으로 사용자 홈 폴더 아래 ATBClone/Apps에 저장되고, 데이터는 ATBClone/Data/클론 이름에 저장된다. 앱이 지원한다면 데이터 저장 위치를 외장 SSD 같은 경로로 지정할 수 있다.

 

[내 클론] 화면 목록을 보면 생성한 복제 앱을 확인할 수 있다. 앱을 선택하고 아래 ▶️ 실행 버튼을 클릭하면 복제 앱이 실행된다. Spotlight(혹은 Alfred)에서 '클론 이름'을 검색해서 실행하는 것도 가능하다. 이론상으론 Spotlight에서 '표시 이름'으로도 검색이 되어야 하지만 현재는 클론 이름으로만 검색할 수 있었다(ATBClone 내부 구현상의 버그로 추정된다).

 

macOS 시스템 설정 > 알림 목록에 복제한 앱의 '표시 이름'이 추가된걸 확인할 수 있다.

 

 

업데이트 / 삭제


원본 앱을 업데이트한 뒤에는 ATBClone에서 복제 앱의 업데이트 버튼을 눌러서 갱신할 수 있다. 기존 데이터 폴더를 유지하면서 업데이트된 원본으로 앱을 다시 만드는 방식이다. 삭제할 때는 앱만 제거하거나 데이터 폴더까지 함께 삭제할 수 있다. 나중에 다시 사용할 여지가 있다면 데이터는 남겨두면 된다.

복제 앱 삭제 시 데이터 디렉터리도 함께 삭제할 수 있다

 

 

마치며


모든 macOS 앱의 복제를 보장하는 것은 아니므로 기본 레시피가 없는 앱이나 보안·샌드박스 구조가 복잡한 앱은 정상적으로 동작하지 않을 수도 있다.

 

사용하는 앱 자체가 계정 전환이나 프로필 기능을 지원한다면 굳이 복제 도구까지 사용할 필요는 없다. 반면 계정 전환을 지원하지 않는 앱을 업무용과 개인용 등으로 구분해서 동시에 띄워두고 싶다면 ATBClone이 꽤 유용한 선택지가 될 수 있다. 앱 파일뿐 아니라 데이터 경로까지 분리해서 관리할 수 있고, 원본 앱 업데이트 후 복제 앱을 다시 갱신하는 과정도 클릭 몇 번이면 될 정도로 간단하다.

반응형