IBus
IBus ("Intelligent Input Bus") は様々な言語の文字を入力するためのシステムである、インプットメソッドフレームワークのひとつです。IBus は Fcitx, SCIM, UIM と同等の機能を持っています。
目次
インストール
ibus パッケージをインストールしてください。
さらに、Qt アプリケーションで IBus を有効にするために、ibus-qtAUR ライブラリをインストールしましょう。
統合
少なくとも以下の 環境変数 を設定してください。
/etc/environment
GTK_IM_MODULE=ibus QT_IM_MODULE=ibus XMODIFIERS=@im=ibus
ユーザーログイン時に IBus を起動するには、以下のコマンドで 自動起動 エントリを作成します。
ibus-daemon -drxR
次のログイン時に、IBus はユーザーセッションと一緒に起動します。
設定方法
システムに非ラテン語の言語をサポートするためのヘルプは ロケール を参照してください。
利用可能な非ラテン語フォントの非網羅的なリストについては フォント#ラテン文字 を参照してください。
GNOME
GNOME はデフォルトで IBus を使用しているので、設定 > キーボード > 入力ソース で好きな言語のキーボードレイアウトを追加することができます。
その他のデスクトップ環境
IBus の環境設定ウィンドウを起動するには、以下の方法があります。
- IBus のトレイアイコンを右クリックし、Preferencesを選択します。
- GUI アプリケーションの IBus Preferences を見つけて起動するか、または
- ターミナルでコマンド
ibus-setup
を実行する。
ここで注目すべき点は、次のインプットメソッド (デスクトップ環境が提供するデフォルトのショートカットの代わりに使用したいもの) のキーボードショートカットと、異なるキーボードレイアウトを追加または削除できる インプットメソッド タブ (デスクトップ環境のデフォルトレイアウトマネージャの代わりに実行したいもの) です。
ヒントとテクニック
絵文字入力
IBus は絵文字アイコンの入力をサポートしています。Ctrl+.
または Ctrl+;
と入力すると、入力プロンプトが下線付きの e 文字に変わります。次に、必要な絵文字の記号または名前 (例 :) または face) を入力し、Space
を押してレンダリングします。結果に満足したら、Enter
を押して送信し、絵文字入力モードを終了するか、もう一度 Space
を押してダイアログを開き、目的の絵文字をさらにカスタマイズできます。
詳細については、ibus-emoji(7) を参照してください。
Unicode 入力
IBus は複雑な Unicode 文字の入力をサポートしています。 Ctrl+Shift+u
と入力すると、入力プロンプトが下線付きの u 文字に変わります。次に、必要な Unicode 文字のコードを入力し、Space
または Enter
を押して、レンダリングして送信します。
トレイアイコンの色
デフォルトでは、IBus は濃い青色を使用して、現在アクティブなレイアウトの言語記号を表示します(例:EN)色の値は gsettings schema に保存されているため、変更する場合は次のコマンドを実行できます。
$ gsettings set org.freedesktop.ibus.panel xkb-icon-rgba 'COLOR'
文字列 COLOR は、次のガイドラインに準拠している必要があります。
The RGBA value can be 1. a color name from X11, 2. a hex value in form '#rrggbb' where 'r', 'g' and 'b' are hex digits of the red, green, and blue, 3. a RGB color in form 'rgb(r,g,b)' or 4. a RGBA color in form 'rgba(r,g,b,a)' where 'r', 'g', and 'b' are either integers in the range 0 to 255 or percentage values in the range 0% to 100%, and 'a' is a floating point value in the range 0 to 1 of the alpha.
レイアウトスイッチャーの表示遅延
次の入力方法 ホットキーを押すと、IBus はレイアウトスイッチを示す小さなダイアログを表示します。デフォルトでは、このダイアログはキーを押してから400ミリ秒後に表示されますが、この値はユーザーが変更できます。興味深い選択肢として、ダイアログをすぐに表示するための 0 または負の値(-1 など)があります。ウィンドウをまったく表示せずにレイアウトを切り替える (2つのレイアウトのみを使用し、一方から他方に切り替える場合に便利な場合があります。)
値は gsettings schema に保存されるため、変更する場合は次のコマンドを実行できます。
$ gsettings set org.freedesktop.ibus.general switcher-delay-time 'VALUE'
現在保存されている値を表示するには、次のコマンドを実行します。
$ gsettings get org.freedesktop.ibus.general switcher-delay-time
文字列 'VALUE' は、次のガイドラインに準拠している必要があります。
Set popup delay milliseconds to show IME switcher window. The default is 400. 0 = Show the window immediately. 0 < Delay milliseconds. 0 > Do not show the window and switch prev/next engines.
修飾キーの組み合わせを使用してレイアウトを切り替える
何らかの理由で、IBus 設定 GUI では、修飾キーの組み合わせのサブセット(Alt+Shift_R
など)をレイアウト切り替えホットキーとして使用できません。ただし、IBus はホットキーを文字列として gsettings schema に保存するため、その文字列を直接編集することで、このような組み合わせを引き続き使用できます。
$ gsettings set org.freedesktop.ibus.general.hotkey triggers "['VALUE']"
文字列 'VALUE'
は、IBus が認識できる形式で記述された有効な修飾キーの組み合わせである必要があります。AltShift_R
rxvt-unicode
rxvt-unicode が IBus で正しく機能するためには、次の行を ~/.Xresources
に追加する必要がある場合があります。
URxvt.inputMethod: ibus URxvt.preeditType: OverTheSpot
トラブルシューティング
pyenvが原因でパッケージが欠落している
pyenv
を使用して Python のバージョンと構成を管理する場合、設定されたグローバル python バージョンに ibus
の依存関係がインストールされない場合があります。これは、グローバルバージョンがシステムによって管理されているバージョンではない場合に発生する可能性があります(gi
などの ibus が依存する依存関係がインストールされている)これにより、実行されているが機能しない ibus セットアップが発生する可能性があります(ibus はシステムトレイにありますが、プリファレンスを開くことができないなど)この問題を確認する1つの方法は、ibus-setup
を実行して、欠落している依存関係エラーが発生するかどうかを確認することです。
この問題を修正するには、pyenv グローバルバージョンをシステムバージョンに変更します。:
pyenv global system
再起動後に設定が削除される
再起動後に設定が一貫して削除されている (入力メソッドが元に戻されている) 場合は、プリロードされるように設定されているエンジンと、それらがロードされる順序を確認します:
$ gsettings get org.freedesktop.ibus.general preload-engines ['xkb:us::eng'] $ gsettings get org.freedesktop.ibus.general engines-order ['xkb:us::eng', 'anthy']
この場合に anthy
が確実に読み込まれるようにするには、org.freedesktop.ibus.preload-engines
リストに追加します。
$ gsettings set org.freedesktop.ibus.general preload-engines "['xkb:us::eng', 'anthy']"
変更はすぐに反映され、再起動後も保持されます。
Ibus IME のパッケージはキーボードのネイティブ文字セットのみを入力します
考えられる修正は、GTK_IM_MODULE 環境変数 を ibus ではなく xim に設定することです。
/etc/environment
GTK_IM_MODULE=xim QT_IM_MODULE=ibus XMODIFIERS=@im=ibus