사용자 도구

사이트 도구


linux:inputmethod:ibus

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
linux:inputmethod:ibus [2020/07/16 10:22]
kwon37xi [iBus]
linux:inputmethod:ibus [2021/11/11 16:01] (현재)
kwon37xi
줄 2: 줄 2:
   * Ubuntu 와 Gnome의 [[linux:inputmethod|Input Method (입력기, 한글)]]. ibus-hangul을 설치하면 한글 입력이 활성화 된다.   * Ubuntu 와 Gnome의 [[linux:inputmethod|Input Method (입력기, 한글)]]. ibus-hangul을 설치하면 한글 입력이 활성화 된다.
  
-**ibus를 사용하지 않은지 오래 돼서 아래 정보는 매우 잘못된 것일 가능성이 높음. Outdated document** 
-===== 설치 ===== 
  
-  [[https://launchpad.net/~createsc/+archive/3beol/|3beol]] PPA 저장소를 추가하고 ''ibus'', ''ibus-hangul''을 업그레이드하면 더 많은 종류의 자판 사용가능. -- 2020년 이후에는 의미 없음. +===== 기본 설정 ===== 
-  * [[https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/481656|Bug #481656 “iBus blocks input in Java application”]] iBus가 Java 애플리케이션에서 한글 입력을 제대로 못고 있는 버그 리포팅. 막상 해 보면 잘 됨.+  ibus 를 사용할 경우 2021년 현재 한글관련 문제점들을 회피기 위해 다음 설정을 기본으로 한다.
  
 <code sh> <code sh>
-sudo add-apt-repository ppa:createsc/3beol +# chrome/electron 한글입력 
-sudo apt-get update; sudo apt-get install ibus ibus-hangul +gsettings set org.freedesktop.ibus.engine.hangul preedit-mode 'word' 
-ibus와 ibus-hangul을 모두 업그레드 한다. + 
-ibus-setup-hangul+intellij 등 현대 애플리케이션 사용시에는 use-event-forwarding true 여야 한다. 
 +gsettings set org.freedesktop.ibus.engine.hangul use-event-forwarding true 
 + 
 +# 옛날 QT 애플리케션(특히 zoom) Enter/화살표/backspace가 이상한 문자를  
 +# 입력하는 문제가 발생하면 일시적으로 false 로 변경한다. 
 +gsettings set org.freedesktop.ibus.engine.hangul use-event-forwarding false 
 </code> </code>
-  * iBus 설정에서 **국어 -> Hangul**을 입력기로 지정한다. + 
-  * 현재 Mint 16(Ubuntu 13.10 기반)은 ibus선택시 ''GTK_IM_MODULE/QT_IM_MODULE''을 ''xim''로 놓는 제가 있다. ''~/.xinputrc'' 마지막에 아래를 추하여 를 ''ibus''로 변경해야 Firefox에서 입력기로 인해 메뉴가 사라는 문제를 해결할 수 있을 것으로 보임.<code> +===== vim/ESC 를 통한 영문모드로 변경 ===== 
-GTK_IM_MODULE="ibus" +  * ''org.freedesktop.ibus.engine.hangul off-keys'' 값을 ''%%'Escape'%%''로 지정하면 [[:vim|Vim]] 에서 ''ESC'' 누를 때 영모드로 변경된다. 
-QT4_IM_MODULE="ibus"+  * 반대로 ''org.freedesktop.ibus.engine.hangul on-keys'' 도 있다. 기본 비어있음. 
 + 
 +===== Emoji 단축키 충돌 ===== 
 +  * 아래 지 단축키 충돌이 발생한다. 
 +  * ''<Ctrl><Shift>e'' : emoji 입력 -> ''<Shift><Super>e'' 로 변경 
 +  * ''<Ctrl><Shift>u'' : unicode 입력 -> 삭제 
 +  * ''ibus-setup'' 을 실행하고 위 두가지 단축키를 다른 것으로 변경해준다https://askubuntu.com/a/1159087/287371 
 +<code sh
 +gsettings set org.freedesktop.ibus.panel.emoji hotkey "['<Shift><Super>e']" 
 +# unicode 는 안사용해서 삭제 
 +gsettings set org.freedesktop.ibus.panel.emoji unicode-hotkey ""
 </code> </code>
-  * ''속성 패널보이기'' -''표시하지 않기''로 변경+  * [[http://manpages.ubuntu.com/manpages/bionic/man7/ibus-emoji.7.html|Ubuntu Manpage: ibus emoji utility - Call the IBus emoji utility by IBus Emojier]] 이모지 입력을 활성화 한 뒤에 ''<Space>''를 누르면 ''ibus-ui-emojier'' 이모지 UI가 나와서 선택해서 입력 가능해진다. 
 +  * [[https://unicode.org/emoji/charts/emoji-list.html|Emoji List]] 에 있는 이름을 입력하고 ''<Space>'' 를 누르면 이모지로 변경된다. 
 +===== 문제점들 ===== 
 +  * 아래 문제점들은 버전에 따라 발생안할 수 있다.
  
 +==== Chromium/Electron 애플리케이션에서 한글 글자 올바로 입력 안되는 현상 ====
 +  * [[:chrome|Google Chrome]] 계열 브라우저 혹은 [[:electron|Electron]] 애플리케이션에서 한글 입력이 올바로 안되고 글씨의 일부가 사라지는 현상이 발생한다.
 +  * ''preedit-mode'' 가 원래 ''syllable''인데, 이를 ''word''로 변경해주니까 글씨 조합상태가 잘 안나오지만 입력은  잘 됐다. 
 +<code sh>
 +gsettings set org.freedesktop.ibus.engine.hangul preedit-mode 'word'
 +
 +# 되돌리기
 +gsettings set org.freedesktop.ibus.engine.hangul preedit-mode 'syllable'
 +</code>
 +
 +
 +
 +==== KDE/QT 애플리케이션 한글 모드에서 backspace 등 오동작 ====
 +  * [[https://github.com/libhangul/ibus-hangul/issues/70|KDE 프로그램 - konsole, dolphin, elisa 등등 - 에서 한글입력 상태를 켜고 입력하면 특정 키 들이 제대로 동작하지 않습니다. · Issue #70 · libhangul/ibus-hangul]]
 +  * [[https://www.sobi.tips/manjaro-kde-ibus-hangul-solve/|만자로 KDE : ibus 한글 모드에서 특정 키 오작동 증상 해결하기 | Sobi.Tips]]
 +  * [[:zoom|Zoom]] 등 [[linux:qt|QT]] 계열 애플리케이션에서 한글 입력 모드에서 화살표나 백스페이스등이 커서를 이동하지 않고 이상한 글씨를 입력시키는 문제가 발생했다.
 +  * ''use-event-forwarding'' 은 원래는 끝글자 버그 해결용으로 나왔던것인데, 저 값을 ''true''로 안해도 이제는 거의 끝글자 버그가 생기지 않기 때문에 ''false''로 바꿔도 큰 문제가 없어졌다고 한다.
 +
 +<code sh>
 +# QT 최신버전에서는 해결되므로 잘 될 경우에는 할 필요 없고, 잘 안되면 아래처럼 설정한다.
 +gsettings set org.freedesktop.ibus.engine.hangul use-event-forwarding false
 +# 잘 되면 다시 true로 돌려둔다.
 +</code>
 +  * 일부 애플리케이션은 저 설정을 할 경우 입력이 안 될수도 있다. [[intellij_idea:config|IntelliJ IDEA Config 설정]] 가 그렇다. intellij 사용시에는 위 옵션을 켜준다.
 +
 +<code sh>
 +gsettings set org.freedesktop.ibus.engine.hangul use-event-forwarding true
 +</code>
 +  * ''ibus-toggle-use-event-forward.sh''
 +<code>
 +#!/bin/sh
 +if $(gsettings get org.freedesktop.ibus.engine.hangul use-event-forwarding); then
 +    gsettings set org.freedesktop.ibus.engine.hangul use-event-forwarding false
 +else
 +    gsettings set org.freedesktop.ibus.engine.hangul use-event-forwarding true
 +fi
 +
 +echo "Current ibus use-event-forwarding : $(gsettings get org.freedesktop.ibus.engine.hangul use-event-forwarding)"
 +</code>
 ===== 삭제하지 않고 무시하기 ===== ===== 삭제하지 않고 무시하기 =====
   * ibus 는 [[linux:gnome|Gnome]] 셸 환경에서 무조건 실행이 되는 상태인데, 다른 입력기를 사용하고자 하지만 삭제는 할 수 없는 상황이라면 ''ibus-daemon''의 이름이라도 변경해두어야 한다. [[https://wiki.debian.org/InputMethodBuster|InputMethodBuster - Debian Wiki]]   * ibus 는 [[linux:gnome|Gnome]] 셸 환경에서 무조건 실행이 되는 상태인데, 다른 입력기를 사용하고자 하지만 삭제는 할 수 없는 상황이라면 ''ibus-daemon''의 이름이라도 변경해두어야 한다. [[https://wiki.debian.org/InputMethodBuster|InputMethodBuster - Debian Wiki]]
줄 26: 줄 82:
 <code sh> <code sh>
 sudo mv /usr/bin/ibus-daemon /usr/bin/ibus-daemon.distrib sudo mv /usr/bin/ibus-daemon /usr/bin/ibus-daemon.distrib
 +gsettings set org.gnome.settings-daemon.plugins.keyboard active false
 </code> </code>
 +
 +reenable
 +
 +<code sh>
 +sudo mv /usr/bin/ibus-daemon.distrib /usr/bin/ibus-daemon
 +gsettings set org.gnome.settings-daemon.plugins.keyboard active true
 +gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'ibus'>}"
 +</code>
 +  * 혹은 ibus 는 계속 실행하더라도 영문을 제외한 다른 입력기들을 모두 제거해 두면 된다.
 +
  
 ===== iBus와 한영키 ===== ===== iBus와 한영키 =====
   * 우분투 13.10는 한영키가 ''<Super>space''로 지정돼 있다. ''<Shift>space''와 ''Hangul'' 노트북은 ''Alt_R''로 변경 필요.   * 우분투 13.10는 한영키가 ''<Super>space''로 지정돼 있다. ''<Shift>space''와 ''Hangul'' 노트북은 ''Alt_R''로 변경 필요.
 +  * [[linux:xkb|Linux XKB]] 를 통해 오른쪽 Alt, Ctrl 을 한/영, 한자키로 변경할 수 있다. 
 +    * [[linux:inputmethod|Input Method (입력기, 한글)]] 참조.
   * ''ibus-setup''에서 한영 전환키를 등록할 때 아무런 조합할 키 없이 대소문자 정확이 ''Hangul''이라고 지정해서 추가.   * ''ibus-setup''에서 한영 전환키를 등록할 때 아무런 조합할 키 없이 대소문자 정확이 ''Hangul''이라고 지정해서 추가.
-  * Ubuntu 14.04에서 부터 입력 언어에 영어와 한국어가 함께 있어야만 영문 입력도 가능해짐. + 
-  * 노트북의 경우에는 보통 ''Alt_R''이다. 마찬가지로 조합할 키 없이 대소문자 정확히 기록이 키 값을 잘 모를 때는 ''xev'' 프로그램을 실행해서 나오는 키 이름을 참조하면 된다.+===== ibus-typing-booster ===== 
 +  * https://mike-fabian.github.io/ibus-typing-booster/
  
 ===== Switcher Window 안 나오게하기 ===== ===== Switcher Window 안 나오게하기 =====
 +  * 2020년 이후 발생안함.
   * 한영전환을 하면 갑자기 화면 가운데에 입력기 목록이 뜨는 현상이 발생한다.   * 한영전환을 하면 갑자기 화면 가운데에 입력기 목록이 뜨는 현상이 발생한다.
   * 이는 한영 전환키를 누른 상태로 특정 시간이 지나면 나오는 것인데, 이로인해 오히려 입력기 전환에 방해가 되기도 한다.   * 이는 한영 전환키를 누른 상태로 특정 시간이 지나면 나오는 것인데, 이로인해 오히려 입력기 전환에 방해가 되기도 한다.
linux/inputmethod/ibus.1594862529.txt.gz · 마지막으로 수정됨: 2020/07/16 10:22 저자 kwon37xi