현상
데스크톱 앱을 실행하면 Dock에 아이콘 없는 검은 타일(초록 exec 글자) 이 하나 더 뜹니다. 이름도 없어서 사용자는 이게 무엇인지 알 수 없습니다.
정체
서버 사이드카입니다.
$ pgrep -P 27090 -l # 27090 = argo.app
27094 node
$ ps -p 27094 -o command
next-server (v15.5.22)
번들 구조:
/Applications/argo.app/Contents/
├── MacOS/
│ ├── app ← Tauri 본체
│ └── node ← 사이드카 (externalBin). Info.plist 없음
└── Resources/
├── icon.icns
└── server/server.js ← 이 node가 실행하는 것
Contents/MacOS/ 안의 실행 파일인데 자기 Info.plist가 없어서, macOS가 아이콘·이름 없는 프로세스로 보고 기본 실행파일 타일을 붙이는 것으로 보입니다. (기제 추정입니다 — 확인된 것은 위 프로세스 관계와 번들 구조입니다.)
왜 고쳐야 하는가 — 사용자가 앱을 죽입니다
정체불명 아이콘이 뜨면 사용자는 우클릭 → 종료를 누릅니다. 그런데 그게 서버라서, 누르면 창은 남아 있고 크루가 전부 응답하지 않는 상태가 됩니다. 어디서 무엇이 끊겼는지 표시가 없으니 원인을 찾을 수 없고, 앱을 껐다 켜는 것 말고는 방법이 없습니다.
즉 단순한 미관 문제가 아니라 사용자가 스스로 앱을 망가뜨릴 수 있는 표면입니다.
제안 — 사이드카를 배경 프로세스로
node 사이드카를 최소 헬퍼 번들로 감싸고 Info.plist에 배경 전용을 지정하는 것이 macOS 표준 방식입니다.
<key>LSBackgroundOnly</key><true/>
<!-- 또는 -->
<key>LSUIElement</key><true/>
이러면 Dock 타일이 사라지고, 사용자가 실수로 종료할 경로도 없어집니다. 서버 실행 방식 자체는 그대로 두면 됩니다.
여의치 않다면 차선으로 타일에 이름과 아이콘이라도 붙는 것만으로도 큰 개선입니다 — 최소한 사용자가 "이걸 끄면 안 되는구나"를 알 수 있습니다.
환경
|
|
| 앱 |
v0.1.34 (com.beyondworks.argo, dmg 설치) |
| macOS |
26.5.2 · Apple Silicon (arm64) |
| 재현 |
앱 실행만 하면 100% |
참고
소스를 직접 고쳐 본 것은 아니라 구현 사정과 안 맞을 수 있습니다. 방향만 참고해 주셔도 감사하겠습니다. 좋은 제품 만들어 주셔서 고맙습니다.
현상
데스크톱 앱을 실행하면 Dock에 아이콘 없는 검은 타일(초록
exec글자) 이 하나 더 뜹니다. 이름도 없어서 사용자는 이게 무엇인지 알 수 없습니다.정체
서버 사이드카입니다.
번들 구조:
Contents/MacOS/안의 실행 파일인데 자기Info.plist가 없어서, macOS가 아이콘·이름 없는 프로세스로 보고 기본 실행파일 타일을 붙이는 것으로 보입니다. (기제 추정입니다 — 확인된 것은 위 프로세스 관계와 번들 구조입니다.)왜 고쳐야 하는가 — 사용자가 앱을 죽입니다
정체불명 아이콘이 뜨면 사용자는 우클릭 → 종료를 누릅니다. 그런데 그게 서버라서, 누르면 창은 남아 있고 크루가 전부 응답하지 않는 상태가 됩니다. 어디서 무엇이 끊겼는지 표시가 없으니 원인을 찾을 수 없고, 앱을 껐다 켜는 것 말고는 방법이 없습니다.
즉 단순한 미관 문제가 아니라 사용자가 스스로 앱을 망가뜨릴 수 있는 표면입니다.
제안 — 사이드카를 배경 프로세스로
node사이드카를 최소 헬퍼 번들로 감싸고Info.plist에 배경 전용을 지정하는 것이 macOS 표준 방식입니다.이러면 Dock 타일이 사라지고, 사용자가 실수로 종료할 경로도 없어집니다. 서버 실행 방식 자체는 그대로 두면 됩니다.
여의치 않다면 차선으로 타일에 이름과 아이콘이라도 붙는 것만으로도 큰 개선입니다 — 최소한 사용자가 "이걸 끄면 안 되는구나"를 알 수 있습니다.
환경
com.beyondworks.argo, dmg 설치)참고
소스를 직접 고쳐 본 것은 아니라 구현 사정과 안 맞을 수 있습니다. 방향만 참고해 주셔도 감사하겠습니다. 좋은 제품 만들어 주셔서 고맙습니다.