보통 ime 설정을 .profile 등에다가
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
이렇게 설정 하잖아요?
저걸 설정하지 않으면 ime 가 정상적으로 작동이 안되더군요.
wayland 에서도 마찬가지로 저걸 설정하지 않으면 제대로 작동을 안해요. (한영 변환, 키 누르고 있으면 연속으로 키 입력 발생 등)
그런데 wayland 에서는 데스크탑 로그인 이후 저 변수를 지우라고(unset) 알림이 뜹니다.
그냥 무시하고 사용하면 될까요? 지금 얼마 안써보긴 했는데, 정상 작동 하고 있거든요.
ibus 도 wayland 에서 기본 세팅 변수만 넣어주면 잘 되긴 하는데, 자꾸만 KDE notification 이 뜨면서 변수를 삭제 하라고 나오네요. 변수 없으면 입력오류 작렬 하는데도 불구하고 ㅋㅋㅋ
fcitx5 또한 ibus 와 마찬가지로 GTK_IM_MODULE, QT_IM_MODULE 을 unset 하라고 알림이 뜨지만, 해당 알림을 영원히 끌 수 있는 옵션이 있으며, 변수 설정을 하지 않아도 기본적인 한글 입력이 잘 됩니다.
다만, 일렉트론을 사용한 앱(code, joplin, chrome ...)은 한글입력이 제대로 되질 않습니다.
그때는 GTK_IM_MODULE=fcitx code 이렇게 변수 설정 하고 실행하면 한글 입력 잘 됩니다.
하지만 저는 귀찮아서, X11 에서 사용하던 방식으로 기본 변수들 다 세팅 해놓고, 알림 꺼버리고 사용하고 있네요.
아마 KDE 에서 ibus 는 wayland 프로토콜로 작동하지 않을겁니다..
예를들면 intellij 라던가 alacritty 처럼 input method 가 wayland 프로토콜로 통신하는 프로그램에서는 한글 입력 안됩니다.
이유는 ibus 가 input-method-unstable-v1 를 이용하고
KDE 는 input-method 버전이 다릅니다. 잘기억은 안나지만 아마 v3 였던가 그럴겁니다.
문제는 input-method-unstable 가 하위 호환이 안됩니다.
fcitx 의 input-method 버전이 KDE 와 같은것으로 알고 있습니다.
gnome 의 wayland 컴포지터 인 mutter 에서는 input-method-unstable-v1 을 지원합니다.
gnome 에서는 ibus 사용이 문제가 없지만 반대로 fcitx 가 정상적으로 작동하지 않습니다.
찰떡궁합이라기 보다... gnome 개발팀이 ibus 를 공식적으로 채택 하고 지원하고 있어서요... ;;;
그런데 gnome 에서 ibus 를 공식적으로 채택한 초반에는 좋았는데... 최근에는 상태가 영...
아니 그보다 이시간까지 안주무시고 뭐하세요 ㅋㅋ
Wayland 로 넘어오면서 input-method-v3 등 Wayland 단에서 IME 를 지원해주는 프로토콜이 있습니다. 그래서 GTK 저걸 쓰지말고, 이걸 쓰라고 알려주는것 같습니다.
Wayland단의 IME는 컴포지터 설정에서 해주시면 됩니다. KDE시면, Hardware - Virtual Keyboard 에서 fcitx 를 고르실 수 있습니다.
input-method-v3 (defacto wayland 입력 프로토콜) 가 여러모로 버그가 조금 있는것 같아서 저도 GTK_IM_MODULE, QT_IM_MODULE 사용하고 있습니다.
..
일렉트론 앱에서 한글 입력이 안되신다면, 정말 여러가지 변수가 있을 수 있는데요.
1. 일렉트론 앱이 xwayland 에서 실행중.
이러면 Wayland 컴포지터에서 설정이 무의미 하죠. XMODIFIRES 나 GTK_IM_MODULE 설정이 되어 있어야 정상입력이 가능합니다.
2. 일렉트론 앱이 native wayland 로 실행중.
이 상황이면 GTK_IM_MODULE 을 설정해도 일렉트론 앱은 한글 입력이 되질 않습니다. 일렉트론/크롬이 그렇게 설계되었습니다. ㅜㅜ.
2024년 1월 유일한 솔루션은 input-method-v1으로 입력하는 것입니다. input-method-v1 을 사용할려면, `--enable-wayland-ime`옵션으로 줘서 실행 시켜야 합니다.
그리고, input-method-v1 은 KDE + fcitx 조합에서만 기능합니다 (일부 예외 존재).