続・玩式草子 ―戯れせんとや生まれけん―

第20回 Days of WINE and Struggles[7]

この記事を読むのに必要な時間:およそ 4 分

長く引っぱったWINEがらみの話題も今回で一段落となります。このシリーズを書き始めて約8ヵ月,WINEに手を出してからちょうど1年くらいかかった計算です。最終回の今回はWINEの簡単な使い方やPlamo LinuxでのWINEサポートの現状等を紹介します。

WINEの使い方

WINEの使い方自体は簡単で,引数として実行したいWindowsアプリ(exeファイル)を指定するだけです。

一例として,同人ゲームとして有名な「東方プロジェクト」の体験版を取りあげてみましょう。⁠東方プロジェクト」とは,いわゆる「弾幕シューティング」タイプのゲームで,画面を華麗に埋めつくす弾幕をかわしつつ,敵のボスキャラを撃破していくゲームです。

「東方プロジェクト」のゲームは,正式版はコミケ等で販売される商用ソフトなものの,最初の数ステージを試せる体験版がインターネット上に無料公開されているのでWINEのテストには便利です。今回はそれらの中から「東方紺珠伝~Legacy of Lunatic Kingdom」を試してみることにします。

図1 東方プロジェクトのページ

図1 東方プロジェクトのページ

まず,ダウンロードのページから体験版をダウンロードします。ミラーサイトからダウンロードした「東方紺珠伝」の体験版はsetup_th15_001b.zipというZIP圧縮されたファイルでした。確認すると中身はexeファイル一つだけなので,そのまま展開しておきます。

$ unzip -l setup_th15_001b.zip 
Archive:  setup_th15_001b.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
186545248  07-31-2015 18:01   setup_th15_001b.exe
---------                     -------
186545248                     1 file
$ unzip setup_th15_001b.zip
  inflating: setup_th15_001b.exe
$ ls -lh setup*
-rw-r--r-- 1 kojima users 178M  7月 31日 2015年 setup_th15_001b.exe
-rw-r--r-- 1 kojima users 178M  5月 22日  14:17 setup_th15_001b.zip

取り出したexeファイルを引数にWINEを実行すると,Windows上で実行した場合と同様にセットアップウィンドウが開き,各種設定を"OK"していくとインストールが完了して,Linuxのデスクトップ上にアイコンが用意されます。

$ wine setup_th15_001b.exe

図2 WINEでWindows用のゲームをインストール

図2 WINEでWindows用のゲームをインストール 図2 WINEでWindows用のゲームをインストール

用意されたアイコンをダブルクリックするとゲームの画面が開き,音楽や効果音も含めてゲームが正常に動作します。

図3 WINEの実行例

図3 WINEの実行例 図3 WINEの実行例

このようにWINEは,Windows用のソフトウェアをWINEの提供する仮想的なWindows環境にインストールして,そのソフトウェアにはWindows環境で動いていると思いこませる一方,Linux側にはユーザ領域で動く1つのコマンドとして振舞い,WindowsとLinuxの橋渡しをするように働きます。

WINEの提供する仮想Windows環境

それではWINEはどのように仮想的なWindows環境を作っているのか,少しその内部構造を紹介してみましょう。

WINEは,起動したユーザのホームディレクトリに".wine"というディレクトリを作り,その下に各種ディレクトリや設定ファイルを用意します。

$ ls ~/.wine
dosdevices/  drive_c/  system.reg  user.reg  userdef.reg  winetricks.log

古くからのPCユーザには見当が付くように,このdrive_cというディレクトリ以下に仮想的なWindows環境が用意されます。

$ ls ~/.wine/drive_c/
Program Files/  Program Files (x86)/  ProgramData/  users/  windows/

$ ls ~/.wine/drive_c/windows/
Fonts/          globalization/  mono/         system.ini  twain.dll     winhelp.exe*
Installer/      help/           notepad.exe*  system32/   twain_32/     winhlp32.exe*
Microsoft.NET/  hh.exe*         regedit.exe*  syswow64/   twain_32.dll  winsxs/
command/        inf/            rundll.exe*   tasks/      twain_64/
explorer.exe*   logs/           system/       temp/       win.ini

今回インストールした「東方紺珠伝」は,"~/.wine/drive_c/Program Files (x86)/"以下にインストールされていました。

$ ls ~/.wine/drive_c/Program\ Files\ \(x86\)/
Common Files/  Internet Explorer/  Windows Media Player/  Windows NT/  上海アリス幻樂団/

$ ls ~/.wine/drive_c/Program\ Files\ \(x86\)/上海アリス幻樂団/東方紺珠伝体験版/
custom.exe*  readme.txt  th15tr.dat    unins000.dat
omake.txt    th15.exe*   thbgm_tr.dat  unins000.exe*

デスクトップ上に作成された「東方紺珠伝」のアイコンを調べると,確かにこのディレクトリにある"th15.exe"を起動する設定になっています。

$ cat ~/Desktop/東方紺珠伝\ 体験版.desktop
[Desktop Entry]
Name=東方紺珠伝 体験版
Exec=env WINEPREFIX="/home/kojima/.wine" wine C:\\\\Program\\ Files\\ \\(x86\\)\\\\上海アリス幻樂団\\\\東方紺珠伝体験版\\\\th15.exe 
Type=Application
StartupNotify=true
Path=/home/kojima/.wine/dosdevices/c:/Program Files (x86)/上海アリス幻樂団/東方紺珠伝体験版
Icon=6C74_th15.0
StartupWMClass=th15.exe

コードを確認したわけではないものの,このデスクトップアイコンは,⁠東方紺珠伝」のインストーラが作成するWindows用のショートカット(*.lnk)をLinuxのデスクトップ環境用に変換したもののようです。

$ file ~/Desktop/東方紺珠伝\ 体験版.lnk
/home/kojima/Desktop/東方紺珠伝 体験版.lnk: MS Windows shortcut, Item id list present,
Points to a file or directory, Has Working directory, Has command line arguments,
ctime=Sun Dec 31 14:41:01 1600, mtime=Sun Dec 31 14:41:01 1600,
atime=Sun Dec 31 14:41:01 1600, length=0, window=hide

先に見たデスクトップアイコンが示すように,WINEの仮想Windows内(~/.wine/以下)にインストールされたソフトウェアは,そのソフトウェアへのフルパスを直接指定して起動することも可能です。

$ wine ~/.wine/drive_c/Program\ Files\ \(x86\)/上海アリス幻樂団/東方紺珠伝体験版/th15.exe

一方,インストールしたソフトウェアを削除したい場合,インストール先のディレクトリにあるアンインストーラ("unins000.exe")をWINE経由で実行してもいいものの,"control"を引数にWINEを起動すると,昔懐しい(Windows 3.1くらいの)コントロールパネルが開き,そこにある「プログラムの追加と削除」から指定したソフトウェアを削除することができます。

図4 WINEの提供するコントロールパネル

図4 WINEの提供するコントロールパネル

著者プロフィール

こじまみつひろ

Plamo Linuxとりまとめ役。もともとは人類学的にハッカー文化を研究しようとしていたものの,いつの間にかミイラ取りがミイラになってOSSの世界にどっぷりと漬かってしまいました。最近は田舎に隠棲して半農半自営な生活をしながらソフトウェアと戯れています。

URLhttp://www.linet.gr.jp/~kojima/Plamo/index.html