「IBus」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎ヒントとテクニック: 修飾キーの組み合わせを使用してレイアウトを切り替えるを翻訳して追加)
(他言語へのリンクを修正)
 
(同じ利用者による、間の8版が非表示)
2行目: 2行目:
 
[[en:IBus]]
 
[[en:IBus]]
 
[[zh-hans:IBus]]
 
[[zh-hans:IBus]]
[[zh-hant:IBus]]
 
 
{{Related articles start}}
 
{{Related articles start}}
 
{{Related|Fcitx}}
 
{{Related|Fcitx}}
  +
{{Related|Fcitx5}}
  +
{{Related|インプットメソッド}}
 
{{Related|SCIM}}
 
{{Related|SCIM}}
 
{{Related|UIM}}
 
{{Related|UIM}}
35行目: 36行目:
   
 
{{Tip|
 
{{Tip|
  +
* {{AUR|ibus-autostart}} パッケージはこれを [[自動起動]] するエントリを提供します。
* [[KDE]] には Input Method Panel という plasmoid があり、IBus のフロントエンドとして動作し、より良い統合体験を提供できる可能性があります。Input Method Panel で IBus を起動するには、上記の ''ibus-daemon'' コマンドで {{ic|1=--panel=/usr/lib/kimpanel-ibus-panel}} オプションを使用します。入力メソッドパネル'' ウィジェットを設定するには、[https://userbase.kde.org/Tutorials/Kimpanel KDE UserBase Wiki] と [[KDE#ウィジェット]] を参照してください。
 
  +
* {{AUR|ibus-daemon}} パッケージは {{ic|ibus@$DISPLAY.service}} を提供し、これを [[有効化]] することで実現できます。
  +
* [[KDE]] には Input Method Panel という plasmoid があり、IBus のフロントエンドとして動作し、より良い統合体験を提供できる可能性があります。
  +
** Input Method Panel で IBus を起動するには、上記の ''ibus-daemon'' コマンドで {{ic|1=--panel=/usr/lib/kimpanel-ibus-panel}} オプションを使用します。入力メソッドパネル ウィジェットを設定するには、[https://userbase.kde.org/Tutorials/Kimpanel KDE UserBase Wiki] と [[KDE#ウィジェット]] を参照してください。
  +
** {{AUR|ibus-autostart-kimpanel}} パッケージは、[[自動起動]] するエントリを提供します。
 
* [[KDE]] での追加機能は {{Pkg|kimtoy}} で提供されるかもしれません。しかし、このプロジェクトは [https://invent.kde.org/unmaintained/kimtoy アーカイブ] されており、期待通りに動作しないかもしれません。
 
* [[KDE]] での追加機能は {{Pkg|kimtoy}} で提供されるかもしれません。しかし、このプロジェクトは [https://invent.kde.org/unmaintained/kimtoy アーカイブ] されており、期待通りに動作しないかもしれません。
 
}}
 
}}
113行目: 118行目:
 
{{Tip|{{Pkg|dconf-editor}} を使用して、よりユーザーフレンドリーな方法で gsettings テーマを編集することもできます。}}
 
{{Tip|{{Pkg|dconf-editor}} を使用して、よりユーザーフレンドリーな方法で gsettings テーマを編集することもできます。}}
   
===Pinyin の使用方法===
+
=== rxvt-unicode ===
   
  +
''rxvt-unicode'' が IBus で正しく機能するためには、次の行を {{ic|~/.Xresources}} に追加する必要がある場合があります。
''ibus-pinyin'' を使っている場合
 
  +
* まず入力したい文字のピンイン (sans tones) を入力してください。
 
  +
URxvt.inputMethod: ibus
* {{ic|Up}} や {{ic|Down}} を繰り返し押して文字を選択します (必要なら次のページに進みます)。
 
  +
URxvt.preeditType: OverTheSpot
* {{ic|Space}} を押して文字を使います。
 
* {{ic|PageUp}} や {{ic|PageDown}} を使ってページをスクロールでき、1-5 の数字キーを使うことで必要な文字を選択します。
 
* 一度に複数の文字を入力して単語・句を書けます (例: "zhongwen" で "中文" を入力)。ibus-pinyin は頻繁に入力した文字を記憶し、あなたのタイピングプロファイルにあわせてサジェストを作成します。
 
   
 
==トラブルシューティング==
 
==トラブルシューティング==
   
  +
=== pyenvが原因でパッケージが欠落している ===
=== Plasma 5 ===
 
   
  +
python のバージョンと設定を管理するために {{ic|pyenv}} を使用している場合、 {{ic|ibus}} の依存関係が設定されたグローバルな python バージョンにインストールされないことがあります。これは、グローバルバージョンがシステムで管理されているもの (ibusが依存する依存関係、例えば {{ic|gi}} がインストールされるもの) ではない場合に起こり得ます。その結果、ibus のセットアップが起動しているが機能しない (システムトレイに ibus があるが、環境設定が開けない、など) ことがあります。この問題を確認する一つの方法は、{{ic|ibus-setup}}を実行してみて、依存関係の欠如のエラーが発生するかどうかを確認することです。
Plasma 5 アプリケーションは IBus を使っている場合に Mozc から日本語の (つまり直接入力ではない) 文章を入力できないことがあります。この問題を解決するには {{ic|~/.xprofile}} に以下を追加してから X ユーザーセッションを再起動してください:
 
   
  +
この問題を修正するには、pyenv グローバルバージョンをシステムバージョンに変更します。:
export QT_IM_MODULE=ibus
 
   
  +
pyenv global system
===Kimpanel===
 
   
  +
=== 再起動後に設定が削除される ===
IBus のメインインターフェイスは現在 GTK+ でのみ利用可能ですが、Kimpanel はネイティブの Qt/KDE インプットインターフェイスを提供しています。Kimpanel は Plasma 5 に付属していますが、パネルと通信を行うために次のコマンドで IBus を起動する必要があります:
 
   
  +
再起動後に設定が一貫して削除されている (入力メソッドが元に戻されている) 場合は、プリロードされるように設定されているエンジンと、それらがロードされる順序を確認します:
$ ibus-daemon --panel=/usr/lib/kimpanel-ibus-panel
 
   
  +
$ gsettings get org.freedesktop.ibus.general preload-engines
この方法で ibus を起動するメニューエントリを作るには、下のファイルを {{ic|~/.local/share/applications/ibus-kimpanel.desktop}} に保存してください:
 
  +
['xkb:us::eng']
{{bc|<nowiki>
 
  +
$ gsettings get org.freedesktop.ibus.general engines-order
[Desktop Entry]
 
  +
['xkb:us::eng', 'anthy']
Encoding=UTF-8
 
Name=IBus (KIMPanel)
 
GenericName=Input Method Framework
 
Comment=Start IBus Input Method Framework
 
Exec=ibus-daemon --panel=/usr/lib/kimpanel-ibus-panel
 
Icon=ibus
 
Terminal=false
 
Type=Application
 
Categories=System;Utility;
 
X-GNOME-Autostart-Phase=Applications
 
X-GNOME-AutoRestart=false
 
X-GNOME-Autostart-Notify=true
 
X-KDE-autostart-after=panel
 
</nowiki>}}
 
   
  +
この場合に {{ic|anthy}} が確実に読み込まれるようにするには、{{ic|org.freedesktop.ibus.preload-engines}} リストに追加します。
これで KDE に ibus を自動起動させたり、Kimpanel でインプットメソッドとして ibus を設定することができるようになり、kimpanel からクリックすることで手動で起動できます。どちらにしても、アプリケーションの選択ダイアログでは Utility/Ibus (Kimpanel) を選択してください。
 
   
  +
$ gsettings set org.freedesktop.ibus.general preload-engines "['xkb:us::eng', 'anthy']"
===rxvt-unicode===
 
   
  +
変更はすぐに反映され、再起動後も保持されます。
IBus と ''rxvt-unicode'' の問題が発生した場合、以下の手順を踏むことで解決できます。.
 
   
  +
=== Ibus IME のパッケージはキーボードのネイティブ文字セットのみを入力します ===
以下を {{ic|~/.Xresources}} に追加してください (これは必要ないかもしれません):
 
URxvt.inputMethod: ibus
 
URxvt.preeditType: OverTheSpot
 
   
  +
考えられる修正は、GTK_IM_MODULE [[環境変数]] を ibus ではなく xim に設定することです。
そして次のコマンドで IBus を起動してください:
 
$ ibus-daemon --xim
 
   
  +
{{hc|/etc/environment|2=
''ibus-daemon'' を自動的に起動させていて (例: {{ic|~/.xinitrc}} や {{ic|~/.xsession}})、{{ic|--xim}} オプションを使わずに {{ic|ibus-daemon &}} を実行している場合は、新しいコマンドをテストするために既に実行中のプロセスを kill してください。
 
  +
GTK_IM_MODULE=xim
 
  +
QT_IM_MODULE=ibus
===GTK+ アプリケーション===
 
  +
XMODIFIERS=@im=ibus
 
  +
}}
GTK アプリケーションでインプットメソッドを使うと問題がおこることがあります。おそらくそれは gtk.immodules ファイルが見つけられないことが原因です。
 
問題を修正するには、GTK+2 なら:
 
export GTK_IM_MODULE_FILE=/etc/gtk-2.0/gtk.immodules
 
GTK+3 なら:
 
export GTK_IM_MODULE_FILE=/usr/lib/gtk-3.0/3.0.0/immodules.cache
 
を {{ic|$HOME/.bashrc}} に追加することで問題を修正できます。
 
 
{{note|gtk2 に設定すると、gedit などの gtk3 アプリケーションが使えなくなります。gtk3 に設定すると xfce などの gtk2 アプリケーションが使えなくなります。}}
 
 
===中国語の入力===
 
 
中国語の入力に問題が起こるときは、ロケールの設定を確認してください。例えば Hong Kong なら、LANG=zh_HK.utf8 を export してください。
 
 
{{Note|IBus 1.4 以降大きな更新が行われているので、C で書かれている ''ibus-pinyin'' や ''ibus-sunpinyin'' で中国語を入力できなくなっているかもしれません。解決方法は {{Pkg|ibus-libpinyin}} をインストールすることです。}}
 
 
GNOME で ibus を起動するには、以下を {{ic|~/.profile}} に加えて GNOME を再起動してください。
 
 
export GTK_IM_MODULE=ibus
 
export XMODIFIERS=@im=ibus
 
export QT_IM_MODULE=ibus
 
ibus-daemon -d -x
 
 
このバグに関する詳しい説明は [http://forum.ubuntu.org.cn/viewtopic.php?f=155&t=346639 このページ] を参照してください。
 
   
  +
=== キーを押し続けると "固着" する ===
===LibreOffice===
 
   
  +
特定のゲーム、特に Proton 経由で実行されるゲームでは、キーを数秒間押し続けると、そのキーが再度押されて離されるまで "固着" (押されたものとして押され続ける) することがあります。限られたテスト [https://github.com/ValveSoftware/Proton/issues/5294#issuecomment-1455434318] では、IBus デーモンを kill するだけでこの問題が解決することがわかりました。
IBus がロードされているのに [[LibreOffice]] にインプットウィンドウが出ない場合、以下を {{ic|~/.bashrc}} に追加してください:
 
export XMODIFIERS=@im=ibus
 
それから、ibus を {{ic|--xim -d}} で起動する必要があります。例えば、以下を {{ic|~/.xinitrc}} に追加してください:
 
ibus-daemon --xim -d
 
ただしこの修正を適用するにはターミナルから LibreOffice を起動しなくてはなりません。
 
   
  +
== 参照 ==
KDE を使っていて上述の修正がきかない場合、{{Pkg|libreoffice-still}} をインストールして以下の行を {{ic|~/.xprofile}} に追加してください。ただし LibreOffice が GTK2 モードで起動するようになります:
 
export OOO_FORCE_DESKTOP="gnome"
 
   
  +
* [https://github.com/ibus/ibus GitHub リポジトリ]
後者の修正では LibreOffice をターミナル以外からも起動できます。
 

2023年11月28日 (火) 04:08時点における最新版

関連記事

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
ノート: GNOME はバージョン 3.6 から IBus を 統合 しており、デフォルトで利用しているので、デスクトップ環境 として利用している場合は次の部分を読み飛ばしても構いません。

ユーザーログイン時に IBus を起動するには、以下のコマンドで 自動起動 エントリを作成します。

ibus-daemon -drxR

次のログイン時に、IBus はユーザーセッションと一緒に起動します。

ヒント:
  • ibus-autostartAUR パッケージはこれを 自動起動 するエントリを提供します。
  • ibus-daemonAUR パッケージは ibus@$DISPLAY.service を提供し、これを 有効化 することで実現できます。
  • KDE には Input Method Panel という plasmoid があり、IBus のフロントエンドとして動作し、より良い統合体験を提供できる可能性があります。
    • Input Method Panel で IBus を起動するには、上記の ibus-daemon コマンドで --panel=/usr/lib/kimpanel-ibus-panel オプションを使用します。入力メソッドパネル ウィジェットを設定するには、KDE UserBase WikiKDE#ウィジェット を参照してください。
    • ibus-autostart-kimpanelAUR パッケージは、自動起動 するエントリを提供します。
  • KDE での追加機能は kimtoy で提供されるかもしれません。しかし、このプロジェクトは アーカイブ されており、期待通りに動作しないかもしれません。

設定方法

システムに非ラテン語の言語をサポートするためのヘルプは ロケール を参照してください。

利用可能な非ラテン語フォントの非網羅的なリストについては フォント#ラテン文字 を参照してください。

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.
ヒント: dconf-editor を使用して、よりユーザーフレンドリーな方法で gsettings テーマを編集することもできます。
ノート: これは、GNOMEKDE のどちらにも KDE 入力方式パネルでは適用されません。どちらも IBus に独自のアイコンを提供するためです。

レイアウトスイッチャーの表示遅延

次の入力方法 ホットキーを押すと、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.
ヒント: dconf-editor を使用して、よりユーザーフレンドリーな方法で gsettings テーマを編集することもできます。

修飾キーの組み合わせを使用してレイアウトを切り替える

何らかの理由で、IBus 設定 GUI では、修飾キーの組み合わせのサブセット(Alt+Shift_R など)をレイアウト切り替えホットキーとして使用できません。ただし、IBus はホットキーを文字列として gsettings schema に保存するため、その文字列を直接編集することで、このような組み合わせを引き続き使用できます。

$ gsettings set org.freedesktop.ibus.general.hotkey triggers "['VALUE']"

文字列 'VALUE' は、IBus が認識できる形式で記述された有効な修飾キーの組み合わせである必要があります。AltShift_R

ヒント: dconf-editor を使用して、よりユーザーフレンドリーな方法で gsettings テーマを編集することもできます。

rxvt-unicode

rxvt-unicode が IBus で正しく機能するためには、次の行を ~/.Xresources に追加する必要がある場合があります。

URxvt.inputMethod: ibus
URxvt.preeditType: OverTheSpot

トラブルシューティング

pyenvが原因でパッケージが欠落している

python のバージョンと設定を管理するために pyenv を使用している場合、 ibus の依存関係が設定されたグローバルな python バージョンにインストールされないことがあります。これは、グローバルバージョンがシステムで管理されているもの (ibusが依存する依存関係、例えば gi がインストールされるもの) ではない場合に起こり得ます。その結果、ibus のセットアップが起動しているが機能しない (システムトレイに ibus があるが、環境設定が開けない、など) ことがあります。この問題を確認する一つの方法は、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

キーを押し続けると "固着" する

特定のゲーム、特に Proton 経由で実行されるゲームでは、キーを数秒間押し続けると、そのキーが再度押されて離されるまで "固着" (押されたものとして押され続ける) することがあります。限られたテスト [1] では、IBus デーモンを kill するだけでこの問題が解決することがわかりました。

参照