web-dev-qa-db-ja.com

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

私は Trisquel GNU/Linux 7.0 LTS with GNOME 3 Flashback 環境を使用しています。

3つの異なる入力方法、つまりibusximuim。また、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

this の問題に直面しているときに、uimをインストールし、GTK_IM_MODULE="uim"~/.profileを設定する方法について学びました。最近、uimを削除し、GTK_IM_MODULE="uim"から~/.profile行を削除しました。しかし this バグを克服するために、私はibusを今すぐ取り除く予定です。

追加の入力メソッドをインストールせずに(たとえば、Trisquelのフレッシュインストール)、echo $GTK_IM_MODULEximを出力するので、デフォルトの入力メソッドがibusであると考えると、混乱しますなぜ$GTK_IM_MODULExim?と言っているのか

また、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'

簡単に/大まかに私は異なる入力方法のインストール/削除とセットアップを理解するのに助けが必要です:

  • 現在アクティブな入力方法を知るにはどうすればよいですか?
  • 異なる入力方法をインストールして設定するにはどうすればよいですか? (別のものを削除する必要がありますか?)
23
Pandya

X11入力スタック全体が混乱しています。まず、XKBキーボードレイアウトで定義されているラテン文字または複数文字のコンポーズシーケンスを入力するだけであれば、特別なインプットメソッドフレームワークは必要ありません。厳密に言えば、デッドキーなどのマルチキーシーケンスには、非常に単純な入力方法が必要です。しかし、それらはlibx11/XKBによって提供され、追加のIMフレームワークなしで動作します。したがって、中国語や日本語などの言語を入力する必要がない場合は、ibus、uim、fcitxなどの入力方法をすべてアンインストールしても問題ありません。

あなたがすでに言ったように、Gnomeはibusをデフォルトのインプットメソッドにしたので、誰もが満足しているわけではありませんでした。いくつかの理由から、ibusよりもfcitx(ほとんどのKDEディストリビューションのデフォルトのようです)を好む人がたくさんいます。適切な言語サポート(主に日本語か、簡体字か、繁体字か)か、パフォーマンスの問題です。私は特別なIMフレームワークを必要とする東部の言語を話せないので、その議論に何かを追加することはできません。しかし、fcitxと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または~/.profileで設定すると、GDM、SDDM、KDM、LightDMなどのグラフィカルログインマネージャーを使用してシステムにログインするときに、行が実行されるとは限りません。 XDM、Slim、またはstartxを使用してXセッションを開始する場合は、これらの行を~/.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は/etc/gtk-2.0/gtk.immodulesの構成に基づいて組み込みIMを選択します。 GTK 3.0は、/usr/lib/gtk-3.0/3.0.0/immodules.cacheによって生成されるgtk-query-immodules-3.0を調べます。

GTK_IM_MODULEximに設定されている理由は、/etc/profile/etc/profile.d/*、またはその他のローカルまたはグローバルシェルRCファイルのどこかにある変数の定義にあると考えられます。必要に応じて、この変数を設定解除またはオーバーライドしてください。

ただし、これによると Gnomeバグレポートコメントgsettingsを介して構成された値は、DBusでアクティブ化されたアプリケーションのGTK_IM_MODULEに設定された値を上書きすると思います。したがって、少なくとも現在のGnomeアプリケーションは、おそらくgtk-im-context-simpleを使用しているので、事実上、標準の動作を意味します(つまり、ibusや他の専用IMはありません)。

53