Smart Common Input Method
SCIM は Su Zhe (またの名を James Su) によって2001年に開発された入力メソッドフレームワークです。類似のソフトウェアとして IBus や UIM が存在します。
開発当初は以下のことを目標としていました:
- 今日存在する入力メソッドライブラリの統一フロントエンド。UIM や m17n ライブラリのバインディングが使えます。
- IIIMF 入力メソッドフレームワークの言語エンジンとして機能すること。
- 出来る限り多くの言語の IM エンジンを使えるようにすること。
- 出来る限り多くの入力メソッドのプロトコルやインターフェイスをサポートすること。
- 出来る限り多くのオペレーティングシステムをサポートすること。
近年では SCIM には以下のような特徴があります:
- 高度なモジュール性。
- 動的にロードされるライブラリとしても、C/S 入力メソッド環境としても使える幅広い柔軟性。
- シンプルなプログラミングインターフェイス。
- UCS-4/UTF-8 エンコードのサポートによる完全な i18n 対応。
- 設定しやすく統一された設定フレームワーク。
目次
インストール
SCIM は公式リポジトリの scim パッケージでインストールできます。
入力メソッドエンジンのインストール
SCIM プロジェクトは現在30以上の言語の入力メソッドに対応しています。(簡体/繁体) 中国語, 日本語, 韓国語, 多数のヨーロッパ言語などが使えます。例えば以下のようなパッケージが存在します:
- 中国語 (拼音入力方法): scim-pinyinAUR。
- 中国語 (五筆字型入力方法): scim-tablesAUR。
- 日本語: scim-anthyAUR。
- 韓国語: scim-hangulAUR。
設定
以下の手順に従って SCIM を設定する必要があります:
- 環境変数を export して使用する入力メソッドを指定。
- ロケール関連のファイルを編集。
- SCIM を起動。
入力メソッドの設定
デスクトップ環境やウィンドウマネージャで SCIM を動作させる場合、以下の行を /etc/xprofile
や ~/.xprofile
に記述して再ログインしてください:
~/.xprofile
export XMODIFIERS=@im=SCIM export GTK_IM_MODULE="scim" export QT_IM_MODULE="scim"
GTK に関する注意事項
GNOME を使用している場合、/etc/gtk-2.0/gtk.immodules
を編集して末尾に以下の行を追加してください:
/etc/gtk-2.0/gtk.immodules
"/usr/lib/gtk-2.0/immodules/im-scim.so" "scim" "SCIM Input Method" "scim" "/usr/share/locale" "ja:ko:zh"
使用している LC_CTYPE
や LANG
が en_US.UTF-8
の場合は ja:ko:zh
を en:ja:ko:zh
に変更してください。
上記の変更を加えたら再起動してください。gtk-query-immodules-2.0
を実行することで利用可能な入力メソッドモジュールを確認できます。
SCIM が GTK+ アプリケーションで動作しない場合は GTK_IM_MODULE_FILE
環境変数が /etc/gtk-2.0/gtk.immodules
に設定されていることを確認してください。
自動起動ファイルに以下の行を追加することで他のファイル (例: ~/.immodules
) を使うこともできます:
gtk-query-immodules-2.0 > ~/.immodules export GTK_IM_MODULE_FILE=~/.immodules
ロケール関連のファイル
使用しているキーボードのロケールが en_US.UTF-8
(あるいは en_US.utf8
) ではない場合、以下のように ~/.scim/global
の最初の行を編集する必要があります (もしくは /etc/scim/global
を編集することで全てのユーザーに設定を適用することもできます):
/SupportedUnicodeLocales = en_US.UTF-8,ja_JP.UTF-8
ja_JP.UTF-8
はあなたの使用しているロケールに置き換えてください。
有効になっているロケールがわからない場合、以下のコマンドで確認できます:
$ locale -a
もしくは /etc/locale.gen
を見てください。
ロケールに関するさらなるトラブルシューティング
SCIM と必要な入力テーブルをインストールした後でも SCIM が機能しない場合は、/etc/profile
の LC_CTYPE
環境変数を、使用する予定のロケールに設定する必要があります。使用。次のような LC_CTYPE のエントリを作成するだけです:
LC_CTYPE="ja_JP.UTF-8"
最後に、locale-gen
コマンドを使用してロケールを生成する必要があります。
実行
SCIM は scim
コマンドだけでも起動できますが、普通はデーモンとして SCIM を起動します:
$ scim -d
上記のコマンドをスクリプトファイルなどに記述して自動的に実行されるようにしてください。通常は ~/.xinitrc
, /etc/profile
, ~/.config/openbox/autostart
(Openbox を使用している場合) などを使います。
GNOME
デスクトップ環境として GNOME を使っている場合、上記のコマンドでうまくいかない場合があります。そのようなときは以下のコマンドを使ってください:
$ scim -f x11 -c simple -d
SCIM を自動的に起動させたい場合、GNOME のスタートアップ設定から新しいスタートアップを作成して上記のコマンドを入力してください。
KDE
デスクトップ環境として KDE を使っている場合、以下のコマンドを使う必要があるかもしれません:
$ scim -f socket -c socket -d
トラブルシューティング
LWJGL (Lightweight Java Game Library) でキーボードのフォーカスが外れる
Chrome/Chromium で入力できない
xprofile に以下のように設定してください:
~/.xprofile
export XMODIFIERS=@im=SCIM export GTK_IM_MODULE="xim" export QT_IM_MODULE="scim" scim -d
上記の設定を使うと単語を入力してからスペースバーや修飾キーを押すと編集前の文字列が消えてしまうという問題も報告されているので注意してください。
ロケール
SCIM と入力テーブルをインストールしても SCIM が動作しない場合、/etc/profile
で LC_CTYPE
環境変数を設定して使用するロケールを指定する必要があります。以下のように LC_CTYPE
のエントリを作成してください:
LC_CTYPE="ja_JP.UTF-8"
変更を加えたら locale-gen
コマンドでロケールを生成してください。