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
Member discussion