Inside Leopard: X11.appと日本語環境の問題
Mac OS X 10.5 LeopardではX11.appがX.orgベースのR7.2になり、標準でインストールされるようになりました。
しかし、日本語環境に関しては10.4(Tiger)とかなり違っていますので、いくつか環境整備が必要なっています。以下に基本的な問題と対処方法についてまとめておきます。日本語キーボード配列を自動認識しない
LeopardのX11.appではデフォルトのキーマップが101USキーボード配列になっており、106日本語キーボードを自動認識してくれません。この場合、xmodmapコマンドによるキーマップの変更が必要になってしまいますが、幸い、Acanthopanaxさんの日記「Leopard X11のMacBook Pro JISキーボード用Keymap」で日本語配列に対応したキーマップ一覧が紹介されているため、これを利用させて頂くとよいでしょう。xmodmap <キーマップファイル>で問題ないことを確認したら、このファイルをホームディレクトリ直下に~/.Xmodmapというファイル名で保存しておけば次回X11.app起動から自動的に読み込まれます。
UTF-8対応のxterm(uxterm)がない
この問題に対処するには、xtermをUTF-8対応でコンパイルし直すか、MacPortsからurxvtを導入するなどの方法があります。前者については、再びAcanthopanaxさんの日記「Leopardで-u8対応のxtermをビルド」が参考になります。後者については、Leopard対応のMacPorts 1.5のバイナリ(ダウンロードリンク)が公開されていますので、これを導入後、以下のコマンドでurxvtが導入できます。
$ sudo port -v install rxvt-unicode
kinput2.macimが未対応
ことえりをX11のIMとして利用できるkinput2.macimが現時点でLeopardに対応していません。
$ sudo port -v install kinput2-macim
---> Fetching kinput2-macim
Error: Target org.macports.fetch returned: Sorry, kinput2-macim is not supported yet on your platform.
Warning: the following items did not execute (for kinput2-macim): org.macports.activate org.macports.fetch org.macports.extract org.macports.checksum org.macports.patch org.macports.configure org.macports.build org.macports.destroot org.macports.install
Error: Status 1 encountered during processing.
仕方がないので、通常のkinput2とcannaを導入し、当面の間X11上ではcannaで日本語入力することにします。MacPortsからkinput2を導入すると依存関係で自動的にcannaもインストールされます。
$ port deps kinput2
kinput2 has library dependencies on:
canna
$ sudo port -v install kinput2
portコマンドが終了したら、cannaserverが自動起動するようにlaunchctlコマンドで設定しておきます。
$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.canna.plist
$ ps -ax|grep cannaserver
36459 ?? 0:00.00 /opt/local/sbin/cannaserver -u canna -syslog
36464 ttys001 0:00.00 grep cannaserve
kinput2の設定は、~/.MacOS/environment.plistと~/.xinitrcで行います。
$ vi ~/.MacOS/environment.plist
~/.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>
$ cp /usr/X11/lib/X11/xinit/xinitrc ~/.xinitrc
$ vi ~/.xinitrc
~/.xinitrc: #!/bin/sh userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
:
[ -f "/opt/local/bin/kinput2" ] && /opt/local/bin/kinput2 & exec quartz-wm
上記設定が完了したら、Mac OS Xに再ログインした後X11.appを再起動します。
なお、ホームディレクトリに~/.xinitrcがある状態で最初にX11.appを起動したとき、以下のようなダイアログが表示され~/.xinitrcを無視するかどうかを聞かれます。この場合は、必ず「No」を選択してください。
もし、「Yes」を選択してしまった場合などで、~/.xinitrcが読み込まれない状態になってしまった場合は、~/Library/Preferences/ディレクトリ内のorg.x.X11.plistファイルを削除し、X11.appを再起動して、上図ダイアログに「No」で答えてください。Cmd-TabでX11.appに切り替えたときXのウィンドウが手前に来ない
日本語環境の問題というわけではありませんが、X11.app 1.0の初期のバージョンにあったバグが再発しています。ワークアラウンドとしては、Cmd-TabでX11.appを手前にした後、一度Exposeを起動するか、「ウィンドウ」メニュー「次のウィンドウ」に割り当てられているキーCmd-→をタイプすることでX11の各ウィンドウも手前に表示されるようになります。
その他、たちゃなさんのMac OS X環境整備に関する秀逸なドキュメントBeginning OS XのLeopard版「Begening OS X 10.5」の草稿が公開されています。こちらも大変参考になりますので、是非ご覧ください。
【追記 2008.2.12】
上で述べたkinput2.macim以外の3つの問題は、Mac OS X 10.5.2 UpdateでインストールされるX11.app 2.1.1で改善されました。
| 固定リンク
「mac」カテゴリの記事
- Core 2 Duo Mac上のVMWare Fusionで32bit Solaris 10を動作させるTIPS(2008.03.23)
- MacBook 2.4GHz Core 2 DuoのSATAホストアダプタはSATA-150(2008.03.23)
- MacBook 2.4GHz Core 2 Duoがやってきた!(2008.03.21)
- rsyncでリモート・バックアップ・サーバの構築(Time Capsuleの代替案)(2008.02.16)
- Mac OS X 10.5.2 Update: X11.appの日本語環境問題なども改善(2008.02.12)
この記事へのコメントは終了しました。
コメント