「Fcitx」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
7行目: 7行目:
 
{{Related2|uim を使って日本語を入力|UIM}}
 
{{Related2|uim を使って日本語を入力|UIM}}
 
{{Related articles end}}
 
{{Related articles end}}
[http://code.google.com/p/fcitx/ FCITX] (Flexible Input Method Framework) は Linux に環境非依存の言語サポートを提供する[[Wikipedia:ja:インプットメソッド|インプットメソッドフレームワーク]]です。多くの言語をサポートし便利な non-CJK 機能が含まれています。
+
[https://fcitx-im.org/wiki/Fcitx Fcitx] (Flexible Input Method Framework) は Linux に環境非依存の言語サポートを提供する[[Wikipedia:ja:インプットメソッド|インプットメソッドフレームワーク]]です。多くの言語をサポートし便利な non-CJK 機能が含まれています。
   
 
==インストール==
 
==インストール==
 
{{Pkg|fcitx}} は [community] リポジトリから [[Pacman]] でインストールできます。
 
{{Pkg|fcitx}} は [community] リポジトリから [[Pacman]] でインストールできます。
  +
  +
本体の他に、GTK+ や Qt アプリケーションで使うための[[#設定|インプットメソッドモジュール]]をインストールすると良いでしょう。
   
 
=== インプットメソッドエンジン ===
 
=== インプットメソッドエンジン ===
28行目: 30行目:
 
* {{Pkg|fcitx-libpinyin}}: {{Pkg|libpinyin}} がベース。素晴らしいアルゴリズムを持っていますがバグが存在し、辞書が欠けています。
 
* {{Pkg|fcitx-libpinyin}}: {{Pkg|libpinyin}} がベース。素晴らしいアルゴリズムを持っていますがバグが存在し、辞書が欠けています。
 
* {{Pkg|fcitx-googlepinyin}}: {{Pkg|libgooglepinyin}} がベース。Android 用の Google ピンイン IME。
 
* {{Pkg|fcitx-googlepinyin}}: {{Pkg|libgooglepinyin}} がベース。Android 用の Google ピンイン IME。
  +
* {{AUR|fcitx-sogoupinyin}}: Linux 向けの捜狗インプットメソッド。同音異字、クラウド入力、英語入力、混合入力をサポート。
 
* {{Pkg|fcitx-cloudpinyin}}: クラウドによる中国語入力をサポート。
 
* {{Pkg|fcitx-cloudpinyin}}: クラウドによる中国語入力をサポート。
 
* {{Pkg|fcitx-chewing}}: {{Pkg|libchewing}} がベースの繁体字の注音入力エンジン。
 
* {{Pkg|fcitx-chewing}}: {{Pkg|libchewing}} がベースの繁体字の注音入力エンジン。
86行目: 89行目:
 
=== デスクトップ環境 ===
 
=== デスクトップ環境 ===
   
[[KDE]], [[GNOME]], [[Xfce|XFCE]], [[LXDE]] などの XDG 互換のデスクトップ環境を使っている場合は、再ログインで自動的に起動するようになるはずです。起動しないときは、ターミナルを開いて次のように入力してください:
+
[[KDE]], [[GNOME]], [[Xfce]], [[LXDE]] などの XDG 互換のデスクトップ環境を使っている場合は、再ログインで自動的に起動するようになるはずです。起動しないときは、ターミナルを開いて次のように入力してください:
   
 
$ fcitx
 
$ fcitx
134行目: 137行目:
   
 
===Emacs===
 
===Emacs===
LC_CTYPE が英語の場合、emacs のバグによって emacs でインプットメソッドが使えなくなることがあります。emacs を起動する前に "ja_JP.UTF-8" など LC_CTYPE を他の値に設定することで問題を回避できます。
+
{{ic|LC_CTYPE}} が英語の場合、emacs のバグによって emacs でインプットメソッドが使えなくなることがあります。emacs を起動する前に {{ic|ja_JP.UTF-8}} など {{ic|LC_CTYPE}} を他の値に設定することで問題を回避できます。
  +
  +
使用するロケールは有効である必要があります。{{ic|/etc/locale.gen}} を編集して適当な行 (例: {{ic|ja_JP.UTF-8}}) をアンコメントし、{{ic|locale-gen}} を実行してください。
  +
  +
[[Emacs#デーモンとして|emacs デーモン/クライアントモード]]を使う場合、デーモンの起動時に {{ic|LC_CTYPE}} を設定してください。例えば {{ic|1=LC_CTYPE=ja_JP.UTF-8 emacs --daemon}} というコマンドを使って emacs デーモンを起動します。
   
 
デフォルトのフォントセットはベースフォントとして {{ic|-*-*-*-r-normal--14-*-*-*-*-*-*-*}} を使います (src/xfns.c)。マッチするフォント (terminus や 75dpi など、{{ic|xlsfonts}} の出力を見て下さい) がない場合、XIM は有効になりません。
 
デフォルトのフォントセットはベースフォントとして {{ic|-*-*-*-r-normal--14-*-*-*-*-*-*-*}} を使います (src/xfns.c)。マッチするフォント (terminus や 75dpi など、{{ic|xlsfonts}} の出力を見て下さい) がない場合、XIM は有効になりません。
153行目: 160行目:
 
プログラムによっては xim しか使わないため、そうしたプログラムを使っているときは、XMODIFIERS が正しく設定されているか確認してください。プログラムの例: gtk や qt を使わないプログラム全て (例: tk や motif、もしくは xlib を直接使っているプログラム), emacs, opera, openoffice, libreoffice, skype。
 
プログラムによっては xim しか使わないため、そうしたプログラムを使っているときは、XMODIFIERS が正しく設定されているか確認してください。プログラムの例: gtk や qt を使わないプログラム全て (例: tk や motif、もしくは xlib を直接使っているプログラム), emacs, opera, openoffice, libreoffice, skype。
   
gnome の gnome-terminal で fcitx が有効にできず、上の方法で効果がない場合は、右クリックプットメソッメニューから Fcitx 選択してみて下さい
+
gnome の gnome-terminal で fcitx が有効にできず、上の方法で効果がない場合は、以下コマンドをしてみて下さい:
  +
  +
$ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
   
 
=== 内蔵の Chinese Pinyin がデフォルトで有効にならない ===
 
=== 内蔵の Chinese Pinyin がデフォルトで有効にならない ===
181行目: 190行目:
   
 
これでレイアウトがちゃんと使えるようになるはずです。KDE のレイアウト切り替えrアイコンが表示され、マウススクロールしたりアイコンをクリックすることでレイアウトを切り替えられます。
 
これでレイアウトがちゃんと使えるようになるはずです。KDE のレイアウト切り替えrアイコンが表示され、マウススクロールしたりアイコンをクリックすることでレイアウトを切り替えられます。
  +
  +
=== 勝手にインプットメソッドが英語に切り替わってしまう ===
  +
  +
XMind でエンターを押してノードを作成したときなど、インプットメソッドが勝手に英語に切り替わってしまって、元のインプットメソッドに手動で戻さなくてはならないことがあります。
  +
  +
この問題を修正するには、fcitx の GUI 設定ツール ({{Pkg|fcitx-configtool}} に含まれています) を開いて、"Global Config" タブの "Share State Among Window" ドロップダウンメニューから、"PerProgram" または "All" を選択してください。
   
 
==参照==
 
==参照==
 
*[https://github.com/fcitx/fcitx/ Fcitx GitHub]
 
*[https://github.com/fcitx/fcitx/ Fcitx GitHub]
*[https://code.google.com/p/fcitx/ Fcitx Google Code]
 
 
*[http://fcitx-im.org/ Fcitx Wiki]
 
*[http://fcitx-im.org/ Fcitx Wiki]

2015年9月25日 (金) 18:34時点における版

関連記事

Fcitx (Flexible Input Method Framework) は Linux に環境非依存の言語サポートを提供するインプットメソッドフレームワークです。多くの言語をサポートし便利な non-CJK 機能が含まれています。

インストール

fcitx は [community] リポジトリから Pacman でインストールできます。

本体の他に、GTK+ や Qt アプリケーションで使うためのインプットメソッドモジュールをインストールすると良いでしょう。

インプットメソッドエンジン

入力したい言語にあわせて、インプットメソッドエンジンをインストールしてください:

日本語

  • fcitx-anthy: 人気の日本語入力エンジン。開発は停止しています。
  • fcitx-mozc: Google 日本語入力のオープンソース版である Mozc がベース。
  • fcitx-kkc: libkkc がベースの新しい日本語仮名漢字入力エンジン。
  • fcitx-skk: libskk がベースの日本語仮名漢字入力エンジン。

他の言語

その他

他のパッケージは AUR からインストールできます。fcitx のコンポーネントをインストールした後は fcitx の再起動が必要です。

設定

Fcitx は GUI の設定ツールを提供しています。AUR から kcm-fcitx (kcm ベース), fcitx-configtool (gtk3 ベース), fcitx-configtool-gtk2AUR (gtk2 ベース、サポートなし) のどれかをインストールできます。

Fcitx は手動設定をサポートしていません。

GTK+ と Qt モジュール

gtk や qt のプログラムでより良いエクスペリエンスを得たり、(特に gtk の方で) xim によって生じる未解決の問題・バグを除くために、gtk や qt の適切なインプットメソッドモジュールをインストールしてください: fcitx-gtk2 (gtk2), fcitx-gtk3 (gtk3), fcitx-qt4 (qt4), fcitx-qt5 (qt5)。次のコマンドを実行することで4つのパッケージをインストールできます (fcitx-qt5 はあまり使われていないので含まれていません):

# pacman -S fcitx-im

Fcitx を使う前に、環境変数をいくつか設定する必要があります。設定はとても簡単です。

以下の行をデスクトップのスタートアップスクリプトファイル (KDM, GDM, LightDM を使っている場合は .xprofile もしくは .profile、startx や Slim を使っている場合は .xinitrc) に追加してください。この設定で、fcitx は gtk/qt のインプットメソッドモジュールを使うようになり xim プログラムをサポートします (必要なインプットメソッドモジュールがすでにインストールされているか確認してください):

 export GTK_IM_MODULE=fcitx
 export QT_IM_MODULE=fcitx
 export XMODIFIERS="@im=fcitx"
ノート: 上の設定で動かないときは export DefaultIMModule=fcitx を追加してみて下さい。

変更を適用するためにログインしなおしてください。

Xim

任意で、gtk や qt のプログラムで xim を使うように設定することも可能で、その場合上の行を以下のように変更してください:

 export GTK_IM_MODULE=xim
 export QT_IM_MODULE=xim
警告: xim を使用するとインプットメソッドによって、入力ができなくなったりインプットメソッドを再起動するとアプリケーションがフリーズするなどの問題がおこることがあります。xim 関連の問題に対しては Fcitx は修正やサポートを提供できません。これは他のインプットメソッドフレームワークでも同じで、可能な限り xim ではなく ツールキット (gtk/qt) のインプットメソッドモジュールを使って下さい。
ノート: Gtk2 は 2.24.20 から immodule のキャッシュファイルとして /usr/lib/gtk-2.0/2.10.0/immodules.cache を使っています。GTM_IM_MODULE_FILE 環境変数を設定していたり公式パッケージの install スクリプトを使ってキャッシュを更新していない場合、環境変数を変更・削除して /usr/bin/gtk-query-immodules-2.0 --update-cache を使って immodule キャッシュを更新してください。

変更を適用するためにログインしなおしてください。

使用方法

デスクトップ環境

KDE, GNOME, Xfce, LXDE などの XDG 互換のデスクトップ環境を使っている場合は、再ログインで自動的に起動するようになるはずです。起動しないときは、ターミナルを開いて次のように入力してください:

$ fcitx

fcitx が正しく動作しているか確認するために、leafpad といったアプリケーションを開いて CTRL+Space (インプットメソッドの切り替えのデフォルトのショートカット) を押して FCITX を呼び出しなにか文字を入力してみて下さい。

Fcitx があなたの環境で自動で起動しない場合や fctix を起動するパラメータを変更したい場合は、デスクトップ環境によって提供されているツールを使って xdg の自動起動を設定するか ~/.config/autostart/ ディレクトリ内の fcitx-autostart.desktop ファイルを編集してください (存在しないときは /etc/xdg/autostart/ からコピーしてください)。

デスクトップ環境が xdg 自動起動をサポートしていない場合は、(環境変数を正しく設定した後に) 次の行をスタートアップスクリプトに追加してください:

$ fcitx

xim サポートのある他のインプットメソッドが動作していると、Fcitx は xim エラーで起動できません。Fcitx を起動する前に他のインプットメソッドが動いていないことを確認してください。

デスクトップ環境の統合

キーボードレイアウトの統合

現在 fcitx-keyboard が初めからサポートされています。設定ツールを開き (上述の kcm-fcitx もしくは fcitx-configtool)、"Show only current language" のチェックを外してあなたのキーボードにあったレイアウトを探して下さい。

スペルチェックを有効にするには、fcitx が fcitx-keyboard によるインプットメソッドを使っている時に ctrl + alt + h を押して下さい。長い単語を入力すれば、動いているかどうか確認できます。

Gnome-Shell

extensions.gnome.org や AURgnome-shell-extension-kimpanel-gitAUR パッケージから kimpanel をインストールでき、ibus-gjs と同じように使うことができます。

GNOME はありとあらゆるインプットメソッドを破壊しようとするため、Fcitx を使うために、gnome-control-center から全ての入力ソースとインプットメソッドのホットキーを削除してから次のコマンドを実行して iBus との統合を無効にする必要があります:

$ gsettings set org.gnome.settings-daemon.plugins.keyboard active false

KDE

kcm-fcitxkdeplasma-addons-applets-kimpanel をインストールできます。

kcm-fcitx は fcitx の kcontrol モジュールです。

kdeplasma-addons-applets-kimpanel は kde と統合するための plasmoid です。kimpanel を plasma に追加すれば fcitx は自動的に切り替えます。

クリップボード

fcitx を使ってクリップボード (とクリップボード履歴) にある文章を入力することが可能です。デフォルトのトリガーキーは Control- です。このトリガーキーはクリップボードのアドオンの設定ページにある他のオプションと同じように設定することが可能です。

ノート: クリップボードマネージャではないため、クリップボードマネージャにあるような中身の選択や変更はできません。クリップボードからの入力にだけ使えます。
警告: クライアントによっては複数行の入力をサポートしていないため fcitx-clipboard を使ってクリップボードの中身をペーストすると一行しか出ないことがあります。これはバグかプログラムの方の入力の問題なので fcitx は何もできません。

トラブルシューティング

問題の診断

fcitx を使っていて問題が発生する場合、例えばどのアプリケーションでも Ctrl+Space が使えないなどのことが起こるときは、fcitx-diagnose を使ってまず問題を診断してみてください。fcitx-diagnose はよくある問題についての手がかりを提供してくれます。また、(IRC やフォーラムなどで) 他の人に相談するときはコマンドの出力を貼り付けると役に立つはずです。

Emacs

LC_CTYPE が英語の場合、emacs のバグによって emacs でインプットメソッドが使えなくなることがあります。emacs を起動する前に ja_JP.UTF-8 など LC_CTYPE を他の値に設定することで問題を回避できます。

使用するロケールは有効である必要があります。/etc/locale.gen を編集して適当な行 (例: ja_JP.UTF-8) をアンコメントし、locale-gen を実行してください。

emacs デーモン/クライアントモードを使う場合、デーモンの起動時に LC_CTYPE を設定してください。例えば LC_CTYPE=ja_JP.UTF-8 emacs --daemon というコマンドを使って emacs デーモンを起動します。

デフォルトのフォントセットはベースフォントとして -*-*-*-r-normal--14-*-*-*-*-*-*-* を使います (src/xfns.c)。マッチするフォント (terminus や 75dpi など、xlsfonts の出力を見て下さい) がない場合、XIM は有効になりません。

インプットメソッドモジュール

ほとんどのプログラムではインプットメソッドモジュールがなくてもインプットメソッドを使うことができますが、その場合、未解決の問題が発生する可能性があります。

バージョン 13 以降の firefox では、ポップアップメニューが xim にとって機能しなくなります。fcitx-gtk2 と最新の fcitx をインストールしてください。

Ctrl+Space が GTK のプログラムで機能しない

ロケールを英語に設定しているとこの問題が発生することがあります。GTK_IM_MODULE が正しく設定されているか確認してください。

参照: FAQ

  • _IM_MODULE 環境変数を設定していても fcitx が有効にできない場合は、適切なインプットメソッドモジュールをインストールしているか確認してください。

プログラムによっては xim しか使わないため、そうしたプログラムを使っているときは、XMODIFIERS が正しく設定されているか確認してください。プログラムの例: gtk や qt を使わないプログラム全て (例: tk や motif、もしくは xlib を直接使っているプログラム), emacs, opera, openoffice, libreoffice, skype。

gnome の gnome-terminal で fcitx が有効にできず、上の方法で効果がない場合は、以下のコマンドを試してみて下さい:

$ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"

内蔵の Chinese Pinyin がデフォルトで有効にならない

ロケールが en_US.UTF-8 である場合、fcitx は内蔵の Chinese Pinyin インプットメソッドをデフォルトで有効にしません。fcitx-keyboard-us インプットメソッドだけが有効にされます。fcitx-diagnose コマンドを実行すると以下のように表示されます:

   ## Input Methods:
       1.  Found 1 enabled input methods:
               fcitx-keyboard-us
       2.  Default input methods:
           **You only have one input method enabled, please add a keyboard input method as the first one and your main input method as the second one.**

GUI の設定ツールで PinyinShuangpin インプットメソッドを追加してインプットメソッドが有効にしてください。

fcitx と KDE

何らかの理由で、KDE がキーボードレイアウトを適切に扱えないことがあります。例えば、US (English) から LT (Lithuanian) に切り替えた場合、キーボードの数字キーは全てリトアニア文字になるはずですが、数字が出力されてしまいます。以下の手順で修正することが可能です:

  1. 上のセクションで書かれているパッケージをインストールしてください。
  2. バックグラウンドで fcitx を動かしている場合は終了してください。
  3. KDE に関連することを無効にします:
    1. System settings --> Input devices --> Layouts (tab) から "Configure layouts" のチェックを外して下さい。
    2. System settings --> Input devices --> Advanced (tab) から "Configure keyboard options" のチェックを外して下さい。
  4. ターミナルを開いて fcitx と入力して fcitx を起動します。ターミナルは閉じてもかまいません。fcitx はバックグラウンドで動作し続けます。
  5. 必要なレイアウトを設定してください (システムトレイアイコンを右クリックして "Configure" をクリック)。
  6. システムトレイアイコンを右クリックして、"Exit" をクリック。

これでレイアウトがちゃんと使えるようになるはずです。KDE のレイアウト切り替えrアイコンが表示され、マウススクロールしたりアイコンをクリックすることでレイアウトを切り替えられます。

勝手にインプットメソッドが英語に切り替わってしまう

XMind でエンターを押してノードを作成したときなど、インプットメソッドが勝手に英語に切り替わってしまって、元のインプットメソッドに手動で戻さなくてはならないことがあります。

この問題を修正するには、fcitx の GUI 設定ツール (fcitx-configtool に含まれています) を開いて、"Global Config" タブの "Share State Among Window" ドロップダウンメニューから、"PerProgram" または "All" を選択してください。

参照