사용자 도구

사이트 도구


linux:inputmethod

Input Method (입력기, 한글)

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

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

2018년 현재 별다른 문제가 없다면 fcitx 혹은 nimf가 제일 편한 것 같다.

  • im-config(구 im-switch) 등의 명령으로 입력기를 전환할 수 있다.
  • 나비 : 한국어 전용 입력.
  • Nimf(구 다솜) : 우리나라에서 만들어진 다국어 입력기
  • iBus : 많은 배포판들이 표준으로 사용하고 있는 입력기.
  • uim : 일본계로, 다종 언어 지원. 벼루 (uim-byeoru)입력기로 두벌식, 세벌식도 잘 지원.
  • Fcitx : 중국계로, 다종 언어 지원. 한글 두벌식, 세벌식도 잘 지원.
  • scim : 과거 많은 배포판들이 표준으로 사용하던 것

특수상황

  • Firefox 35, 36 버전은 현재 nabi에 GTK_IM_MODULE=“xim” 상황에서만 Ajax가 많은 사이트에서 다운되지 않고 한글입력이 가능하다.

UIM

  • 지금까지 본 가장 별다른 버그 없이 사용 가능한 입력기. 현재 나의 기본 입력기
  • 설치. uim-byeoru가 한글 입력 모듈
    sudo apt-get install uim uim-byeoru

설치 후, uim(과거에는 uim-systray)를 입력기로 설정하고 벼루 입력기를 기본으로 잡았다.

Composition(합성)이 꺼지면 시스템 트레이의 아이콘이 깨지는 현상이 발생한다. 기능 자체에는 문제가 없다.

UIM-벼루에서 오른쪽 Alt키를 한영키로 사용하기(Right Alt to Hangul key)

Nabi 나비

한글 입력에 매우 좋으나, Firefox가 GTK_IM_MODULE=“xim”일 경우 컨텍스트 메뉴가 사라지는 문제가 발생한다. 이 문제를 해결하려면 imhangul을 함께 설치하여 nabi + imhangul 기반으로 사용해야 한다.

이 말은 즉, GTK 애플리케이션(Firefox는 GTK기반)은 imhangul 모듈을 사용하고 그 외의 QT를 비롯한 다른 애플리케이션은 Nabi를 사용하는 것이다. Nabi는 자신의 상태바에서 imhangul 모듈의 입력기 상태(한영상태)를 보여주는 기능이 있으므로 imhangul 자체의 상태 표시는 꺼둬도 된다.

Xubntu 14.04에서 Dual Graphic Card 사용시 Nabi의 상태창이 나타나 다른 창을 가리는 현상이 발견되었다. 이 현상은 XFCE의 Composite 기능을 꺼야만 화면에 보여서 잘 알기도 어려웠다.

Nabi 설치

  • nabi, imhangul 설치
    sudo apt-get install nabi imhangul-gtk2 imhangul-gtk3
     
    # im-config 명령에서 "hangul"로 지정
  • 환경변수 확인 → 안돼 있으면 ~/.xinputrc에 지정
    GTK_IM_MODULE="hangul2"
    QT4_IM_MODULE="xim"
    XMODIFIERS="@im=nabi"
  • imhangul 사용시 XXX_IM_MODULE 환경변수의 값은 한글 자판 종류를 지정하는 것이다. imhangul 참조.
    • hangul2 : 두벌식
    • hangul2y : 두벌식 옛글
    • hangul39 : 세벌식390
    • hangul3f : 세벌식최종
    • hangul3s : 세벌식순아래
    • hangul3y : 세벌식옛글
    • hangulro : 로마자
    • hangulahn : 안마태
  • 세벌식 390 자판으로 변경하려면 ~/.xinputrc를 열고 마지막에 다음 추가
    GTK_IM_MODULE="hangul39"
  • QT에 대해서도 같은 설정을 하려면 qimhangul-qt4 패키지를 설치하고 QT4_IM_MODULE 환경 변수를 설정해주면 된다.

imhangul 설정

  • ~/.imhangul.conf 파일 생성. imhangul.conf 참조.
    # 상태창은 안보이게. imhangul의 상태창은 Nabi가 알아서 보여줌
    enable_status_window = false
    
    # Nabi에서 한영,한자키를 설정하고 그 이름을 그대로 아래 값으로 복사해 오면 됨.
    # 한영키
    hangul_keys = "Hangul", "<Shift>space", "Alt_R"
    
    # 한자키
    hanja_keys = "Hangul_Hanja", "F9", "Control_R"
  • qimhangul-qt4는 설정파일을 지원하지 않는 상태임.

iBus

  • Ubuntu 기본 입력기. ibus-hangul을 설치하면 한글 입력이 활성화 된다.
  • 3beol PPA 저장소를 추가하고 ibus, ibus-hangul을 업그레이드하면 더 많은 종류의 자판 사용가능.
  • Bug #481656 “iBus blocks input in Java application” iBus가 Java 애플리케이션에서 한글 입력을 제대로 못하고 있다는 버그 리포팅. 막상 해 보면 잘 됨.
  • 설치
    sudo add-apt-repository ppa:createsc/3beol
    sudo apt-get update; sudo apt-get install ibus ibus-hangul
    # ibus와 ibus-hangul을 모두 업그레이드 한다.
    ibus-setup-hangul
  • iBus 설정에서 한국어 → Hangul을 입력기로 지정한다.
  • 현재 Mint 16(Ubuntu 13.10 기반)은 ibus선택시 GTK_IM_MODULE/QT_IM_MODULExim으로 놓는 문제가 있다. ~/.xinputrc 마지막에 아래를 추가하여 이를 ibus로 변경해야 Firefox에서 입력기로 인해 메뉴가 사라지는 문제를 해결할 수 있을 것으로 보임.
    GTK_IM_MODULE="ibus"
    QT4_IM_MODULE="ibus"
  • 속성 패널보이기표시하지 않기로 변경

iBus와 한영키

  • 우분투 13.10는 한영키가 <Super>space로 지정돼 있다. <Shift>spaceHangul 노트북은 Alt_R로 변경 필요.
  • ibus-setup에서 한영 전환키를 등록할 때 아무런 조합할 키 없이 대소문자 정확이 Hangul이라고 지정해서 추가.
  • Ubuntu 14.04에서 부터 입력 언어에 영어와 한국어가 함께 있어야만 영문 입력도 가능해짐.
  • 노트북의 경우에는 보통 Alt_R이다. 마찬가지로 조합할 키 없이 대소문자 정확히 기록. 이 키 값을 잘 모를 때는 xev 프로그램을 실행해서 나오는 키 이름을 참조하면 된다.

Switcher Window 안 나오게하기

  • 한영전환을 하면 갑자기 화면 가운데에 입력기 목록이 뜨는 현상이 발생한다.
  • 이는 한영 전환키를 누른 상태로 특정 시간이 지나면 나오는 것인데, 이로인해 오히려 입력기 전환에 방해가 되기도 한다.
  • dconf-editor를 실행하고 desktop → ibus → general에서 switcher-delay-time이 기본 400으로 돼 있는데 이를 1000(1초) 등 더 긴 값으로 설정해준다.
  • 아니면 차라리 5등의 값으로 아예 일관성 있게 빨리나오게 하는게 나을 수도 있다.

Fcitx

  • 중국계 입력기. 3beol 저장소를 추가하고 사용하면 된다.
  • 자기 자신을 시작 프로그램으로 등록하는 문제가 있다. 다른 입력기 사용시 이를 시작프로그램에서 제외시킬 것.
sudo add-apt-repository ppa:createsc/3beol
sudo apt-get update
sudo apt-get install fcitx fcitx-hangul fcitx-frontend-gtk2 fcitx-frontend-gtk3 fcitx-config-gtk2
  • 단축키 충돌
    • fcitx의 단축키가 다른 애플리케이션(특히 IntelliJ IDEA)와 충돌이 날 수 있다.
    • 설정에서 입력기 사이에 스크롤을 위한 단축키 활성을 disable 하고,
    • 고급설정에서 모든 입력정보 및 설정 저장 같은 것을 ESC키를 눌러 비활성으로 바꿔줘야 한다.
    • Addon
      • Keyboard Layout을 설정 변경. Ctrl+Alt+H 와 같은 단축키가 충돌한다.
      • Clipboard를 비활성화한다. Clipit 사용.
  • fcitx-remote : fcitx를 명령행으로 컨트롤할 수 있다.

Nimf

  • 기존 다솜 입력기가 이름을 Nimf 로 변경함
  • https://github.com/cogniti/nimf : Download 에서 받을 수 있음.
  • dconf-editor/org/freedesktop/dasom 으로 설정을 한다.
  • Shift-Space처리는 /org/freedesktop/dasom/engines/jeongeum/hangul-keys 값을 ['hangul', 'shift-mask space']로 지정하면 된다.
  • Notebook 등 사용시 Linux XKB 를 통해 우측 Ctrl/Alt를 한영,한자키로 설정한다.
linux/inputmethod.txt · 마지막으로 수정됨: 2018/03/02 16:07 저자 kwon37xi