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

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

私は使う水滴GNU/Linux 7.0 LTSとGNOME 3フラッシュバック環境。

私は3つの異なる入力方法について聞きました。ibusximそしてuimibus私のシステムにプレインストールされているようです。

$ 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"~/.profileuimGTK_IM_MODULE="uim"~/.profileこれバグ、今すぐ削除する予定ですibus

追加の入力方法がインストールされていない場合(Trisquelの新規インストールなど)、echo $GTK_IM_MODULE出力はデフォルトの入力方法を考慮するとxim混乱します。ibusなぜ?$GTK_IM_MODULExim

私は大丈夫ですapt-get remove ibusか?それともuim最初にインストールしてから削除する必要がありますかibus?現在どの入力方式を使用しているかを知りたいですibus。入力方法を設定する正しい方法はxim何ですか?GTK_IM_MODULE="uim"~/.profile

また、gsettingsスキームを見つけました。

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

簡単に/幅広くさまざまな入力方法のインストール/削除と設定を理解するのに役立ちます。

  • 現在使用中の入力方法をどのように知ることができますか?
  • さまざまな入力方法をインストールして設定する方法は? (他のものは削除する必要がありますか?)

ベストアンサー1

フルX11入力スタックがめちゃくちゃです。まず、XKBキーボードレイアウトで定義されているラテン文字または複数文字の組み合わせシーケンスを単に入力する場合は、特別な入力方法フレームワークは必要ありません。厳密に言えば、マルチキーシーケンス(デッドキーなど)には非常に簡単な入力方法が必要です。ただし、libx11 / XKBで提供され、追加のIMフレームワークなしで機能します。したがって、中国語や日本語などの言語を入力する必要がない場合は、ibus、uim、fcitx、または使用中のすべての入力方法を完全に削除できます。

すでに述べたように、Gnomeはibusを基本的な入力方法として採用していましたが、当時誰もがこの決定に満足していたわけではありませんでした。 ibusよりfcitx(ほとんどのKDEディストリビューションではデフォルトのようです)を好む人がたくさんいます。さらに、fcitxのいくつかの機能は明らかにibusから欠落しており、少なくとも現在では廃止されました。グリーンネット記事不完全な言語サポート(主に日本語、簡体字中国語、繁体字中国語)やパフォーマンス問題などで2012年に発売されました。私は特別なIMフレームワークが必要な東洋言語を話さないので、この議論には何も追加できません。ほとんどの問題はすでに解決されている可能性があります。私が主に注目したのは、ibusがユーザーインターフェイスの観点から非GTKデスクトップ環境とうまく統合されていないことですが、GTKベースのDEには問題ありません。

しかし、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"

アイバースなら。 uimも同じように動作します。入力方法を明示的に無効にするには、次の設定を使用します。

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

空の文字列も機能します。

これらの変数は、システム全体/etc/profile(またはそれぞれ内部専用ファイル/etc/profile.d)またはローカルに設定できます~/.xprofile。に設定したり、GDM、SDDM、KDM、LightDMなどのグラフィカルログインマネージャを使用してシステムにログインしたときにこれらの変数が実行されることを保証しませ~/.bashrc~/.profile。いいですね。 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_MODULEGTKはの設定に基づいて内蔵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他のローカルまたはグローバルシェルRCファイルの一部の出口変数定義が原因である可能性/etc/profileがあります/etc/profile.d/*。必要と思われる場合は、この変数の設定を解除またはオーバーライドしてください。

しかしこれによるとGNOMEバグレポートのレビュー私は、構成を通じて渡された値がDBusアクティブアプリケーションに設定されたgsettings値をオーバーライドすると仮定します。GTK_IM_MODULEしたがって、少なくともあなたのGnomeアプリケーションはgtk-im-context-simpleおそらく現在これを使用しています。これは実際には標準動作(つまり、ibusや他の特別なIMがない)を意味します。

おすすめ記事