X11.appで日本語入力

Darwineで、kinput2,cannaを用いた日本語入力の設定をがんばってみました。
完全に理解した上でやったわけではないので余計な記述もあるかもしれません。

インストール+設定

$sudo port install kinput2, canna
$sudo launchctl load -w /opt/load/etc/LaunchDaemons/org.macports.canna/org.macports.canna.plist
  • 確認
$ps -ax | grep cannaserver
$cp /usr/X11/lib/X11/xinit/xinitrc ~/.xinitrc
  • ~/.xinitrcに次を追記
if [ -f "/opt/local/bin/kinput2" ]; then
    /opt/local/bin/kinput2 &
fi

# ↓ここに書かなくてもいい?
# export LANG=ja_JP.UTF-8
  • .bashrcに次を追記(bashの場合)
export LANG=ja_JP.UTF-8
export XMODIFIERS='@im=kinput2'
  • ~/.MacOS/environment.plistを編集(ない場合は作成する)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>LANG</key>
	<string>ja_JP.UTF-8</string>
	<key>XMODIFIERS</key>
	<string>@im=kinput2</string>
</dict>
</plist>
  • 下のようなダイアログが出たら[No]を選択。



 出ない場合は、~/Library/Preferences/org.x.X11.plist を一度削除して再起動。上記ダイアログに[No]で答える。

  • *.exeファイルをWineHelper.appで開いて日本語入力する場合。

~/Library/Preferences/org.wine.winehelper.plist をProperty List Editor.app(デフォルト)で開いて、
Root > Environment に、LANG の value を ja_JP.UTF-8 と、XMODIFIERS の value を @im=kinput2 に設定する。
なお、どちらもClassはString。

動作状況



  • xtermで日本語入力する場合、OS立ち上げて1度目はShift+Space(command+Spaceでもおk)で入力切り替え出来るが、

一度xtermを閉じてから、もう一度立ち上げて切り替えようとすると出来ない。

  • WineHelper.appでメモ帳(notepad.exe)を起動して日本語入力する場合、インライン入力は出来ず、画像のようになる。

なお、10文字程度以上一度に入力しようとするとバッファがオーバーフローする。

  • うまく日本語入力できないときは一度OSを再起動してみるか、フォント設定を確認する。


結局、もっとも確実な日本語入力は
Macネイティブ側で日本語文を打ち込んで(普通にクリップボードで)コピーしてwine側に貼付けることなんじゃないかと思ったりする。