Smart Common Input Method

提供: ArchWiki
2017年1月12日 (木) 20:45時点におけるKusakata (トーク | 投稿記録)による版 (同期)
ナビゲーションに移動 検索に移動

関連記事

SCIM は Su Zhe (またの名を James Su) によって2001年に開発された入力メソッドフレームワークです。類似のソフトウェアとして IBusUIM が存在します。

開発当初は以下のことを目標としていました:

  • 今日存在する入力メソッドライブラリの統一フロントエンド。UIMm17n ライブラリのバインディングが使えます。
  • IIIMF 入力メソッドフレームワークの言語エンジンとして機能すること。
  • 出来る限り多くの言語の IM エンジンを使えるようにすること。
  • 出来る限り多くの入力メソッドのプロトコルやインターフェイスをサポートすること。
  • 出来る限り多くのオペレーティングシステムをサポートすること。

近年では SCIM には以下のような特徴があります:

  • 高度なモジュール性。
  • 動的にロードされるライブラリとしても、C/S 入力メソッド環境としても使える幅広い柔軟性。
  • シンプルなプログラミングインターフェイス。
  • UCS-4/UTF-8 エンコードのサポートによる完全な i18n 対応。
  • 設定しやすく統一された設定フレームワーク。

インストール

SCIM は公式リポジトリscim パッケージでインストールできます。

入力メソッドエンジンのインストール

SCIM プロジェクトは現在30以上の言語の入力メソッドに対応しています。(簡体/繁体) 中国語, 日本語, 韓国語, 多数のヨーロッパ言語などが使えます。例えば以下のようなパッケージが存在します:

設定

以下の手順に従って SCIM を設定する必要があります:

  1. 環境変数を export して使用する入力メソッドを指定。
  2. ロケール関連のファイルを編集。
  3. SCIM を起動。

入力メソッドの設定

デスクトップ環境やウィンドウマネージャで SCIM を動作させる場合、以下の行を /etc/xprofile~/.xprofile に記述して再ログインしてください:

~/.xprofile
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE="scim"
export QT_IM_MODULE="scim"
ノート: 1番目の環境変数は XMODIFIERS=urxvt などのオプションと衝突します。

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_CTYPELANGen_US.UTF-8 の場合は ja:ko:zhen: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 はあなたの使用しているロケールに置き換えてください。

ノート: Your locale has to be active (i.e. you have to uncomment it in /etc/locale-gen and then execute locale-gen as root) and has to be supported by SCIM (most *.UTF-8 locales are).

有効になっているロケールがわからない場合、以下のコマンドで確認できます:

$ locale -a

もしくは /etc/locale.gen を見てください。

実行

SCIM は scim コマンドだけでも起動できますが、普通はデーモンとして SCIM を起動します:

$ scim -d

上記のコマンドをスクリプトファイルなどに記述して自動的に実行されるようにしてください。通常は ~/.xinitrc, /etc/profile, ~/.config/openbox/autostart (Openbox を使用している場合) などを使います。

GNOME

デスクトップ環境として GNOME を使っている場合、上記のコマンドでうまくいかない場合があります。そのようなときは以下のコマンドを使ってください:

$ scim -f x11 -c simple -d

SCIM を自動的に起動させたい場合、GNOME のスタートアップ設定から新しいスタートアップを作成して上記のコマンドを入力してください。

ノート: scim -f socket -c socket -d を使用した場合、SCIM の設定は変更できなくなります。

KDE

デスクトップ環境として KDE を使っている場合、以下のコマンドを使う必要があるかもしれません:

$ scim -f socket -c socket -d

トラブルシューティング

LWJGL (Lightweight Java Game Library) でキーボードのフォーカスが外れる

[1][2] を見てください。

Chrome/Chromium で入力できない

xprofile に以下のように設定してください:

~/.xprofile
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE="xim"
export QT_IM_MODULE="scim"
scim -d

上記の設定を使うと単語を入力してからスペースバーや修飾キーを押すと編集前の文字列が消えてしまうという問題も報告されているので注意してください。

ロケール

SCIM と入力テーブルをインストールしても SCIM が動作しない場合、/etc/profileLC_CTYPE 環境変数を設定して使用するロケールを指定する必要があります。以下のように LC_CTYPE のエントリを作成してください:

LC_CTYPE="ja_JP.UTF-8"

変更を加えたら locale-gen コマンドでロケールを生成してください。

参照