Slackware

Wine

ページ作成日 2021/1/9
ページ更新日 2025/5/3

公式サイト

WineHQ - Run Windows applications on Linux, BSD, Solaris and macOS

ついにWOW64(Windows 32-bit On Windows 64-bit)に対応したWine。
9.xでは、Unixライブラリを呼び出すすべてのモジュールは、32bitのPEコードから64bitのUnixライブラリを呼び出すためにWoW64スリーブを含んでいます。
新しいWoW64モードと呼ばれ、32ビットのアプリケーションが32ビットのUnixプロセス内で実行される古いWoW64モードとは対照的です。

これによって、32bit Linuxライブラリも必要なくなりました。

デフォルトのWindowsカーネルが、9.21からWindows10になりました。

環境設定

特にありません。

Make it by yourself!

まずは、自分のホームディレクトリにソースを落とし解凍しましょう。


cd ~/Downloads
wget https://dl.winehq.org/wine/source/10.x/wine-10.7.tar.xz
tar xvf wine-10.7.tar.xz

configureのスクリプトを走らせます。


cd wine-10.7
./configure CFLAGS="-march=native -O3 -pipe -fstack-protector-strong" --enable-win64 --enable-archs=i386,x86_64 --prefix=/usr --libdir=/lib64 --infodir=/usr/share/info --mandir=/usr/share/man
[画面出力を略]

デフォルトの状態だと、以下のように表示されます。


configure: libpcsclite not found, smart cards won't be supported.
configure: OSS sound system found but too old (OSSv4 needed), OSS won't be supported.
configure: libcapi20 64-bit development files not found, ISDN won't be supported.

configure: Finished.  Do 'make' to compile Wine.

make、make installします。
makeは1時間ぐらい掛かります。
時間を計測したい場合は、以下のように実行してみて下さい。


/usr/bin/time -v make

[画面出力を略]
Wine build complete.
        Command being timed: "make"
        User time (seconds): 3210.75
        System time (seconds): 194.21
        Percent of CPU this job got: 100%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 56:35.89
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 2526908
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 21265
        Minor (reclaiming a frame) page faults: 134159346
        Voluntary context switches: 2620331
        Involuntary context switches: 29850
        Swaps: 0
        File system inputs: 32240
        File system outputs: 11301336
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

パッケージ作成用に/tmpにインストールします。


make install DESTDIR=/tmp/wine-10.7
[画面出力を略]

パッケージの作成

パッケージを作成します。


cd /tmp/wine-10.7
sudo makepkg --linkadd y --chown y ../wine-10.7-x86_64-1.txz

[画面出力を略]
Slackware package ../wine-10.7-x86_64-1.txz created.

パッケージのインストール

パッケージをインストールします。


cd ..
sudo installpkg wine-10.7-x86_64-1.txz

インストール後の設定

1. winetricksのインストール

wine単体では、色々とファイルが足りない場合があるので、それを補完してくれるwinetricksをインストールして下さい。

2. cabextractのインストール

Microsoft Windowsで使われるcab形式のアーカイブを展開できるように、cabextractをインストールして下さい。

3. winetricksの起動

X Window上から、winetricksを起動します。
KDEなどのデスクトップ環境のメニューにwinetricksのアイコンがあるので、それをクリックして起動します。

すると、最初、Monoのインストールのポップアップが表示されるので、インストールします。
Wine Monoは、Wine環境でWindowsアプリが要求する「Microsoft.NET Framework 4.8 以前」を置き換えるために用意された互換実装です。
mscoree.dll(CLR ローダ)が .NET アプリを検出すると、通常はMicrosoft公式の.NETインストーラを呼び出します。
しかし、Wineでは多くの場合インストールが失敗します。
そこで代わりに自動ダウンロードされるのが Wine Monoです。

Monoのインストールのポップアップ

4. CJKフォントのインストール

デフォルトの状態ですと、Wine上で起動したWindows用プログラムは、日本語が表示されません。
全て□で表示されてしまいます。
(ユーザの間では、「豆腐」と呼称されています)

そこで、winetricksを使い、CJKフォントをインストールします。

wineprefixとは、WineがLinuxなどのUNIX系OS上でWindowsアプリケーションを動作させる際に、仮想的なWindows環境(Cドライブやレジストリなど)を格納するためのディレクトリのことです。
デフォルトではホームディレクトリ下の「~/.wine」に作成されますが、環境変数「WINEPREFIX」を使うことで、任意の場所に複数のwineprefixを作成・管理できます。

独立したWindows環境
wineprefixごとに、独立した仮想Cドライブやレジストリを持つため、アプリごと・用途ごとに環境を分けて管理できます。
リスク回避や依存性管理
アプリの動作実験や、依存DLL・設定の競合を避けるため、wineprefixを分けて使うのが一般的です。
複数バージョンやアーキテクチャ対応
32bit/64bitの違いや、特定バージョンのWineで動作させたい場合にも、wineprefixを使い分けることで柔軟に対応できます。

winetricksの画面で、「Select the default wineprefix」を選択して「OK」ボタンを押します。

wineprefixの選択
wineprefixの選択

次の画面で、「Install a font」を選択して、「OK」ボタンを押します。

フォントのインストール
「Install a font」を選択する

次の画面で、「cjkfonts」を選択して、「OK」ボタンを押します。

CJKフォントの選択
「cjkfonts」を選択する

Wow64環境について、まだ実験的実装だという警告が何回か出ますが、全て「OK」を押して進めます。
しばらく時間が掛かりますが、ダウンロードとインストールが終わると、再び、winetricksの画面が出てきます。
「キャンセル」のボタンを押して終了します。

5. WebView2のインストール

WebView2は、Microsoftが提供するアプリケーション内でWebコンテンツ(HTML、JavaScript、CSSなど)を表示するためのコンポーネント(コントロール)です。
主にWindowsアプリケーション(.NET、C++、Win32、WinForms、WPF、WinUIなど)に組み込まれ、アプリ内にWebブラウザの機能を追加できます。

Windowsアプリケーションでは使われることが多いので、これを「Microsoft Edge WebView2 | Microsoft Edge Developer」からダウンロードしてインストールします。

WebView2ダウンロード
WebView2のダウンロードページで、x64を選択

wineを使って、WebView2のライブラリをインストールします。