AWS EC2 Ubuntu 인스턴스에 NICE DCV로 접속해서 개발하는 환경에서, 한글 입력기(kime)를 설치했는데 한 글자만 입력되고 바로 영어 모드로 돌아가는 문제를 겪었습니다.
환경
- Ubuntu (GNOME, X11)
- NICE DCV 2025.0 (웹 클라이언트)
- kime 3.1.1
증상
kime 설치 후 Shift+Space나 Hangul 키로 한글 모드 전환은 되지만, 한 글자만 입력되고 즉시 영어 모드로 돌아감. 예를 들어 “안녕하세요"를 치려고 하면 “ㅇ"만 나오고 나머지는 영문으로 입력됨.
원인 분석
1. kime 설정 파일 문법 오류
시스템 설정 /etc/xdg/kime/config.yaml에서 Shift-Space라고 적혀 있었는데, kime 3.x에서는 S-Space가 올바른 문법입니다.
kime-check
# Config file ... Fail (Can't parse config.yaml: engine.global_hotkeys:
# invalid value: string "Shift-Space", expected Key)
2. GNOME ibus hangul 충돌
GNOME 입력 소스에 ('ibus', 'hangul')이 설정되어 있으면 kime와 충돌합니다.
3. 핵심 원인: DCV 키보드 이벤트 가로채기
위 두 가지를 고쳐도 여전히 한 글자만 입력되는 증상이 계속되었습니다. kime 데몬 로그를 trace 레벨로 켜 봤더니, 한글 모드로 전환된 적이 없었습니다 — 인디케이터는 계속 “Latin"만 표시.
DCV가 키보드 이벤트를 클라이언트 쪽에서 해석한 뒤 서버로 전달하기 때문에, 서버에서 돌아가는 kime가 제대로 키 이벤트를 받지 못하는 것이 근본 원인이었습니다.
해결 방법
1. kime 사용자 설정 생성
/etc/xdg/kime/config.yaml의 문법 오류를 우회하기 위해 ~/.config/kime/config.yaml을 생성합니다.
daemon:
modules:
- Xim
- Wayland
- Indicator
indicator:
icon_color: Black
engine:
default_category: Latin
global_category_state: true
global_hotkeys:
S-Space:
behavior: !Toggle
- Hangul
- Latin
result: Consume
AltR:
behavior: !Toggle
- Hangul
- Latin
result: Consume
Hangul:
behavior: !Toggle
- Hangul
- Latin
result: Consume
Esc:
behavior: !Switch Latin
result: Bypass
latin:
layout: Qwerty
preferred_direct: true
hangul:
layout: dubeolsik
word_commit: false
preedit_johab: Needed
핵심 변경: Shift-Space → S-Space, global_category_state: true
2. GNOME 입력 소스 정리
# ibus hangul 제거, 순수 US 키보드만
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us')]"
# im-config를 kime로 설정
im-config -n kime
3. DCV 서버 사이드 키보드 설정 (핵심!)
/etc/dcv/dcv.conf에 다음을 추가합니다:
[input]
use-server-keyboard-layout='always-on'
이 설정으로 DCV가 키보드 이벤트를 클라이언트에서 해석하지 않고 서버로 그대로 전달합니다.
4. 시스템 환경변수 등록
DCV 세션이 kime 환경변수를 인식하도록 /etc/environment에 추가합니다:
GTK_IM_MODULE=kime
QT_IM_MODULE=kime
XMODIFIERS=@im=kime
5. 적용
sudo systemctl restart dcvserver
DCV 클라이언트에서 재접속하면 한글 입력이 정상 동작합니다.
결과
Right Alt키로 한/영 전환: 정상 동작Shift+Space: DCV 웹 클라이언트가 여전히 가로채서 동작하지 않음Hangul키: 키보드에 따라 다름
DCV 환경에서는 Right Alt가 가장 안정적인 한/영 전환 키입니다.
정리
| 설정 파일 | 변경 내용 |
|---|---|
~/.config/kime/config.yaml | 사용자 설정 생성 (문법 수정 + global_category_state) |
/etc/dcv/dcv.conf | use-server-keyboard-layout='always-on' |
/etc/environment | kime 환경변수 3개 추가 |
| GNOME input sources | ('xkb', 'us') 단일 설정 |
DCV에서 한글 입력이 안 되면, 높은 확률로 DCV가 키 이벤트를 가로채고 있는 것이 원인입니다. use-server-keyboard-layout='always-on'이 핵심 해결책입니다.