凡人プログラマーの独り言

プログラミング, Linux, Mac, 日常について書くblogです。


12
Category: 他OSとの連携 > WINE   Tags: ---

wineの基本的な使い方

今回からしばらく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社の製品
などです.
自分が使いたいソフトウェアは,すでに他の人が試している可能性があります.
その手の情報は,WineHQAppDBにまとめられています.
英語サイトですが,一度のぞいてみることをおすすめします.
(ただし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

wine001


一度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 Guide3.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 Guide
2.Wikipedia --wine
3.Wine - 必要な DLL を調べる方法

テーマ Linux    ジャンル コンピュータ



 

Trackbacks

Linux と Windows を相互運用していると、様々な場面で「やっぱりこのWindowsのこのソフトが必要だ」というケースが出てきます。その都度、デュアルブートで切り替えるのも面倒だし。 ということで openSUSE 11.2 で wine を試してみました。 -インストール- イ?...

 

Comments

Edit参考になりました。
参考になりました。トラックバックしました。ありがとうございます。
Edit
わわっ! はじめまして.こちらこそ,ありがとうございます.
雑な記事ですが,お役に立てたようでなによりです.
Edit参考になりました。
参考になりました。
お陰様でWindows用のmikatypeと言うタッチタイピングの練習用ソフトをLinuxで使えるようになりました。
ありがとうございます。
Edit
コメントありがとうございます.
ちょっとナーバスなので,励みになりました.
Edit参考になりました
起動オプション付きでwineから実行したいプログラムがあったのでGUIからではできそうもなく、どうしたらいいか調べてたんですが助かりました。
more on that in the drives section のところは(I will mention)が省略されているよくある言い回しで、「これについてはドライブの章でもっと触れます」という感じの意味だと思います。
Edit
コメントありがとうございます。

お役に立てたようでうれしいです。

> more on that in the drives section のところは・・・(後略)
なるほど! そういう意味でしたか。
また時間のあるときに、wineの公式リファレンスを読み直してみます。

Leave a Comment








5
7
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

top bottom