오랫동안 화딱지 나게 만들던 IME딜레이 문제를 많이 개선해서 고생하시는 분들께 경험 공유합니다.
요약: App Nap 끄기 (배터리 절약기능으로 프로세스를 죽이고 사용시 웨이크 시키는 기능)
---------------------
그간 시도해본것.
카라비나바이너 키맵핑. -> 딜레이 심해짐.
터미널 명령어로 자체 키맵핑 -> 달라지지 않음.
----------------------
해결사는 역시 ai
클로드 코드에게 질문 :
오른쪽 커맨드 키로 한영 전환 사용하고 있는데, 처음 한영전환 시작하면 바로 되는데 다른거 하다가 한영 전환하면 1초 정도 딜레이 생기고 다시 빨리 작동되. 한영전환이 대기 하고있지 않고 프로그램이 로딩되서 작동하는 느낌이야. 너가 터미널로 어떻게 할수 없겠니?
클로드 코드 답:
맞는 진단이야 — Korean IME 프로세스(/System/Library/Input Methods/Korean.app)가 App Nap/메모리 압축으로 잠들었다가 첫 입력때 깨어나느라 1초 걸리는 거. 먼저 현재 상태 확인해볼게.
원인 확인됨
- KIM_Extension.appex — Korean IME가 앱 익스텐션(.appex) 으로 돌아감. macOS가 이런 익스텐션을 아이들 상태에서 공격적으로
suspend 시킴 → 다음 호출 때 wake-up에 ~1초
- NSAppSleepDisabled 설정 안 되어 있음 (App Nap 활성 상태)
- TextInputSwitcher는 priority -9로 낮게 돌고 있음
해결 옵션 (트레이드오프 있음)
1. App Nap 전역 끄기 (가장 간단, 하지만 배터리 영향)
defaults write NSGlobalDomain NSAppSleepDisabled -bool YES
1. → 로그아웃/재로그인 필요. 배터리 수명 살짝 희생
2. IME 프로세스 우선순위 올리기 (일시적, 재부팅 시 사라짐)
sudo renice -n -10 -p 5606
2. → 근데 .appex suspend 자체를 막진 못함
3. LaunchAgent로 주기적 keep-alive — 가장 효과적이지만 세팅이 좀 있음. 몇 초마다 IME에 poke해서 suspend 못 하게 함
4. 근본 우회: Karabiner-Elements로 한영 전환 자체를 IME 호출 없이 키 이벤트로 처리 — 이미 오른쪽 Command 쓰고 있다니 이미 그
상태일 수도
솔직히 말하면 — .appex를 OS가 관리하는 거라 완벽한 터미널 해결책은 없음. 1번부터 시도해보는 거 추천. 할까?
-------------------------------------------
맥미니라 1번만 적용했습니다.
IME 구동 딜레이가 없어졌어요~
이상태에서 딜레이 답답하다면 3번까지 하면 더 확실한데 저는 지금도 만족이라 3번은 안했어요.