私は Trisquel GNU/Linux 7.0 LTS with GNOME 3 Flashback 環境を使用しています。
3つの異なる入力方法、つまりibus
、xim
、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
this の問題に直面しているときに、uim
をインストールし、GTK_IM_MODULE="uim"
で~/.profile
を設定する方法について学びました。最近、uim
を削除し、GTK_IM_MODULE="uim"
から~/.profile
行を削除しました。しかし this バグを克服するために、私は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'
簡単に/大まかに私は異なる入力方法のインストール/削除とセットアップを理解するのに助けが必要です:
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_MODULE
がxim
に設定されている理由は、/etc/profile
、/etc/profile.d/*
、またはその他のローカルまたはグローバルシェルRCファイルのどこかにある変数の定義にあると考えられます。必要に応じて、この変数を設定解除またはオーバーライドしてください。
ただし、これによると Gnomeバグレポートコメントgsettings
を介して構成された値は、DBusでアクティブ化されたアプリケーションのGTK_IM_MODULE
に設定された値を上書きすると思います。したがって、少なくとも現在のGnomeアプリケーションは、おそらくgtk-im-context-simple
を使用しているので、事実上、標準の動作を意味します(つまり、ibusや他の専用IMはありません)。