X11 環境の日本語入力に MacUIM(Mozc)を使う

X11 環境で MacUIM を使って日本語入力が出来るようにするための設定です。Wine などでも日本語入力が出来るようになります。

MacUIM のインストールと設定

MacUIM のページ からディスクイメージをダウンロードします。

インストールしたら「システム環境設定 > その他 > MacUIM」を開いて「UIM」タブの「全体設定」で標準の入力方式を指定しておきます。MacOS 側で MacUIM を入力ソースに追加する必要はありません。

Mozc を使う場合、MacOS 側で Google 日本語入力を使用していると辞書を共有出来ます。

X11 の設定

$HOME/.xinitrc.d/*.sh

/opt/X11/lib/X11/xinit/xinitrc.d/98-user.sh を見てみると起動時に $HOME/.xinitrc.d/*.sh を実行する仕組みになってるので .xinitrc をコピーしたり編集しなくても、起動時に実行させたいシェルスクリプトを置いておくだけでいいようです。

98-user.sh
if [ -d "${HOME}/.xinitrc.d" ] ; then
        for f in "${HOME}"/.xinitrc.d/*.sh ; do
                [ -x "$f" ] && . "$f"
        done
        unset f
fi

$HOME/.xinitrc.d が無ければ作成し、その中に uim-xim を立ち上げるためのスクリプトを uim-xim.sh(任意)として書きます。エディタはお好みのもので。

bash
mkdir $HOME/.xinitrc.d
nano $HOME/.xinitrc.d/uim-xim.sh

uim-xim はバージョン名のフォルダに入っていますが、それと同じ階層に Current という名前のシンボリックリンクが置かれているのでバージョンアップに備えてそちらを利用した方がいいかもしれません。

uim-xim.sh
#!/bin/sh
/Library/Frameworks/UIM.framework/Versions/Current/bin/uim-xim &

テキストエディタで保存しただけだと権限が「読み/書き」だけなので chmod で実行権限を付与しておきます。

bash
chmod 755 $HOME/.xinitrc.d/uim-xim.sh

$HOME/.bashrc

以下の環境変数を追加します。環境によっては $HOME/.bash_profile だったりします。

.bashrc
export LANG=ja_JP.UTF-8
export XMODIFIERS=@im=uim
export GTK_IM_MODULE=uim

$HOME/.MacOSX/environment.plist

システムに環境変数を登録します。~/.bashrc に書いた内容は bash の時にしか適用されませんが、~/.MacOSX/environment.plist に書いた内容は Mac OS にログインしたときに適用されます(~/.bashrc との違いは Automator で env を実行してみるとわかるでしょう)。

ここに環境変数を書いておけばシェルのプロファイルには書かなくても大丈夫だと思いますが、変更するの時に不便なのでこちらをデフォルトにしてシェルのプロファイルでオーバーライドするのがいいかと思います。

~/.MacOSX/environment.plist の編集は Property List Editor を使うといいでしょう。plist ファイルにプロパティリストエディタが関連付けされているはずなので、ターミナルで以下のコマンドを入力すればすぐに開けるはずです。

open ~/.MacOSX/environment.plist

エディタが起動したら「Add Child」ボタンで行を追加し、~/.bashrc と同じように値を追加します。値の型は String にしておきます。作業が終わったら上書き保存を忘れずに。

ターミナルを使う場合は XML の書式に合わせてキーと値を追加します。

environment.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>GL_ENABLE_DEBUG_ATTACH</key>
        <string>YES</string>
        <key>LANG</key>
        <string>ja_JP.UTF-8</string>
        <key>XMODIFIERS</key>
        <string>@im=uim</string>
        <key>GTK_IM_MODULE</key>
        <string>uim</string>
</dict>
</plist>

日本語入力と直接入力の切り替え方

デフォルトの設定なら Shift+Space で切り替えが出来ます。