7
29
2011
Safari5.1での日本語入力トラブル解消法
Snow Leopard上でSafari5.1にアップデートすると日本語入力ができなくなる現象について
先日Lionの発表がありましたが、それと前後して Safari もV5.0.5 から V5.1 にバージョンアップされています.Lionの環境が手元にないので Lion上のSafari5.1については未確認ですが、Snow Leopard上ではフォームなどのテキスト入力エリアで日本語インプットメソッド(ことえりやATOKなど)による入力ができなくなるという現象が多発しています.
日本語インプットメソッドでもテキストエリアに直接文字を入力するインライン変換では正常に日本語入力が行えましたが、変換ウインドウが下部に表示されている状態では文字入力ができませんでした.
明らかに何らかのバグだと思いますが、とりあえず Safariをリセットする “Reset Safari…” を選んで実行すると上記の現象は解消されました.アップデート時に旧バージョンのキャッシュ等のゴミが影響していたようです.
この方法が根本的な解決方法かどうかわかりませんが、Safari5.1へアップデートして日本語入力の問題に遭遇した場合はとりあえず 『Safariをリセットする』方法を試してみて下さい.
追記 8/05: 原因は Flash Playerとの相性問題のようです
【解決方法】”Safari”メニューにある “Reset Safari…” を実行してSafariをリセットする
【現象再発】
上記の Safariリセットで一時は問題解決かと思いましたが、使っているうちにまた同じ現象が再発してしまいました.どうやらこの問題の解消にはもっと根本的な対処方法が必要なようです.
この現象がどのような条件で発生するのか全く不明です.同じテキスト入力エリアに書き込もうとして日本語変換モードにしても何ら問題ない場合もあれば、日本語入力モードに切り替えたとたん変換入力ウインドウが画面下部に出てきて、そこで変換された日本語がブラウザのテキストエリアに全く入力することができなくなる場合もあります.
いずれにしても、インラインモードのときは日本語入力には問題無く、画面下部に変換入力ウインドウが現れる場合は、全く日本語入力ができなくなります.
仕方がないので、SafariをV5.0.5に戻すことにしました.Safari 5.0.5は現在Appleのダウンロードページからは入手できないようですので、Time Machine 等で戻すか別なシステムからコピーしてくる必要があります.
Mac OS X 10.5(Leopard)用にはSafari 5.0.6がAppleから提供されていますが、このバージョンはSnow Leopardにはインストールできません.ちなみに Snow Leopard のインストーラDVDのSafariのバージョンは Safari 4.0.3(6531.9) ですので古すぎます.
AppleのホームページからSafariのダウンロードができますが、何故か Safari 5.0.5 のダウンロードリンクボタンは、Safari 5.1のダウンロードページへリンクされています.
(8/02 午前の段階ではApple側のトラブルでエラーメッセージが出力されるだけで、ダウンロードができない状態です.バグフィクス版の差し替えのために一時的なものであれば良いのですが...)
Time Machine でシステムを戻せない場合は、仕方がないのでSnow Leopardのクリーンインストールから始めるしかないでしょう.
Snow Leopardを空いているボリュームか外付けのHDにクリーンインストールした後、System Updateを行うと OSのバージョンが 10.6.8 になります.このときSafariも自動的に 5.0.5にアップデートされています.この後にサイドSystem Updateを行うと、Safari 5.1 のアップデートが行われてしまいますので注意して下さい.
このクリーンシステムから Safari関係のファイルを全て戻してあげればSafari 5.0.5に戻すことが可能です.但し、コマンドラインの取り扱いに慣れたパワーユーザでなければこれらの作業を正しく行うのは難しいでしょう.
【補足】Safari 5.0.5スタンドアローンパッケージの入手先については、『Safari5.0.5 for SnowLeopard のダウンロード先』をご覧下さい.
AppleのホームページにはSafari5.0.5のダウンロードリンクがあるのだが...
ダウンロードリンクをクリックしてもエラーになってしまう
【補足】Safari関係の更新ファイルの一覧を調べる方法
Snow Leopard より前のMac OS X ではシステムアップデートや新しいパッケージをインストールすると、”/Library/Receipts/” ディレクトリ配下に “Receipts” (レシート)と呼ばれるパッケージのカタログ情報が残されている.
Snow Leopard 以降は Receiptsの配置場所が変わって ”/private/var/db/receipts/” ディレクトリ配下に “xxxxx.bom” と “xxxxx.plist” という形で記録されています.これらのファイルはバイナリデータなので直接テキストエディタで開くことはできませんが、pkgutilコマンドでその内容を確認することが可能です.
iMac:receipts yasuaki$ pwd
/private/var/db/receipts
iMac:receipts yasuaki$ ls -la
total 342184
drwxr-xr-x 992 root wheel 33728 Jul 27 09:48 .
drwxr-xr-x@ 55 root wheel 1870 Aug 4 09:25 ..
-rw-r--r-- 1 root wheel 36138 Jun 23 12:33 com.adobe.pkg.FlashPlayer.bom
-rw-r--r-- 1 root wheel 264 Jun 23 12:33 com.adobe.pkg.FlashPlayer.plist
...
-rw-r--r-- 1 root wheel 846789 Dec 26 2009 com.apple.pkg.Safari.bom
-rw-r--r-- 1 root wheel 506 Dec 26 2009 com.apple.pkg.Safari.plist
-rw-r--r-- 1 root wheel 908681 Dec 26 2009 com.apple.pkg.Safari404SnowLeopard.bom
-rw-r--r-- 1 root wheel 504 Dec 26 2009 com.apple.pkg.Safari404SnowLeopard.plist
-rw-r--r-- 1 root wheel 913327 Mar 12 2010 com.apple.pkg.Safari405SnowLeopard.bom
-rw-r--r-- 1 root wheel 504 Mar 12 2010 com.apple.pkg.Safari405SnowLeopard.plist
-rw-r--r-- 1 root wheel 927444 Apr 15 08:53 com.apple.pkg.Safari50SnowLeopard.bom
-rw-r--r-- 1 root wheel 503 Apr 15 08:53 com.apple.pkg.Safari50SnowLeopard.plist
-rw-r--r-- 1 root wheel 950712 Jul 21 08:34 com.apple.pkg.Safari51SnowLeopard.bom
-rw-r--r-- 1 root wheel 501 Jul 21 08:34 com.apple.pkg.Safari51SnowLeopard.plist
【省略】
このReceipts情報から 4/15 2011に Safari 5.0.5に、7/21 2011に Safari5.1 にアップデートしていることが判ります.
pkgutilコマンドで置き換えられたファイル群を調べてみると、
iMac:receipts yasuaki$ pkgutil --files com.apple.pkg.Safari51SnowLeopard
Applications
Applications/Safari.app
Applications/Safari.app/Contents
Applications/Safari.app/Contents/CodeResources
Applications/Safari.app/Contents/Info.plist
Applications/Safari.app/Contents/MacOS
Applications/Safari.app/Contents/MacOS/Safari
Applications/Safari.app/Contents/PkgInfo
Applications/Safari.app/Contents/Resources
Applications/Safari.app/Contents/Resources/AW ActiveTabClose.png
...
Applications/Safari.app/Contents/version.plist
Library
Library/Widgets
Library/Widgets/Web Clip.wdgt
Library/Widgets/Web Clip.wdgt/.identity
Library/Widgets/Web Clip.wdgt/Default.png
Library/Widgets/Web Clip.wdgt/Dutch.lproj
Library/Widgets/Web Clip.wdgt/Dutch.lproj/InfoPlist.strings
Library/Widgets/Web Clip.wdgt/Dutch.lproj/localizedStrings.js
...
System
System/Library
System/Library/Frameworks
System/Library/Frameworks/JavaScriptCore.framework
System/Library/Frameworks/JavaScriptCore.framework/CodeResources
System/Library/Frameworks/JavaScriptCore.framework/JavaScriptCore
System/Library/Frameworks/JavaScriptCore.framework/Resources
...
System/Library/PrivateFrameworks/WebKit2.framework/WebProcess.app/Contents/version.plist
usr
usr/bin
usr/bin/pubsub
usr/share
usr/share/man
usr/share/man/man1
usr/share/man/man1/pubsub.1
のように、Safari5.0.5 → Safari 5.1 へのアップデートによって置き換えられたファイルの一覧が表示されます.Time Machine を使っていればこれらのファイルを自動的に戻してくれるのでしょうが、私はOS領域は一切Time Machine でアーカイブしていませんので、今回は アプリケーションパッケージだけを前のバージョン 5.0.5 に戻しました.FrameWorkもSafari 5.0.5用に戻さなくてはなりませんが、今のところアプリケーションパッケージだけを戻しても普通に動作しているようなので、Safari 5.1のアップデータが出るまではこの状態で誤魔化しながら使い続ける予定です.
Safari5.1 では Webkit2 のフレームワークが使われているようですので、Safari 5.0.5 と 5.1 とでは中身は全く別物の筈ですが、アプリケーションパッケージだけを古いバージョンに置き換えても動いているというのはちょっと不思議ですね.恐らく Webkit2 フレームワークは完全な上位互換になっているのでしょう.→ どうやら従来のWebkitフレームワークもそのまま残っているようですので、Safari 5.0.5は従来のWebkitフレームワークの方を使うのでしょう.
それにしても、未だにAppleからSafari5.1の日本語入力トラブルの件について何のアナウンスも無いというのはどういう事なのでしょうかね.???
余談
日本語入力トラブルで SafariをV5.1からV5.0.5にダウングレードしたら、Wordpress 3.2のDashboard画面に、古いバージョンのWebブラウザなのでアップデートしなさいというメッセージが表示されてしまいました.