====== Input Method (입력기, 한글) ======
리눅스의 문자 입력기, 그 중에서도 한글을 지원하는 입력기는 여러 종류가 있다.
가끔씩 특정 im에 버그가 발생하는 경우가 있는데, 그럴때 아래 im들을 번갈아 설치해가며 테스트해서 가장 잘 작동하는 것을 사용하면 된다.
2021년 현재 가장 포괄적으로 많은 애플리케이션이 지원하는 입력기는 [[linux:inputmethod:ibus|iBus]] 인 것 같다.
* ''im-config''(구 ''im-switch'') 등의 명령으로 입력기를 전환할 수 있다.
* [[linux:inputmethod:fcitx|Linux Input Method fcitx]]
* [[linux:inputmethod:uim|UIM]]
* [[linux:inputmethod:ibus|iBus]]
* [[linux:inputmethod:nimf|Nimf]]
* [[linux:inputmethod:kime|kime]]
* [[linux:inputmethod:nabi|Nabi 나비]]
* [[http://www.scim-im.org/|scim]] : 과거 많은 배포판들이 표준으로 사용하던 것
===== 오른쪽 Alt키를 한영키로 사용하기(Right Alt to Hangul key) =====
* [[linux:xkb|Linux XKB]] 참조.
* [[linux:xmodmap|Linux Xmodmap]]도 되지만, Ubuntu는 XKB를 사용하는 것으로 변경되었다.
* Gnome/GTK 계통의 경우 Gnome Tweaks 의 **추가 배치 옵션**에서 아래 두 옵션을 활성화하여 한/영, 한자키를 만들 수 있다.
* 한국어 한/영, 한자 키
* 오른쪽 Alt를 한/영 키로 만들기
* 오른쪽 Ctrl을 한자 키로 만들기
* 명령으로 설정
gsettings set org.gnome.desktop.input-sources xkb-options "['korean:ralt_hangul', 'korean:rctrl_hanja']"
===== Gnome 과 비 ibus 입력기 =====
* [[linux:gnome|Gnome]] 3는 [[linux:inputmethod:ibus|iBus]]만 기본 지원한다. 다른 입력기 사용시에 Search box나 기타 Gnome 전용 설정 프로그램등에서 한글 입력이 불가하다.
* [[https://wiki.debian.org/InputMethodBuster|InputMethodBuster - Debian Wiki]]
* [[linux:inputmethod:ibus|iBus]] 사용시 최초에 설치하면 아래 두가지가 함께 설치되는데, 여기서 ''한국어(101/104키 호환)'' 은 불필요하다. 삭제하고 **한국어(Hangul)**만 남겨두면 된다.
* ''한국어(101/104키 호환)''
* ''한국어(Hangul)''
* 만약, ibus는 실행하되 다른 입력기를 사용하면서 ibus의 gnome panel tray icon 을 끄고 싶다면 모두다 지우고 **영어(미국)** 하나만 남겨두면 시스템 트레이 아이콘에서 사라진다.
==== ibus 를 아예 안 사용하는 상태 ====
# 먼저 ibus 패키지를 삭제하거나 혹은 삭제 불가한 상황일 때는 이름을 변경해둔다.
sudo mv /usr/bin/ibus-daemon /usr/bin/ibus-daemon.distrib
# gnome 에서 ibus 사용 못하게 한다.
gsettings set org.gnome.settings-daemon.plugins.keyboard active false
# for uim
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'uim'>}"
# for nimf
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'nimf'>}"
# for fcitx
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
==== ibus와 다른 것들 복합 사용 ====
* [[linux:ubuntu:20.10|Ubuntu 20.10]] [[linux:gnome|Gnome]] 환경에서 테스트 해본 결과,
* ''im-config -n uim'' 등으로 기본 입력기는 [[linux:inputmethod:uim|UIM]] 으로 지정하지만,
* [[linux:inputmethod:ibus|iBus]]도 동시에 띄워두면, Gnome 은 ''ibus''를 사용하고, 다른 애플리케이션들은 기본으로 지정된 ''uim''을 사용하는게 가능했다. 이렇게 하면, 가장 보편적으로 잘 작동하는 입력기와 ibus 에서만 잘 작동하는 애플리케이션을 복합으로 사용하는게 가능해진다.
* 이때는 Gnome 은 ibus 를 사용하게 하고, **설정 -> 지역 및 언어 -> 한국어(Hangul)**도 추가해주고,
* 다음과 같이 Gnome 관련 입력기 설정도 해 주되 ''im-config -n uim''으로 시스템 기본 입력기는 다른 것으로 해주면 된다.
# 원하는 입력기 지정
im-config -n uim
gsettings set org.gnome.settings-daemon.plugins.keyboard active true
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'ibus'>}"
# 위와 같이 설정하고 프로세스 목록을 보면 다음 처럼 ibus-daemon 이 보인다.
ps -ef | grep ibus
> ibus-daemon --panel disable --xim
* 이 경우 [[:zoom|Zoom]] 같은 ''ibus''만 지원하는 애플리케이션에 대해 임시로 환경변수를 ''ibus'' 로 바꿔서 실행하면 한글 입력이 가능해졌다.
# 원래 GTK_IM_MODULE, QT_IM_MODULE은 시스템 기본으로 설정한 uim 으로 돼 있음.
QT_IM_MODULE=ibus zoom
===== kimpanel =====
* KDE 연동 Input Method Panel
* 입력기 UI가 좀 더 좋아진다.
* https://userbase.kde.org/Tutorials/Kimpanel
* [[linux:inputmethod:ibus|iBus]], [[linux:inputmethod:fcitx|Linux Input Method fcitx]] 가 지원해준다.
* [[linux:gnome|Gnome]]의 경우 ''gnome-shell-extension-kimpanel'' 확장 설치할 것.
===== im-config =====
* [[linux:debian|Debian Linux]], [[linux:ubuntu|Ubuntu Linux]] 계열 입력기 선택기.
* [[http://manpages.ubuntu.com/manpages/xenial/man8/im-config.8.html|im-config]]
* ''/etc/X11/Xsession.d/70im-config_launch'', ''/usr/share/im-config/xinputrc.common'' 이 두 파일이 X 실행시 자동 로딩 되면서 ''run_im'' 등의 함수가 등록된다.
* ''~/.xinputrc'' 에 ''run_im 입력기'' 로 등록해줌.
# 명령행으로 IM 설정하기
im-config -n uim # uim 으로 설정
im-config -n fcitx
im-config -n ibus
# 설정 가능한 IM 목록보기
im-config -l
===== Wine =====
* [[linux:wine|Linux Wine]] 에서는 [[linux:inputmethod:fcitx|Linux Input Method fcitx]] 만 올바로 작동함.
* 다른 입력기를 사용하려면 레지스트리 편집이 필요하다.
* 다음과 같은 나용으로 ''input-style-root.reg'' 파일을 생성한다.
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
"InputStyle"="root"
* 위 파일을 병합해준다.
wine regedit input-style-root.reg
* [[https://hamonikr.org/used_hamonikr/82280|하모니카 사용기 - 하모니카에서 카카오톡 한글 중복 입력문제 해결하기]]
* [[https://nimf-i18n.gitlab.io/docs/how-to-use-kakaotalk-with-nimf/|Nimf - nimf 와 카카오톡 사용하기]]
===== 참조 =====
* [[https://www.slideshare.net/ftake/what-is-necessary-for-the-next-input-method-framework/|What is necessary for the next input method framework?]]
* [[https://www.youtube.com/watch?v=qVIdzDY1x6E|우분투의 한글 입력기 (IBus vs. Fcitx) - YouTube]]
* [[https://github.com/korean-input/issues/issues/6|Wayland IME 현황 · Issue #6 · korean-input/issues]]
* [[https://ubuntu.jeasu.kim/20.04/|Ubuntu와의 동고동락-한글 입력기(IBus vs. Fcitx)]]