사용자 도구

사이트 도구


linux:inputmethod

Input Method (입력기, 한글)

리눅스의 문자 입력기, 그 중에서도 한글을 지원하는 입력기는 여러 종류가 있다.

가끔씩 특정 im에 버그가 발생하는 경우가 있는데, 그럴때 아래 im들을 번갈아 설치해가며 테스트해서 가장 잘 작동하는 것을 사용하면 된다.

2021년 현재 가장 포괄적으로 많은 애플리케이션이 지원하는 입력기는 iBus 인 것 같다.

오른쪽 Alt키를 한영키로 사용하기(Right Alt to Hangul key)

  • Linux XKB 참조.
  • 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 입력기

  • Gnome 3는 iBus만 기본 지원한다. 다른 입력기 사용시에 Search box나 기타 Gnome 전용 설정 프로그램등에서 한글 입력이 불가하다.
  • 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와 다른 것들 복합 사용

  • Ubuntu 20.10 Gnome 환경에서 테스트 해본 결과,
  • im-config -n uim 등으로 기본 입력기는 UIM 으로 지정하지만,
  • 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 같은 ibus만 지원하는 애플리케이션에 대해 임시로 환경변수를 ibus 로 바꿔서 실행하면 한글 입력이 가능해졌다.
# 원래 GTK_IM_MODULE, QT_IM_MODULE은 시스템 기본으로 설정한 uim 으로 돼 있음.
QT_IM_MODULE=ibus zoom

kimpanel

im-config

  • Debian Linux, Ubuntu Linux 계열 입력기 선택기.
  • /etc/X11/Xsession.d/70im-config_launch, /usr/share/im-config/xinputrc.common 이 두 파일이 X 실행시 자동 로딩 되면서 run_im 등의 함수가 등록된다.
  • ~/.xinputrcrun_im 입력기 로 등록해줌.
# 명령행으로 IM 설정하기
im-config -n uim # uim 으로 설정
im-config -n fcitx
im-config -n ibus
 
# 설정 가능한 IM 목록보기
im-config -l

Wine

  • Linux Wine 에서는 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

참조

linux/inputmethod.txt · 마지막으로 수정됨: 2021/11/11 12:51 저자 kwon37xi