wineでie7を動かす
Update: LinuxやBSDでIEを動かした方はVirtualBoxを使うことをお薦めします。以下のWineベースのより
設定が簡単で快適に使えます。
linuxでIE7を使えるようにした。flashもとりあえず動く。開発のためのレンダリングとか機能のチェックには使えそうだ。
環境:Ubuntu 9.04
準備: 最新のwine(1.1.35)をhttp://www.winehq.org/download/debに従ってインストール
$ wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -
$ sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/jaunty.list -O /etc/apt/sources.list.d/winehq.list
$ sudo apt-get update
$ sudo apt-get install wine
ドキュメント
- やりかた: http://wine-review.blogspot.com/2009/02/ie-7-on-linux-with-wine.html
- クラッシュの回避方: http://osdir.com/ml/wine-bugs/2009-11/msg01399.html
基本的に「IE7 on Linux with Wine」の指示に従に従っていく。
Wine DLL Overridesの設定
winecfgでLibrariesタブを開き、次のように設定する
"browseui"="native, builtin"
"comctl32"="builtin"
"crypt32"="native, builtin"
"gdiplus"="native"
"hhctrl.ocx"="native, builtin"
"hlink"="native, builtin"
"iernonce"="native, builtin"
"iexplore.exe"="native, builtin"
"itircl"="native, builtin"
"itss"="native, builtin"
"jscript"="native, builtin"
"mlang"="native, builtin"
"mshtml"="native, builtin"
"msimtf"="native,builtin"
"msxml3"="native,builtin"
"riched20"="native,builtin"
"riched32"="native,builtin"
"secur32"="native, builtin"
"shdoclc"="native, builtin"
"shdocvw"="native, builtin"
"shlwapi"="native, builtin"
"url"="native, builtin"
"urlmon"="native, builtin"
"usp10"="native, builtin"
"uxtheme"="native,builtin"
"wininet"="builtin"
"wintrust"="native, builtin"
この情報は~/.wine/user.regの[Software\\Wine\\DllOverrides]というセクションにあり,これを編集しちゃとうかなと思ったが、このテキストファイルがDBなのか、それともwinecfgがregisteryを編集するのかわからないので、一々手で入力した。
この3つ以外は全て'native, builtin'だ:
"comctl32"="builtin"
"gdiplus"="native"
"wininet"="builtin"
DLL
次のdllsを~/.wine/drive_c/windows/system32/にコピーする。ウインドーズからコピーしろとあるが、以前ie4linuxがインストールのが ~/.wine/drive_c/windows/system32/にあったので、それをコピーした。
msctf.dll
msimtf.dll
uxtheme.dll
xmllite.dll
このコマンドでチェック:
for ff in msctf.dll msimtf.dll uxtheme.dll xmllite.dll; do \
ls -ld ~/.wine/drive_c/windows/system32/$ff; done
winetricks
winetricksで必要なDLLなどを入手。これはウインドーズのコンポーネントをダンロードし、wineの設定をしてくれる便利なシェルスクリプトだ。
使い方: $ sh winetricks
winetricksを走らせた後はwinecfgでcomctl32.dllの設定をbuiltinに戻すのをお忘れなく。
winecfgが/dev/snd/seqをアクセスできないとうるさいので、audioグループに入って黙らせた。
クラッシュ
次のステップはIE7のインスートルだが、途中でクラッシュする。
$ wine IE7-WindowsXP-x86-enu.exe
この指示に従って修理 http://osdir.com/ml/wine-bugs/2009-11/msg01399.html
winetricks でcc580とie7をインストールすれば直るらしい。
これでこうすると
$ wine 'C:\Program Files\Internet Explorer\iexplore'
IE7が立ち上がった!
しかし、ウェブページだけで、メニューとかURLバーとかのコントロールが一切無い。これでは使えない。でも、ie4linuxのie6よりはかなり速い。
ためしにもとの指示に従ってIE7インストールに再トライ:
$ wine IE7-WindowsXP-x86-enu.exe
全てディフォルト任せで「次」を押していった。膨大なfixmeなどメッセージが出るが、インストーラは無事終了できた。
今度はどうか?
$ wine 'C:\Program Files\Internet Explorer\iexplore'
URLバー付きのIE7が立ち上がった!! ies4linux-latestのie6よりもかなり軽い。
フラッシュ
通常のウェブからのインストールしても何もおこらない。困ったときはwinetricksってことで:
$ sh ./winetricks flash
でIEを再起動。
これでフラッシュもとりあえず使える。エミュレータを通しているので、youtubeを楽しむには遅いが、ウェブ開発のテストには使えそうだ。
まとめ
- ies4linuxは管理が停止しているよう。IE7にはies4linuxでIE7をインストールしてみたが、ネットワークスタックが駄目なのかどこのページも開けなかたた。
- 基本的にはこれでいけるhttp://wine-review.blogspot.com/2009/02/ie-7-on-linux-with-wine.html
- 困ったときにはwinetricks
注意: wine-ieはなぜかloopback interfaceが理解できないよう。localhostも127.0.0.1も駄目。なので、同じマシン上にあるURLを開くときはイーサネットアドレスを使って開けよう。http://192.168.1.3/foo/bar.htmlという具合に。