다른 입력 방법 이해 및 설정


21

내가 사용 Trisquel 그놈 3와 GNU / 리눅스 7.0 LTS를 플래시백 환경.

나는 세 가지 다른 입력 방법에 대해 들었습니다. ibus, ximuim. 그리고 그것은 ibus내 시스템에 사전 설치된 것 같습니다 .

$ cat trisquel_7.0_i686.iso.manifest | grep ibus
gir1.2-ibus-1.0 1.5.5-1ubuntu3
ibus 1.5.5-1ubuntu3
ibus-gtk:i386 1.5.5-1ubuntu3
ibus-m17n 1.3.4-3ubuntu1
ibus-table 1.5.0.is.1.5.0.20130419-2
libibus-1.0-5:i386 1.5.5-1ubuntu3
libusb-0.1-4:i386 2:0.1.12-23.3ubuntu1
libusb-1.0-0:i386 2:1.0.17-1ubuntu2
libusbmuxd2 1.0.8-2ubuntu1
libustr-1.0-1:i386 1.0.4-3ubuntu2

문제에 직면 uim하면서 GTK_IM_MODULE="uim"at 설치 및 설정 에 대해 배웠습니다 ~/.profile. 최근에 에서 줄을 제거 uim하고 제거 GTK_IM_MODULE="uim"했습니다 ~/.profile. 그러나 극복하기 위해 버그를, 나는 없애 계획입니다 ibus지금.

여분의 입력 방법을 설치하지 않고, (Trisquel의 신선한 설치 말) echo $GTK_IM_MODULE출력을 xim그래서, 고려 기본 입력 방법이기 때문에 혼동하고있어 ibus, 다음 $GTK_IM_MODULExim?

또한 할 수 apt-get remove ibus있습니까? 또는 uim먼저 설치 한 다음 제거 ibus해야합니까? 또한 나는 현재 작업하는 입력 방법을 알고 싶은 ibusxim? 그리고 입력 방법을 설정하는 올바른 방법은 무엇입니까 (즉, 그것은이다 GTK_IM_MODULE="uim"~/.profile)?

게다가, 나는 하나의 gsettings 구성표를 발견했습니다.

$ gsettings get org.gnome.desktop.interface gtk-im-module
'gtk-im-context-simple'

간단히 / 넓게 나는 다른 입력 방법의 설치 / 제거 및 설정을 이해하는 데 도움이 필요합니다.

  • 현재 어떤 입력 방법이 활성화되어 있는지 어떻게 알 수 있습니까?
  • 다른 입력 방법을 어떻게 설치하고 설정합니까? (다른 것을 제거해야합니까?)

답변:


45

전체 X11 입력 스택은 혼란입니다. 우선, XKB 키보드 레이아웃에 정의 된대로 라틴 문자 나 다중 문자 작성 순서를 입력하는 경우 특별한 입력 방법 프레임 워크가 필요하지 않습니다. 엄밀히 말하면, 데드 키와 같은 모든 멀티 키 시퀀스에는 매우 간단한 입력 방법이 필요합니다. 그러나 libx11 / XKB에서 제공되며 추가 IM 프레임 워크없이 작동합니다. 따라서 중국어 나 일본어와 같은 언어를 입력 할 필요가없는 경우 ibus, uim, fcitx 또는 입력 방법을 모두 제거하는 것이 좋습니다.

이미 말했듯이, Gnome은 ibus를 기본 입력 방법으로 만들었습니다. 여러 가지 이유로 ibus보다 fcitx (대부분의 KDE 배포판의 기본값 인 것 같음)를 선호하는 많은 사람들이 있습니다. 적절한 언어 지원 (대부분 일본어 대 중국어 대 중국어) 또는 성능 문제입니다. 특별한 IM 프레임 워크를 필요로하는 동부 언어를 사용하지 않기 때문에, 그 토론에 실제로 어떤 것도 추가 할 수 없습니다. 그러나 fcitx vs ibus에 대한 자세한 내용을 보려면 약간 날짜가 지난 (2012)이지만 LWN 기사는 여전히 정확한 기사 를 읽으십시오 .

그러나 ibus가 Gnome의 기본 IM이라는 사실이 의무적이지는 않습니다. 원하는 다른 입력 방법을 사용하거나 전혀 사용하지 않을 수 있습니다. IM 구성은 환경 변수를 통해 수행됩니다. 그러나 GTK + 응용 프로그램 만 사용하는 경우를 제외하고는 의심 할 여지가 있습니다 GTK_IM_MODULE. 입력 방법을 설정하는 올바른 방법은 다음과 같습니다.

export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"
export XMODIFIERS="@im=fcitx"

fcitx 또는

export GTK_IM_MODULE="ibus"
export QT_IM_MODULE="ibus"
export XMODIFIERS="@im=ibus"

ibus의 경우. uim도 같은 방식으로 작동합니다. 입력 방법을 명시 적으로 비활성화하려면 다음 설정을 사용하십시오.

export GTK_IM_MODULE="gtk-im-context-simple"
export QT_IM_MODULE="simple"

빈 문자열도 작동합니다.

이러한 변수는 시스템 전체 /etc/profile(또는 /etc/profile.d각각 내부의 전용 파일 ) 또는 로컬 내부 에서 설정할 수 있습니다 ~/.xprofile. 이를 설정 ~/.bashrc하거나 ~/.profileGDM, SDDM, KDM 또는 LightDM과 같은 그래픽 로그인 관리자를 사용하여 시스템에 로그인 할 때 라인이 실행되도록 보장하지 않습니다. XDM, Slim 또는을 사용하여 X 세션을 시작하는 경우 startx해당 행을에 입력해야합니다 ~/.xinitrc.

ibus 이외의 입력 방법을 구성한 경우 나중에 그놈 설정으로 이동하여 ibus 관련 설정, 특히 키보드 단축키가 비활성화되어 있는지 확인하십시오. 또는 다음을 사용하여 키보드 설정을 건드리지 않도록 Gnome에 지시하십시오.

gsettings set org.gnome.settings-daemon.plugins.keyboard active false

또는 ibus를 모두 제거하십시오.

이제 XIM은 어떻습니까? XIM은 레거시 지원을 위해 ibus와 fcitx가 모두 구현하는 매우 쓸모없는 입력 방법 프로토콜입니다. 요즘 XIM을 사용하려는 이유는 없습니다. 설정하려는 유일한 이유 GTK_IM_MODULE="xim"GTK의 하드 코드 된 ComposeKey 설정재정의하는 것 입니다.

다른 질문에 대답하기 위해 : 환경 변수를 보거나 시스템에 어떤 IM이 설치되어 있는지 아는 것을 제외하고는 현재 어떤 입력 방법이 활성화되어 있는지 감지하는 방법이 실제로 없다고 생각합니다. 경우에 GTK_IM_MODULE설정되지는 GTK 선택 내장 IM의 구성에 기초하여 /etc/gtk-2.0/gtk.immodules. GTK 3.0은에서 /usr/lib/gtk-3.0/3.0.0/immodules.cache생성 한을 찾습니다 gtk-query-immodules-3.0.

이유 GTK_IM_MODULE로 설정되어 xim아마도 약간 처진 변수 정의 어딘가에 /etc/profile, /etc/profile.d/*또는 로컬 또는 글로벌 쉘 RC 파일을 다른. 필요한 경우이 변수를 설정 해제하거나 무시하십시오.

그러나이 Gnome 버그 보고서 의견 에 따르면 DBus 활성화 응용 프로그램에 gsettings설정된 값을 통해 구성된 값이 재정의 된다고 가정합니다 GTK_IM_MODULE. 따라서 적어도 Gnome 응용 프로그램은 gtk-im-context-simple현재 표준 동작을 의미하는 현재 사용 중일 것입니다 (즉, ibus 또는 다른 전용 IM이 없음).


훌륭한 설명과 배경. 이제 gsettingsxD를 수행하려고 할 때마다 나에게 segfault가 없다면 (even --version segfaults !!)
sqweek

그래서 우분투 18.04에 ibus와 xim이 있습니다. CJK 언어로 입력 할 의사가없는 경우 안전하게 삭제할 수 있습니까?
Suncatcher

예,하지만 필요하지 않으면 XIM을 제거하지 않습니다. 매우 오래되었지만 때로는 다른 기능의 기반으로 사용되기도합니다. 따라서 실제로 몇 kB가 필요하지 않으면 제거하지 않습니다.
Janek Bevendorff
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.