작성일: 2026년 5월 Kubuntu 26.04 · Wayland · KDE Plasma KakaoTalk 26.3.1.5062 AMD Ryzen AI MAX+ 395 · Radeon 8060S
Linux에서 카카오톡을 사용하는 방법은 크게 Waydroid(안드로이드 앱)와 Bottles(Wine) 두 가지다.

Waydroid는 최신 버전에서 태블릿 모드 설정이 까다롭고, XAPK 수동 설치와 ARM 번역 레이어(libhoudini/libndk) 설정까지 진입 장벽이 상당하다. 반면 Bottles는 설치가 간단하지만 오랫동안 한글 첫 글자 씹힘 문제가 해결되지 않아 불편했다.

이 글은 그 버그의 근본 원인을 분석하고, 2026년 현재 완전히 해결하는 방법을 정리한다.

시스템 환경

항목세부 내용
OSKubuntu 26.04 (Wayland 세션, KDE Plasma)
CPUAMD Ryzen AI MAX+ 395 (Zen 5)
GPUAMD Radeon 8060S (Mesa/AMDGPU 내장)
IMEFcitx5 + fcitx5-hangul
Localeko_KR.UTF-8

설치 및 설정 단계

1Bottles 설치

Flatpak을 통해 설치한다.

# Flatpak 설치
sudo apt install flatpak

# Flathub 등록
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

# Bottles 설치
flatpak install flathub com.usebottles.bottles
2Fcitx5 환경변수 설정

Flatpak 샌드박스 안에서 Fcitx5가 동작하려면 두 곳에 환경변수를 설정해야 한다.

/etc/environment (로그인 세션 전역 적용, 재로그인 필요)

XMODIFIERS=@im=fcitx
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx

Bottles Flatpak 샌드박스 레벨

flatpak override --user \
  --env=XMODIFIERS=@im=fcitx \
  --env=GTK_IM_MODULE=fcitx \
  --env=QT_IM_MODULE=fcitx \
  com.usebottles.bottles
이것만으로는 부족하다. Bottle을 생성한 뒤 bottle 설정 → Environment Variables에도 동일하게 추가해야 Wine 프로세스까지 확실히 전달된다.
XMODIFIERS=@im=fcitx
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
3Bottle 생성 및 런너 설정

Bottles를 열고 새 bottle을 생성한다.

  • 이름: KakaoTalk (임의)
  • 환경: Application
  • Architecture: win64

런너 선택이 핵심

Bottles 기본 제공 런너만으로는 문제가 생긴다.

런너Wine 버전Themida DRM한글 IME
Soda 9.09.0❌ 오류❌ 버그
Caffe 9.79.7✅ 정상❌ 버그
kron4ek 11.8-staging11.8✅ 정상✅ 정상

kron4ek의 Wine 11.8-staging 빌드를 커스텀 런너로 등록한다.

RUNNERS_DIR="$HOME/.var/app/com.usebottles.bottles/data/bottles/runners"

wget https://github.com/Kron4ek/Wine-Builds/releases/download/11.8/wine-11.8-staging-amd64.tar.xz

tar -xf wine-11.8-staging-amd64.tar.xz -C "$RUNNERS_DIR"
Bottles를 재시작하면 Runner 드롭다운에 wine-11.8-staging-amd64가 나타난다. Bottle 설정에서 이 런너를 선택한다.
4의존성 설치

Bottle 생성 후 Dependencies 탭에서 아래 패키지를 설치한다.

패키지용도
cjkfonts한글 렌더링 (필수)
vcredist2022Visual C++ 런타임
riched20Rich Edit 컨트롤
msfteditRich Edit 4.1
riched20msftedit는 Dependencies 탭에서 설치하면 native, builtin DLL Override가 레지스트리에 자동 등록된다. DLL Overrides 탭에서 수동 설정할 필요가 없다.
5레지스트리 설정

Registry Editor에서 키를 직접 생성한다.

경로: HKEY_CURRENT_USER\Software\Wine\X11 Driver
(키가 없으면 Wine 항목 우클릭 → New Key로 생성)

값 이름종류데이터
InputStyleStringroot
6KakaoTalk 설치

공식 사이트에서 Windows용 설치 파일(KakaoTalk_Setup.exe)을 받은 뒤, Bottle에서 Run Executable로 실행해 설치한다.


한글 첫 글자 씹힘 버그 — 원인 분석

증상

카카오톡 채팅창에서 한글을 처음 입력하면:

  • "메시지 입력" 플레이스홀더가 사라지지 않음
  • 전송 버튼이 비활성 상태 유지
  • 영문자나 공백을 먼저 입력한 뒤 지우면 이후 한글은 정상 동작

원인

Windows 텍스트 필드는 입력 감지를 WM_CHAR 이벤트에 의존한다. 영문 입력은 키 입력 즉시 WM_CHAR가 발생하지만, 한글 IME는 조합 중에 WM_IME_COMPOSITION 이벤트만 발생하고 WM_CHAR는 음절이 확정될 때만 발생한다.

Wine 9.x에서는 이 IME 이벤트 처리가 불완전해 카카오톡이 첫 글자를 감지하지 못했다.

Wine 9.x에서 패치가 불가능했던 이유

2022년에 이 문제를 수정하는 패치(korean-input/issues#14)가 커뮤니티에서 제출됐다. 해당 패치는 dlls/winex11.drv/ime.c, xim.c, dlls/riched20/editor.c를 수정하는 내용이었다.

그러나 Wine 9.x에서 XIM 아키텍처가 완전히 재설계됐다. 기존 패치의 타깃 심볼(bInComposition, XIMLookupChars)이 사라지고, IME 처리 전체가 NtUserMessageCall(WINE_IME_POST_UPDATE) 방식으로 변경됐다. 이 때문에 기존 패치는 적용 자체가 불가능했고 버그가 남아있었다.

해결

2025년 Wine GitLab MR7827에서 한국어/일본어 IME 인라인 모드 처리가 수정됐고, 이 수정이 Wine 11.x 업스트림에 머지됐다.

kron4ek의 Wine 11.8-staging 빌드를 Bottles 커스텀 런너로 사용하면 별도 패치나 DLL 교체 없이 한글 입력이 정상 동작한다.


데스크탑 엔트리 추가 (선택)

앱 런처에서 바로 실행할 수 있도록 등록한다.

# 아이콘 추출
sudo apt install icoutils
ICO="$HOME/.var/app/com.usebottles.bottles/data/bottles/bottles/KakaoTalk/drive_c/Program Files/Kakao/KakaoTalk/resource/icon/icon_kakaotalk_idle.ico"
mkdir -p ~/.local/share/icons/hicolor/256x256/apps
icotool -x -o /tmp/ "$ICO"
cp /tmp/icon_kakaotalk_idle_6_256x256x32.png \
   ~/.local/share/icons/hicolor/256x256/apps/kakaotalk.png

~/.local/share/applications/kakaotalk.desktop 생성:

[Desktop Entry]
Name=KakaoTalk
Name[ko]=카카오톡
Comment=KakaoTalk Messenger
Comment[ko]=카카오톡 메신저
Exec=flatpak run --command=bottles-cli com.usebottles.bottles run -b KakaoTalk -e "C:\\Program Files\\Kakao\\KakaoTalk\\KakaoTalk.exe"
Icon=kakaotalk
Terminal=false
Type=Application
Categories=Network;InstantMessaging;
StartupWMClass=kakaotalk.exe
StartupNotify=true
update-desktop-database ~/.local/share/applications/

정리

항목해결책
Themida DRM 오류kron4ek 런너 사용
한글 폰트 깨짐cjkfonts 의존성 설치
한영전환 안됨Bottle 환경변수에 XMODIFIERS 추가
한글 첫 글자 씹힘kron4ek Wine 11.8-staging 런너 사용
이모지 깨짐⚠️ 미해결 (아래 참고)

Bottles 공식 런너(Caffe, Soda)가 Wine 9.x 기반으로 머물러 있는 동안에는 kron4ek 커스텀 런너가 가장 깔끔한 해결책이다. KakaoTalk 버전이 업데이트돼도 Wine 런너를 교체한 것이므로 한글 입력 문제는 재발하지 않는다.


알려진 한계: 이모지 렌더링

⚠️ 현재 미해결

채팅창 입력 시 이모지(🤗📸👇 등)가 □□로 깨져 보인다. 이는 Wine의 구조적 한계다.

Windows에서 이모지 컬러 렌더링은 DirectWrite가 담당하지만, 카카오톡은 GDI 기반 텍스트 렌더링을 사용한다. Wine의 GDI 레이어는 CBDT(NotoColorEmoji), COLR(Twemoji Mozilla) 등 어떤 컬러 이모지 포맷도 렌더링하지 못한다. SystemLink 폴백 체인 수정, fonts-symbola 아웃라인 폰트, GDI+, allfonts 등 다양한 방법을 시도했으나 모두 효과가 없었다.

이 문제는 Wine 프로젝트에서 GDI의 DirectWrite 통합이 이뤄지기 전까지는 해결이 어렵다.

우회책: 외부(브라우저, 다른 앱)에서 이모지를 포함한 텍스트를 복사(Ctrl+C)해 카카오톡 입력창에 붙여넣기(Ctrl+V)하면 정상 전송된다. 받은 메시지의 이모지는 대화창 표시 영역에서 정상적으로 보인다.

+ Recent posts