2008-02-25

Linux で IE6 を使う

回は Linux における MinGW の クロスコンパイル環境で、バイナリの動作チェックなどに利用している Wine (Wine Is Not Emulator) の話題です。

最近インターネット上で取り上げられた Wine に関するニュース:

WindowsアプリをLinuxで活用できるWine 0.9.51:日本語フォントが追加 (ZDNet Japan)
ついにPhotoshopをサポート - Win32 API互換環境「Wine 0.9.54」 (マイコミジャーナル)
GoogleがLinux上でのPhotoshop動作に資金提供 (スラッシュドット・ジャパン)


個人的には、Wine 上で Photoshop を使うことに強い関心を持っているわけではないのですが、こういった開発の成果として、Wine をより安定して利用できるようになることを期待しています。

Wine-doors


Windows Application Management for the Gnome Desktop というサブタイトルにあるように、Wine で動作するさまざまなアプリケーションをオンラインでインストールしてくれるというスグレ物です。Wine-doors » Downloads から Fedora 用の RPM wine-doors-0.1.2-1.i386.rpm をダウンロードしてファイル依存を解決後にインストールします。
Wine-doors の使用方法は、Wine-doors » Screenshots & Videos を参考にしてください。インストール例がビデオで用意されています。しかもインストールの実時間を丸ごと記録しているので、とても長いビデオです。ただし Fedora でのアプリケーションの起動はコンソール上で、wine-doors とタイプします。

自分のシステムでは(興味がある)アプリケーションのインストールには成功したものの、インストール後にフォントが表示されなくなり、導入を諦めました。おそらくフォントの色がバックグラウンドの色と同じになってしまうことが直接の原因ではないかと思います。

Wine-doors を試す場合、次のようにして、前もって現在の Wine の設定を保存しておくことをお勧めします。

$ mv .wine .wine_old

Wine では、何かの変更やインストールで変になってしまった場合、.wine のディレクトリを削除すれば良いので、比較的簡単にいろいろな事が試せます。逆に言うと、大切なファイルや情報は、.wine 内に保存しないようにしておかなければなりません。

【参考】ちなみに拡張子 .exe が付いたファイルを実行すると、自動的に Wine が起動しますが、その際に .wine のディレクトリが存在していなければ、デフォルトの設定で .wine のディレクトリ以下の内容が作成されます。

Wine-doors は、まだバージョンが低いので、しばらくは様子見ということで、問題なくインストールされたアプリケーションが動作するようになったら再度報告したいと思います。また、日本語環境で Wine-doors を問題なく利用できている方がいらっしゃれば、是非教えてください。

IEs4Linux


Linux 上で Wine を必要とする場面は、MinGW クロスコンパイル環境でビルドしたバイナリの初期動作チェックができ、かつ、Windows 向けインストーラ作成用に利用している Inno Setup を動作させることぐらいなので、とりあえず現状で満足しているのですが、欲を言えば、インターネットエクスプローラ (IE) を利用したいと思っています。そうすれば、Linux 上で Web のレイアウトチェックが IEでできます。もちろん FirefoxOpera は Wine 上で動作するのですが、肝心の IE のインストールは今まで成功していませんでした。

Wine-doors によるインストールがうまくいかなかったので、他に何かないか探したところ、IEs4Linux というサイトを見つけました。マイクロソフトのインターネットエクスプローラ (IE5, 5.5, 6) を Linux/Wine の環境で動作させるようにするプロジェクトで、自分が求めていたもの、そのものズバリのサイトです。Fedora でのインストール方法は、 Installation:Fedora で説明されている通りです。

自分のシステムでは、最初に ./ies4linux を実行すると途中でエラーが出ましたが、再度実行すると、うまくいきました。またデスクトップのショートカットが、~/デスクトップ 内にできずに、~/Desktop 内に生成されましたので、これを ~/デスクトップ 内に移し、ダブルクリックで IE6 を起動出来るようにしました。
使用言語によって、Gnome が使用するディレクトリ名が変更されるのは便利のようですが要注意です。いろいろな事情で、使用する言語設定を何度も変えていることが原因かもしれません。

さて、IE6 on Linux を起動してみた状況ですが、日本語サイトのレイアウトはフォントの関係でいまいちでした。しかし、メニューの ツール(T)Windows Update(U) では、あたかも Windows 上で実行しているかのように動作します。

問題点は、この IE を終了しても、wineserver が終了せず、top コマンドでチェックすると CPU の使用率が 100%(以上)になっていることです。システム・モニターに表示される CPU の使用量が 55% 程度であることから察するに、CPU のコアの片方が wineserver に占有されてしまっているようです(AMD Athlon 64x2 を使用)。そのため、IE を終了したあと(他に、Wine 上で動作しているアプリケーションが無ければ)毎回 kill コマンドで wineserver のプロセスを終了するようにしています。この現象は、Firefox を Wine 上で起動した場合には発生しません。

現在でも IE でしか閲覧できないサイトがあったり、Firefox と微妙にレイアウトが違ってしまうサイトがあるので、多少の不具合があっても、使えるようにしておきたいアプリケーションです。

関連情報


互換レイヤー/エミュレータ
[1] Windows Applications Seamlessly Integrated on your Linux desktop - CrossOver Linux
[2] Windows Applications Seamlessly Integrated on Mac OS X - CrossOver Mac
[3] Cygwin Information and Installation
[4] bochs: The Open Source IA-32 Emulation Project (Home Page)
[5] QEMU

仮想マシン
[1] VMware: Virtualization, Virtual Machine & Virtual Server Consolidation
[2] Citrix XenServer | オンデマンドアクセスのシトリックス
[3] Microsoft Virtual PC 2007 製品情報
 

6 件のコメント:

匿名 さんのコメント...

私はラップトップにCrossOver standard 6.2.0 をインストールしています。 テストとTcl/Tk windows版のインストールのために導入しました。 インストールするとホームディレクトリに.cxofficeができます(wineの .wineに相当)。 CrossOverからIE6をインストール。 日本語を表示しているIE6が動いています(この時のFedora8ロケールは日本語)。 IE6終了後にtopで調べましたがプロセスは残っていません。きちんと終了しているようです。 買うと$39.95ですがhttp://www.codeweavers.com/products/download_trial_linux/で試用版がダウンロード可能。30日間試用できるようです。 互換性については、http://www.codeweavers.com/compatibility/toplistsにリストがあります。 一時期wineも同時に同じFedora8上に入れていました。 コンフリクトがあったかどうかは?です。 その時はあれこれとFedra8、Ubuntu6を含めてクロスコンパイル環境づくりで試行錯誤していたので、、、。 
参考になれば幸いです。

bitWalk さんのコメント...

koji さん、こんにちは。いつもコメントをありがとうございます。
さすが、製品版は出来が良いようですね。CrossOver をお持ちなのであれば、wine は不要ですね。
ちなみに、お使いの CPU はデュアルコアな CPU でしょうか?

匿名 さんのコメント...

CrossOverの入れてあるラップトップはToshiba M45-S355です(2005年製米国仕様、、、こっちで購入したもの)。テスト用HD(40GB)を用意してFedora8を入れました。CPUはIntel Pentium M processor 1.8Ghz とのこと(CPUが何であるのかモデル名から調べた、、)。 RAMは1GBです。他にテスト用HD(40GB)にUbuntu6を入れています。どちらも既に専用トレイに入れてあり、必要なとき入れ替えて使っています。 余計な問題を避けたいので最新スペックのマシンは追わないようにしています。(別の理由:お金がない)

bitWalk さんのコメント...

koji さん、こんにちは(もとい、こんばんは。英語だと 昼夜関係なく Hello とか Hi で済ませられますけど… (^^;)。
スペックを教えてくださってありがとうございます。とても参考になりました。
私の方は、Debian 系の Linux を使う予定がないのですが、なにかおもしろいことがあれば教えてください。

匿名 さんのコメント...

私はそもそもUbuntuに詳しいわけではないので、おもしろいことはあまりわかりませんが、今はLinux上でのクロスコンパイルがおもしろいです(笑)。 マルチプラットホーム(OS)用のプログラムをクロスコンパイルで書きたいなあ。というぐらいのホームプロジェクトであって仕事ではありません。 ですから、Fedora8でもなんでも実現できればそれで満足です。Ubuntu6はじつは日本語フォントの表示が漢字と平仮名でがたがたな表示。 会社で採用し移行中なので私も使い始めようかなあと試用している段階です。
Ubuntuのパッケージはhttp://packages.ubuntu.com/ で検索できます。 mingw32をキーにして検索するとmingw32、mingw32-binutils、mingw32-runtimeなどが出てきます。
たまにeBay.comで最近の人気LinuxCD/DVDをまとめて安く買って(ダウンロードする気がないので)インストールしまくり、最近のLinuxはどう?と暇なことをしたりします。一台のコンピュータに8GBぐらいの小さめのHD(これもeBay)を何台も用意してそれぞれにインストールしています(容量が小さいのでフォーマットが早い)。 今回のように使う目的が無い限りはあまり意味がありません。

、、、というわけで、長くなりましたが早い話、お教えするほどのことは、、でした。 

bitWalk さんのコメント...

koji さん、こんにちは。いつもコメントをありがとうございます。

> mingw32をキーにして検索すると
> mingw32、mingw32-binutils、
> mingw32-runtimeなどが出てきます。

Ubuntu では、MinGW パッケージの名前が mingw32 で始まっているのですね。最初に MinGW クロスコンパイラを作り始めたときに、名前には悩んだのですが、やはり mingw32- ではじめる方が、自然かもしれませんね。あらためて悩んでみることにします。(^^;