さまざまな入力方法の理解と設定


21

GNOME 3 フラッシュバック環境でTrisquel GNU / Linux 7.0 LTS を使用しています。

つまり、3つの異なる入力方法について聞いたことがあります。ibusximおよびuim。そして、それ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"ました~/.profile。最近、から行を削除uimしましGTK_IM_MODULE="uim"~/.profile。しかし、このバグを克服するために、私はibus今すぐ取り除くつもりです。

余分な入力方法、(Trisquelのフレッシュインストールを言う)をインストールすることなく、echo $GTK_IM_MODULE出力ximだから、私は、デフォルトの入力方法を検討しているため混乱していますされibus、その後、なぜされる$GTK_IM_MODULEと言ってxim

私もできapt-get remove ibusますか?またはuim最初にインストールしてから削除する必要がありibusますか?また、どの入力メソッドが現在機能しているibusかを知りたいximですか?そして、入力方法を設定するための正しい方法は何である(すなわち、それはあるGTK_IM_MODULE="uim"~/.profile)?

その上、私は1つの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ディストリビューションのデフォルトのようです)を好む人が多くいます:適切な言語サポート(主に日本語vs簡体字vs繁体字中国語)またはパフォーマンスの問題。私は特別なIMフレームワークを必要とする東部言語を話さないので、その議論に何も追加することはできません。ただし、fcitx対ibusの詳細に興味がある場合は、この少し日付の古い(2012年)でも、おそらく正確なLWNの記事を読むことをお勧めします。

ただし、ibusがGnomeのデフォルトIMであるという事実により、ibusは必須ではありません。他の任意の入力メソッドを使用することも、まったく使用しないこともできます。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、それぞれ)またはlocal内に設定できます~/.xprofile。でそれを設定し~/.bashrcたり~/.profile、そのようなGDM、SDDM、KDMまたはLightDMなどのグラフィカルログインマネージャを使用してシステムにログインするときに行が実行されることを保証しません。XDM、Slim、またはを使用してXセッションを開始する場合はstartx、これらの行をに入れる必要があります~/.xinitrc

ibus以外の入力方法を設定した場合は、後でGnome設定に移動して、ibus関連の設定、特にキーボードショートカットが無効になっていることを確認してください。または、Gnomeに以下を使用してキーボード設定に触れないように指示します。

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

または、ibusを完全にアンインストールします。

では、XIMについてはどうでしょうか?XIMはかなり古い入力メソッドプロトコルであり、ibusとfcitxの両方がレガシーサポートの理由でのみ実装しています。最近、これら2つのいずれでも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ます。したがって、少なくともgtk-im-context-simple現在Gnomeアプリケーションはおそらく標準的な動作を効果的に意味していると考えられます(つまり、ibusや他の専用IMはありません)。


素晴らしい説明と背景。これで、gsettingsxDを実行しようとするたびにセグメンテーション違反が発生しなかった場合(--version segfaults !!)
sqweek

だから、Ubuntu 18.04にはibusとximがあります。CJK言語を入力する意図がない場合、両方を安全に削除できますか?
サンキャッチャー

はい。ただし、必要でない限りXIMをアンインストールしません。それは非常に古いですが、時には他の機能のベースとして使用されます。本当に数キロバイトが本当に必要でない限り、私はそれをアンインストールしません。
ジャネクベベンドルフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.