본문 바로가기
리눅스

리눅스 한글 입력기 (Wayland 편)

by 다움위키 2024. 8. 28.

원문 보기: https://dawoum.duckdns.org/wiki/한글 입력기/On_Wayland

 

최근 소프트웨어들의 버전 업그레이드로 인해, X11에서도 님프 입력기에서 문제들이 발생하고 있습니다. 따라서 이제는 X11이든, Wayland이든 kime을 사용하는 것이 바람직해 보입니다!!

 

리눅스 생태계에서 X11에서 Wayland로의 전환은 여러 가지 새로운 장점과 단점을 만들어 냅니다. 일반 사용자들은 이런 전환이 가진 장점에 열광하기도 하지만 기존에 작동하는 메커니즘이 작동하지 않을 때 더욱 불만을 표출합니다.

리눅스에서 가장 큰 문제점은 한글 입력에 있습니다. 그러나, 이 문제는 거의 한국 사람들에 국한된 문제입니다. 물론, 중국과 일본도 비슷한 처지에 있어서 CJK로 묶어서 얘기가 되지만, 한글은 다른 두 언어에 비해 더 고려할 사항이 있어서 한글 입력기 개발에 어려움이 더해진다고 알려져 있습니다.

이런 상황 아래에서, kime과 nimf는 최근에 한국에서 개발된 두 개의 한글 입력기입니다.

먼저, 개인적인 경험을 기반으로 결론부터 얘기하자면,

  • X11에서는 nimf를 추천합니다.
  • Wayland에서는 kime을 추천합니다.

이유는 간단하게도, X11에서는 nimf가 더 많은 프로그램에서 올바르게 동작했지만, Wayland에서는 X11에서 잘 입력되던 프로그램에서 입력이 되지 않거나 잘못 입력되는 경우가 발생합니다. 반면에 kime은 Wayland에서 nimf가 입력하지 못하는 프로그램에서 입력이 되거나 잘못 입력되던 것이 제대로 입력되는 경우가 있기 때문입니다.

예를 들어, 그놈 Wayland에서 적어도 아래의 현상이 있습니다:

  • gnome-calendar : nimf 입력기 전환 안됨. kime 정상 작동. nimf 이 문제는 gooroom에서 제공되는 gtk4 패치를 이용해 보십시오.
  • kakaotalk (bottles: wine) : nimf 마지막 점을 찍으면 마지막 글자 앞에 찍힘. kime 정상 작동.
  • alacritty : nimf 첫글자만 자음/모음이 조합되는 것이 보이고 다음 문자부터는 글자가 완성되어야 출력됨. kime 정상 작동.

한편, 현재 nimf는 개발자 부재 상황이라서 이런 문제점이 알려지면 수정이 될지 의문이고, kime도 주 개발자가 시간 여유가 없는지 프로젝트가 이전에 비해 빠르게 진행되고 있지는 않습니다.

하지만, kime은, 러스트 언어의 인기 때문인지, kime 프로젝트에 기여자들이 있고, 주 개발자가 아마도 바쁜 와중에도 프로젝트를 진행하기 위한 기본적인 활동은 하고 있는 것으로 보입니다.

게다가, 그놈이나 KDE가 아닌 다른 Wayland를 지원하는 환경, 예를 들어, Weston, Sway, Hyprland에서 kime은 한글 입력기로서 동작을 합니다.

Installing kime

홈페이지 설치 문서에 따라 설치하십시오.

데비안에 대한 바이너리는 오래된 데비안 버전의 것이 제공되지만, 데비안 버전에 크게 상관없이 동작할 것으로 기대됩니다.

아니면 직접 패키지를 만들 수도 있습니다. 컴파일에 필요한 패키지를 먼저 설치합니다:

  • sudo apt install build-essential
  • sudo apt install git
  • sudo apt install cmake
  • sudo apt install libclang1
  • sudo apt install libgtk2.0-dev
  • sudo apt install libgtk-3-dev
  • sudo apt install qtbase5-private-dev
  • sudo apt install cairo-5c
  • sudo apt install clang
  • sudo apt install librust-clang-sys-dev
  • sudo apt install libdbus-glib-1-dev
  • sudo apt install libxcb-shape0-dev
  • sudo apt install libxcb-xfixes0-dev
  • sudo apt install rustc cargo

아마도 낮은 버전의 러스트에서 컴파일이 되지 않을 수도 있습니다. 그 때에는 Rust (programming language)를 읽고 최신 버전을 먼저 설치하십시오.

이제, 소스를 받아서 컴파일을 시도합니다.

중간에 오류가 발생할 수 있으며, 의존성 패키지의 부재인 경우도 있고, 프로그램 자체의 오류도 있습니다. 오류를 확인해서 대처하십시오.

이제 데비안 패키지를 만들고, 설치합니다:

  • scripts/release-deb.sh ..
  • cd ..
  • sudo dpkg -i kime*deb

Configurations

이전의 X11에서 im-config 명령을 사용해서 입력기 전환이 쉬웠지만, Wayland에서는 동작하지 않는 것으로 보입니다. 직접 환경 변수를 입력할 필요가 있습니다.

배쉬를 사용할 때에는 .xprofile에 기록할 수 있고, zsh를 사용할 때에는 .zprofile에 기록할 필요가 있습니다. 그냥 2개에 만들어 둘 수 있습니다:

  • nano ~/.xprofile (and .zprofile)
export GTK_IM_MODULE=kime
export QT_IM_MODULE=kime
export XMODIFIERS=@im=kime

다음으로 indicator 표시를 위해 다음 패키지를 설치하시고, 해당 확장을 활성화하십시오. 아마도 로그 아웃 후에 다시 로그인한 후에 확장이 표시될 것입니다.

  • sudo apt install gnome-shell-extension-prefs gnome-shell-extension-appindicator

다른 데스크탑, 예를 들어 KDE Plasma 5에서 추가적인 입력기 설정은 다음을 추가로 수행하십시오:

플라즈마로 로그인 후에, System Settings를 실행한 후에,

  • Keyboard로 검색한 후에, Layout에 Korean으로 검색해서 어떤 하나를 더해야 합니다.
  • Virtual Keyboard에서 kime daemon을 선택해야 합니다.

그런-다음 로그아웃 후에, 다시 로그인해야 합니다.

Kime configurations

제공되는 설정을 그대로 사용해도 좋겠지만, 어두운 테마를 사용할 경우에 indicator 색깔을 바꾸고, 입력기 전환을 ⇧ Shift+space로 바꿀 수 있습니다. 그리고 설정은 반드시 복사하셔야 작동합니다!!

  • mkdir -p ~/.config/kime
  • cp /usr/share/doc/kime/default_config_config.yaml ~/.config/kime/config.yaml
  • nano ~/.config/kime/config.yaml

이 파일에서 Black를 White로 Super-Space로 시작하는 문단을 찾아서, Super를 S로 바꾸면 입력기 전환이 ⇧ Shift+space로 이루어집니다.

Troubleshootings

그놈에서 한글 입력기

그놈에서 ibus로 인해 kime-wayland는 실행되지 않기 때문에, kime이 붙지 않는 것들 중에 CJK 입력이 가능한 것은 ibus-hangul을 별도로 설정해서, kime+ibus-hangul 형태로 사용할 수 있습니다. 가능한 대부분의 프로그램에서 한글 입력이 가능합니다.