今回からしばらくwineについて書いていきたいと思います.
VirtualBoxでWindowsを仮想化してあるとはいえ,やはり
Windowsソフトをそのまま使えた方が便利なのは事実.
そこで,私もwineに挑戦してみることにしました.
昔かるく触ったことがあるのですが,その時は,Photoshopを使っただけでした.
マニュアルもろくすっぽ読まなかったので,スキャナが使えないことにイライラして,
結局Gimpを使うようになりましたが,最近ComicStudioを買ったので,
それをLinuxで使おうと思いまして.
(現在はVirtualBoxで使ってます)
ある意味,wineへの挑戦は,Windowsからlinuxへ移ってきた人なら,誰もが通る道なのかもしれません.
wine使用の目標は,ComicStudioとMikuMikuDanceの完全動作です.
どうなることやら(^^;)
とりあえず今日は基本的な話から.
WineHQ本家のマニュアルを読んだ人なら,読む必要はないです.
環境
OS:debian 5.0 lenny
CPU: Phenom II x4 (amd64)
■Wineをはじめて使う方へ
Wineでは動かせるソフトウェアがかぎらています.
よく動くソフトとしては,私の経験則ですが,
・ちょっとしたフリーソフト
・少し古いソフト
・マイクロソフト社の製品
・Adobe社の製品
などです.
自分が使いたいソフトウェアは,すでに他の人が試している可能性があります.
その手の情報は,
WineHQの
AppDBにまとめられています.
英語サイトですが,一度のぞいてみることをおすすめします.
(ただしAppDBで動くと記されているソフトウェアが,必ずしも自分の環境で動くわけではありません.
こればかりは試してみなければわかりません)
また,Wine以外にもLinuxでWindowsソフトウェアを快適に使う手段として,
ハードウェアを仮想化してOSを同時に複数動かすという手段があります.
仮想化の仕組みについては割愛しますが,Linuxでは,VirtualBoxやXenなど,
優れた仮想化ソフトが多々あります(もちろんフリーソフトです)
VirtualBoxの使い方については,過去の記事の,
linux(debian lenny)でVirtualBoxを使う まとめをご覧ください.
(以下,ターミナルでのコマンド操作がいくつか出てきますが,”#”から始まるコマンドはスーパーユーザ権限,”$”から始まるコマンドはユーザ権限で実効してください.(”$”の方は,スーパーユーザで実行しても大体大丈夫だと思います)
スーパーユーザ権限は,
$ sudo (コマンド)
とすることで,実行できます)
◆インストール
aptを使ってインストールしてもいいのですが,なるべく最新版が欲しいので,
WineHQから最新版のdebファイルをダウンロードしてインストールしました.
WineHQではdebian以外のlinuxでのインストール方法についても
詳しく書いてありますので,debian以外の方はそちらをご覧ください.
# dpkg -i wine_1.1.33~winehq1-1_amd64.deb
# dpkg -i wine-dev_1.1.33~winehq1-1_amd64.deb
# dpkg -i wine-dbg_1.1.33~winehq1-1_amd64.deb
◆とりあえずソフトウェアを起動する.
GUIの場合,Xウインドウシステムの種類によっては,exeファイルをダブルクリックするだけで,起動できる場合もあります.
コマンドの場合は,例えばfoo.exeというwindowsソフトを起動したいなら,
$ wine foo.exe
とすれば,実行できます.
◆設定
wineの設定は,winecfgにより行えます.
とりあえず機動してみましょう.
$ winecfg

一度winecfgが起動されると,ホームディレクトリに,
~/.wine
から始まるディレクトリがいくつか作られます.
これが,擬似的なWindows環境として機能します.
winecfgのタブと,その使い方について説明します.
○アプリケーションタブ
アプリケーションタブを用いると,ソフトウェアごとの設定を行うことが出来ます.
はじめは”既定の設定”だけですが,「アプリケーションの追加」ボタンから,
アプリケーションを追加することが出来ます.
追加したアプリケーションを選択した状態で,他のタブの設定を行うと,
その選択したアプリケーションについてのみ設定が反映されます.
後で詳しく書きますが,dllファイルの設定などを変更する際に,
いきなり”既定の設定”を変更すると,最悪の場合winecfgが起動しなくなります(^^;)
そのような事態を防ぐ安全策としても有効です.
○デスクトップ統合
デザインの設定ができます.
一番重要なのは,font設定でしょうか.
”外観”の”項目”リストを色々見てみると,ときどき「フォント」ボタンが有効になる項目があります.
wineが文字化けする場合は,ここで適切なフォントを指定しましょう.
linuxに入っているフォントなら大抵使えます.
ただし,メッセージボックスに表示される文字などの場合,Windows専用フォントが
必要となる場合があります.
そこで,本物のWindowsのc:\windows\Fonts内のすべてのフォントを,
~/.wine/drive_c/windows/Fonts/にコピーしておくのがいいでしょう.
今いち利用価値がわかりませんが,テーマを指定することも出来ます(^^;)
どこかのWindowsテーマを配布しているサイトからテーマをダウンロードした場合,
「テーマのインストール」ボタンからそれを選択し,"テーマ"から指定してください.
ただしこれも下手するとwinecfgが起動しなくなるので注意してください.
基本的にはいじらない方が無難です.
○ライブラリ
ライブラリタブは,dllの設定ができます.
Wineには元からwineが持っているdll(以下built-in)がありますが,
これは本物のWindowsのdll(以下native)に似せて作ってあるので,
正しく動かないときがあります.
そこで,wineにはnativeとbuilt-inのいずれを使用するかを選択する機能があります.
ただし,nativeを使ったからといって,必ずしも正しく動作するわけではなく,
built-inのほうがうまく動くときもあります(’∀';)
built-inやnativeなどのdllは主に\windows\system32にあります.
nativeを直接~/.wine/drive_c/windows/system32にコピーすると,
built-inが上書きされてしまうので,
~/.wine/drive_c/windows/system32/native
のようなディレクトリを作成して,そのなかに入れてください.
--------------------------------------------------------
■追記(2010年3月1日)
この部分は,実を言うとちょっと自信がないです.WineHQの
Wine User Guideの
3.1.2. Libraries Settingsの3.1.2.1. DLL Overridesの2行目くらいに,
After you've located a native DLL on a Windows system, you'll need to put it in suitable place for Wine to find it and then configure it to be used. Generally the place you need to put it is in the directory you've configured to be c:\windows\system32 (more on that in the drives section).
という文章があります.
この文章の中でも特に,最後の”(more on that in the drives section)”という部分が,私の英語力では上手く解釈できません.
「c:\windowsやc:\にnativeをおけば認識する」という意味なのか,上に記したように「『c:\windows\system32』より下にあるディレクトリにnativeを置く」という意味なのか…………英語の得意な方がいらっしゃいましたら教えてくださいm(_ _)m
--------------------------------------------------------
次に「ライブラリ」タブの「ライブラリの新規オーバーライド
(New override for library)」から,
設定を変更したいdllを選択します.
設定したいdllがリストにないときは,キーボードで書いてください.
選択したら「追加」ボタンをおします.
下のリストにdllが追加されます.
「編集」ボタンをおすと,使用するdllを変えられます.
"builtin","native","builtin後native","native後builtin","無効"
のチェック欄があると思います.
デフォルトは"native後builtin"です.
これを"native"または"builtin後native"にすると,
先ほど追加したnativeのdllを使えるようになるみたいです.
nativeは本物のWindowsから持ってくるか,
dll-files.com
http://www.dll-files.com/
等からダウンロードしてください.
また,何かソフトウェアをインストールした際に,そのソフト専用のdllが
あった場合も,先ほど作成したディレクトリに”コピー”(移動ではなく)したほうが無難かもしれません.
何にせよ,手っ取り早い手法がないので,色々試して調節していくしかないようです(’∀';)
ソフトウェアがどのようなdllを利用するかを調べたいときは,
$ WINEDEBUG=+loaddll wine foo.exe
のようにして実行します.
また,ターミナルでwineを使ってWindowsソフトを動かすと,
wineがエラーを吐くことがあります.
例えば,こんな感じです↓
fixme:imm:ImeHandleNotify WM_IME_NOTIFY:IMN_SETOPENSTATUS
fixme:imm:ImmReleaseContext (0x10040, 0x14b9c0): stub
"fixme"は,たぶん"fix me(私を直してね)"という意味でしょう.
fixmeの隣に書いてあるのがdll名です.
ここではimm.dllまたはimm32.dllのことでしょうか.
imm.dllがあるかどうかは,findコマンドを使うと簡単に調べられます.
built-inまたはnativeのおいてあるディレクトリで,
$ find . -name imm.dll
というコマンドを実行してください("."はカレントディレクトリという意味です)
imm.dllがあればその場所を表示してくれます.
ない場合はなにも表示されません.
ただ,上記の検索方法ではimm32.dllを見つけ出せないので,
$ find . -name imm*
みたいにするほうが効率的です.
表示されるエラーメッセージは主に2種類あるようです.
一つは"fixme",もう一つは"err"です.
"fixme"は「dllファイル自体はあるけど,なんかおかしい」
"err"は「dllファイル自体ないよ」
って感じのようです.(ちょっと違うかも)
ただ,エラーがでたからといって,ソフトウェアが誤作動しているとは限りません.
そもそもwineはwindows環境でしか動かないソフトをlinux環境で動かすという
無茶な事をやっているのでエラーはでて当たり前なんです.
だから,目に見えて誤作動していないかぎり,エラーが出ても気にしない方がいいでしょう.
下手に設定をいじってwineがぶっ壊れる事もあります(^^;)
○nativeを追加する時の注意事項公式マニュアルに,追加してはいけないnativeの情報がかいてあります.
次のdllはbuilt-inを使ってください.
kernel32.dll, gdi32.dll, user32.dll, ntdll.dll
また,どれが該当するのかよくわかりませんが,
NTベースのdllもbuilt-inを使った方がいいそうです.
たぶん,これは,「追加」ボタンを押したときに,警告がでる種のdllだと思います.
◆wine関連ソフト
1.WineTricks…………DirectXや.NET Frameworkなどのランタイムを半自動でインストールし,設定してくれるソフト.
ただし,WineTricksの設定が必ずしも正しいとはいえない.
2.Wine-Doors…………WineTricksの改良版.ただしGnome専用
2.PlayOnLinux…………Wineでゲームを動かしやすいようにするためのソフト.
しかしゲーム以外もインストールでき,windows擬似環境を複数構築できるため,利用範囲は広そう.
◆参考資料
1.
Wine User Guide2.
Wikipedia --wine3.
Wine - 必要な DLL を調べる方法
テーマ Linux ジャンル コンピュータ
Comments
雑な記事ですが,お役に立てたようでなによりです.
お陰様でWindows用のmikatypeと言うタッチタイピングの練習用ソフトをLinuxで使えるようになりました。
ありがとうございます。
ちょっとナーバスなので,励みになりました.
more on that in the drives section のところは(I will mention)が省略されているよくある言い回しで、「これについてはドライブの章でもっと触れます」という感じの意味だと思います。
お役に立てたようでうれしいです。
> more on that in the drives section のところは・・・(後略)
なるほど! そういう意味でしたか。
また時間のあるときに、wineの公式リファレンスを読み直してみます。