Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KakaoTalk on Linux — 한글 입력 & 파일 전송까지 고친 카카오톡 설치

리눅스(우분투)에서 카카오톡 데스크톱을, 시스템 안 깨고 + 한글 입력 되고 + 받은 파일이 진짜 다운로드 폴더에 떨어지게 설치합니다. Bottles (Flatpak) 샌드박스 사용.

카카오톡 자체를 까는 건 쉽습니다. 진짜 어려운 건 세 가지예요 — 그걸 다 잡았습니다:

  1. 네이티브 Wine은 시스템을 망가뜨림:i386 패키지 떼거지 + WineHQ apt 소스가 우분투 패키지 시스템을 오염시킴. → Bottles/Flatpak 완전 격리로 회피.
  2. 한글이 안 쳐짐 — Wine + IBus 조합의 고질병. → 3중 픽(XMODIFIERS / InputStyle / 코드페이지)으로 해결.
  3. 받은 파일이 샌드박스에 갇힘 — Flatpak이 호스트 폴더 접근을 막음. → 다운로드 폴더만 열고 기본 저장폴더를 심볼릭으로 연결.

테스트 환경: Ubuntu 24.04 (GNOME). Bottles(Flathub), DXVK 2.7.1 / vkd3d-proton 3.0.1, 런너 sys-wine.


빠른 시작

git clone https://github.com/cateyelow/kakaotalk-linux
cd kakaotalk-linux
./install.sh

install.sh는 전부 멱등(idempotent) 이라 여러 번 돌려도 안전합니다. 호스트에 가하는 변경은 apt 패키지 몇 개(flatpak, ibus-hangul, fonts-noto-cjk, zstd, curl)뿐 — :i386 패키지는 0개 추가합니다.

이미 Bottles로 카톡을 깔아놨고 고치는 부분만 필요하면:

./fix-korean-input.sh     # 한글 입력 3중 픽
./fix-file-transfer.sh    # 받은 파일 → 다운로드 폴더

고친 뒤에는 카톡을 완전히 재시작해야 적용됩니다: flatpak kill com.usebottles.bottles 후 다시 실행.


요구사항

  • Debian/Ubuntu 계열 (apt) — install.sh가 자동으로 깔아줍니다. 다른 배포판은 의존성을 직접 깔고 KT_SKIP_APT=1 ./install.sh.
  • GNOME + IBus + ibus-hangul, 그리고 한국어 입력 소스 추가 (설정 → 키보드 → 입력 소스 → "한국어 (Hangul)").
  • X11 세션 권장. Wayland 세션도 XWayland 통해 동작하지만 환경에 따라 다를 수 있음.

세 가지 핵심 픽 (왜 이게 필요한가)

1. 안전한 설치 — Bottles 샌드박스

네이티브 Wine을 apt로 깔면 dpkg --add-architecture i386 + WineHQ 저장소 + 수십 개 :i386 패키지가 딸려와 우분투 패키지 시스템을 망가뜨리기 쉽습니다 (한 번 겪으면 트라우마). Bottles는 모든 걸 Flatpak 샌드박스 안에 가둡니다. 유일한 호스트 변경은 apt 패키지 몇 개.

설치의 최대 함정: bottles-cli new는 로컬 컴포넌트 폴더(dxvk, vkd3d)에 항목이 0개보다 많아야 bottle을 생성합니다. 그런데 CLI 첫 실행은 컴포넌트 카탈로그를 비동기로 받다 레이스로 실패합니다. → install.sh는 DXVK·vkd3d를 GitHub 릴리스에서 직접 받아 로컬에 풀어 넣고 나서 bottle을 만듭니다.

2. 한글 입력 — 3중 픽 ⭐ (이 repo의 핵심)

증상별로 세 겹을 다 깔아야 비로소 한글이 카톡에 정확히 입력됩니다. 각 변경 후 Wine 재시작 필수 (winex11.drv가 시작 시점에 로케일/InputStyle을 읽음):

# 증상 원인
1 IBus 연결 자체가 안 됨 Bottles가 Limit_System_Environment로 호스트 env를 다 막아 Wine에 XMODIFIERS가 없음 bottle 환경변수에 XMODIFIERS=@im=ibus (+GTK_IM_MODULE/QT_IM_MODULE=ibus) 명시
2 자모가 삼켜지고 커밋 안 됨 Wine 기본 XIM 입력 스타일이 조합 결과를 앱에 안 넘김 레지스트리 HKCU\Software\Wine\X11 Driver InputStyle=root
3 한글이 전부 ?로 나옴 X 로케일 인코딩(UTF-8)과 Wine ANSI 코드페이지(949/EUC-KR) 불일치 bottle 환경변수에 LC_CTYPE=ko_KR.euckr

fix-korean-input.sh가 이 셋을 멱등하게 적용합니다.

3. 파일 전송 — 샌드박스 → 다운로드 폴더

Flatpak 샌드박스는 기본적으로 호스트 파일시스템 접근 권한이 0 입니다. 그래서 카톡에서 받은 파일을 "저장"하면 샌드박스 안 prefix에 갇혀 파일관리자에 안 보입니다. fix-file-transfer.sh가:

  1. 다운로드 폴더 1개만 샌드박스에 개방 — flatpak override --filesystem=xdg-download (그 외엔 격리 유지).
  2. 카톡의 기본 "받은 파일" 폴더를 다운로드 폴더로 심볼릭 연결 → 저장창에서 아무것도 안 골라도 자동으로 다운로드에 떨어짐. (드라이브 매핑만으론 자동이 안 됩니다 — 카톡은 늘 자기 기본 폴더에 저장하니까.)
  3. 보조로 Wine 드라이브 K: → 다운로드 폴더 매핑 (저장창에서 수동 선택용).

한국어 로케일 주의: 실제 다운로드 폴더는 ~/Downloads가 아니라 ~/다운로드 입니다. 스크립트는 xdg-user-dir DOWNLOAD로 알아서 잡습니다.


사용법 / 처음 실행

앱 목록의 "KakaoTalk" 아이콘으로 실행하거나:

flatpak run --command=bottles-cli com.usebottles.bottles \
  run -b KakaoTalk -e "$HOME/.var/app/com.usebottles.bottles/data/bottles/bottles/KakaoTalk/drive_c/Program Files (x86)/Kakao/KakaoTalk/KakaoTalk.exe"
  • 로그인 (ID/비번 또는 QR, 폰 2FA).
  • 한글 입력: 한/영 키를 눌러 한국어로 전환. (창/포커스 바뀔 때마다 영문으로 리셋되는 건 IBus 정상 동작.)
  • 받은 파일을 "저장"하면 다운로드 폴더(~/다운로드)에 바로 나타납니다.

문제 해결

  • 한글이 여전히 안 쳐짐 → 호스트에 ibus-hangul + 한국어 입력 소스가 켜져 있는지 확인(ibus restart), 카톡 완전 재시작(flatpak kill com.usebottles.bottles), 그리고 한/영 키.
  • 한글이 ?로 나옴 → 3번 픽(LC_CTYPE=ko_KR.euckr)이 적용 안 됐거나 재시작을 안 한 것. ./fix-korean-input.sh 후 재시작.
  • 받은 파일이 다운로드에 안 보임 → 픽 적용 후 카톡을 재시작했는지(권한은 새 인스턴스부터 적용). 한국어 로케일이면 ~/다운로드를 보세요.
  • "대화창이 안 열려요" → 사실 열려 있습니다. take_focus가 꺼져 있어 새 창이 다른 창 뒤에 뜰 뿐. 작업표시줄/창 목록에서 앞으로 가져오세요.
  • bottle 생성 실패 ("No managed runners" 등) → Bottles GUI를 한 번 실행해 컴포넌트 카탈로그를 로드한 뒤 ./install.sh 재실행.
  • 받은 파일 이름이 깨져 보임 → 한글 파일명은 EUC-KR로 저장돼 호스트(UTF-8)에서 깨져 보일 수 있음. 한글 입력이 되게 한 코드페이지 설정의 트레이드오프. ASCII 이름은 멀쩡, 필요하면 rename.

제거

./uninstall.sh          # bottle + override + 런처만 제거 (Bottles 앱은 유지)
./uninstall.sh --all    # Bottles flatpak과 모든 데이터까지 제거

apt 패키지(flatpak, ibus-hangul, 폰트)는 다른 앱이 쓸 수 있어 건드리지 않습니다 — 원하면 직접 sudo apt purge.


환경변수 (튜닝)

변수 기본값 설명
KT_BOTTLE KakaoTalk bottle 이름
KT_DXVK_VER 2.7.1 프리시드할 DXVK 릴리스
KT_VKD3D_VER 3.0.1 프리시드할 vkd3d-proton 릴리스
KT_RUNNER (자동) 특정 Bottles 런너 강제
KT_SKIP_APT 0 1이면 apt 단계 건너뜀

면책 / 출처

  • 본 프로젝트는 카카오와 무관한 비공식 커뮤니티 스크립트입니다.
  • KakaoTalk 설치 파일은 공식 카카오 CDN(app-pc.kakaocdn.net)에서만 받습니다. "KakaoTalk for Linux" 같은 제3자 다운로드 사이트는 가짜/멀웨어일 수 있으니 쓰지 마세요.
  • 라이선스: MIT.


KakaoTalk on Linux — with Korean input & file transfer fixed (English)

Install the KakaoTalk desktop client on Linux (Ubuntu) without breaking your system, with Korean (한글) input working and received files landing in your real Downloads folder. Runs fully sandboxed in Bottles (Flatpak).

Installing KakaoTalk is easy. The three things that actually break — and that this repo fixes:

  1. Native Wine wrecks your system — it drags in a pile of :i386 packages + WineHQ apt sources that can corrupt your package manager. → Avoided entirely with a Bottles/Flatpak sandbox.
  2. You can't type Korean — the classic Wine + IBus failure. → Fixed with a three-layer fix (XMODIFIERS / InputStyle / code page).
  3. Received files get trapped in the sandbox — Flatpak blocks host folder access. → Open only Downloads and symlink KakaoTalk's default save folder to it.

Tested on Ubuntu 24.04 (GNOME), Bottles from Flathub, DXVK 2.7.1 / vkd3d-proton 3.0.1, sys-wine runner.

Quick start

git clone https://github.com/cateyelow/kakaotalk-linux
cd kakaotalk-linux
./install.sh

install.sh is idempotent (safe to re-run). The only host changes are a few apt packages (flatpak, ibus-hangul, fonts-noto-cjk, zstd, curl) — zero :i386 packages added.

Already have KakaoTalk in Bottles and just want the fixes?

./fix-korean-input.sh     # Korean input, 3-layer fix
./fix-file-transfer.sh    # received files -> Downloads

After fixing, fully restart KakaoTalk: flatpak kill com.usebottles.bottles, then relaunch.

Requirements

  • Debian/Ubuntu (apt) — handled automatically. Other distros: install deps manually, then KT_SKIP_APT=1 ./install.sh.
  • GNOME + IBus + ibus-hangul, with a Korean input source enabled (Settings → Keyboard → Input Sources → "Korean (Hangul)").
  • X11 session recommended; Wayland works via XWayland but may vary.

The three fixes (why they're needed)

1. Safe install — the Bottles sandbox

Native Wine via apt pulls in i386 multiarch + WineHQ repos and can break your package system. Bottles confines everything to a Flatpak sandbox; the only host change is a handful of apt packages.

The big install gotcha: bottles-cli new refuses to create a bottle unless the local dxvk/vkd3d component dirs contain >0 entries — but the CLI's first-run auto-download races and fails. install.sh fetches DXVK + vkd3d-proton straight from their GitHub releases and unpacks them locally before creating the bottle.

2. Korean input — the three-layer fix ⭐ (the heart of this repo)

All three layers are required; restart Wine after each (winex11.drv reads locale/InputStyle at startup):

# Symptom Cause Fix
1 IBus never connects Bottles strips host env (Limit_System_Environment), so Wine has no XMODIFIERS Set XMODIFIERS=@im=ibus (+GTK_IM_MODULE/QT_IM_MODULE=ibus) explicitly in the bottle
2 Jamo swallowed, never committed Wine's default XIM input style doesn't commit composed text Registry HKCU\Software\Wine\X11 Driver InputStyle=root
3 Every Hangul becomes ? X locale encoding (UTF-8) ≠ Wine ANSI code page (949/EUC-KR) Set LC_CTYPE=ko_KR.euckr in the bottle

3. File transfer — sandbox → Downloads

Flatpak gives the sandbox zero host filesystem access by default, so saved files are trapped. fix-file-transfer.sh:

  1. Opens only your Downloads folder to the sandbox (flatpak override --filesystem=xdg-download).
  2. Symlinks KakaoTalk's default received-files folder to Downloads, so an ordinary Save lands there automatically (a drive mapping alone won't auto-route — KakaoTalk always saves to its own default folder).
  3. Also maps Wine drive K: → Downloads for manual saves.

Korean locale note: the real Downloads dir is ~/다운로드, not ~/Downloads. The script resolves it via xdg-user-dir DOWNLOAD.

Troubleshooting

  • Korean still won't type → ensure ibus-hangul + a Korean source are active on the host (ibus restart), fully restart KakaoTalk, press the 한/영 key.
  • Hangul shows as ? → layer 3 (LC_CTYPE=ko_KR.euckr) not applied, or you didn't restart. Run ./fix-korean-input.sh and restart.
  • Files don't appear in Downloads → restart KakaoTalk after the fix (the permission applies to new instances only); on a Korean locale look in ~/다운로드.
  • "Chat window won't open" → it does — it just opens behind other windows (take_focus off). Raise it from your window list.
  • Bottle creation fails → launch the Bottles GUI once to load the component catalog, then re-run ./install.sh.

Uninstall

./uninstall.sh          # remove the bottle + override + launcher (keep Bottles)
./uninstall.sh --all    # also remove the Bottles flatpak and all its data

Disclaimer

Unofficial community scripts, not affiliated with Kakao. The installer is downloaded only from the official Kakao CDN (app-pc.kakaocdn.net); avoid third-party "KakaoTalk for Linux" sites (fake/malware). Licensed under MIT.

About

Install KakaoTalk on Linux (Ubuntu) via Bottles — Korean 한글 input & file transfer fixed. 우분투 카카오톡 설치 + 한글 입력·파일 전송 픽.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages