2 min read

Jump Desktop Connect가 Initializing에서 멈출 때

Jump Desktop Connect를 실행했을 때 "Initializing..." 화면에서 무한 대기하는 문제가 있다. 네트워크를 바꿔도, 앱 데이터를 지워도 해결되지 않고 재설치만 하면 된다. 그 이유와 재설치 없이 고치는 방법을 정리한다.

증상

  • Jump Desktop Connect 실행 시 "Initializing..." 화면에서 무한 대기
  • 집 Wi-Fi, 핫스팟 등 네트워크 변경과 무관하게 동일하게 발생
  • 앱 데이터/Keychain 삭제로 해결 안 됨
  • 재설치하면 정상 동작

진단

앱 로그를 확인하면 시작 직후부터 Server disconnected: 2가 3초 간격으로 반복된다.

~/Library/Logs/Jump Desktop/Agent_YYYY_MM_DD.log
INFO  [connect_app] Starting in agent mode
ERROR [connect_client] Server disconnected: 2
INFO  [connect_client] Attemping to reconnect to server
ERROR [connect_client] Server disconnected: 2

HTTPS 연결은 정상이다. 여기서 "Server"는 원격 서버가 아니라 로컬 시스템 데몬이다.

원인

Jump Desktop Connect는 두 개의 프로세스로 구성된다.

  • UI 앱 — "Initializing..." 화면을 보여주는 프로세스
  • 시스템 데몬 (com.p5sys.jump.connect.service) — /Library/LaunchDaemons/에 등록된 root 권한 백그라운드 서비스

UI 앱은 이 로컬 데몬에 IPC로 연결한다. 데몬이 미등록 상태이면 연결이 즉시 실패하며 Server disconnected: 2가 반복된다.

재설치 시 패키지 인스톨러가 root 권한으로 데몬을 재등록하기 때문에 정상 동작하는 것이다.

해결

sudo launchctl load /Library/LaunchDaemons/com.p5sys.jump.connect.service.plist

데몬 실행 확인:

sudo launchctl list | grep jump
# 63904   0   com.p5sys.jump.connect.service

PID가 표시되면 성공. 이후 Jump Desktop Connect를 재실행하면 Screen Recording 권한을 다시 요청하고 정상 동작한다.

재발 방지 스크립트

같은 증상이 재발할 경우를 대비해 ~/reset-jump-desktop.sh를 만들어두면 편하다.

#!/bin/bash
set -e

pkill -f "Jump Desktop Connect" 2>/dev/null || true
rm -rf "$HOME/Library/Application Support/com.p5sys.jump.connect"
rm -rf "$HOME/Library/Caches/Jump Desktop"
rm -rf "$HOME/Library/Caches/com.p5sys.jump.connect"
rm -f  "$HOME/Library/Preferences/com.p5sys.jump.connect.plist"

security delete-generic-password -s "Jump Desktop for Mac" -a "Jump Desktop Identity" 2>/dev/null || true
security delete-generic-password -s "Jump Desktop for Mac" -a "Jump Desktop Auth Tokens" 2>/dev/null || true

sudo launchctl unload /Library/LaunchDaemons/com.p5sys.jump.connect.service.plist 2>/dev/null || true
sudo launchctl load /Library/LaunchDaemons/com.p5sys.jump.connect.service.plist

open "/Applications/Jump Desktop Connect.app"
chmod +x ~/reset-jump-desktop.sh
~/reset-jump-desktop.sh