支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


LinuxでWindowsを動作させる!wineの導入について

Linux環境は拡張性があるので、本来動作させることができないWindowsのアプリケーションをLinuxで動かすことができるようになります。その手段として、有名なものが「wine」というアプリケーションです。一つ注意点として、「wine」はWindowsアプリケーションの全てを動作させることができるようになるわけではないということを理解しておきましょう。

「wine」とは

「wine」はWindows用のアプリケーションをLinuxで動作させることができるアプリケーションとなっています。「wine」のアプリケーションとしての働きは、Linux上で「wine」を開いてそこからWindowsアプリケーションを開いて…というような動作ではなく、バックグラウンドで「wine」が動作していることで、Linux上で直接Windowsアプリケーションを動作させることが出来るようになるのです。

「wine」のインストール手順

今回は著者が使用しているCentOS8というLinuxのディストリビューションでの手順を紹介します。なぜ、Ubuntuなどのポピュラーなものではなく、CentOS8での手順を紹介するかというと、
・CentOS8の情報が非常に少ない(Ubuntuは日本語での情報が豊富にある)
今回はアプリケーションのビルドや、コンパイルの概要についても理解していただきたい
という理由があるからです。では、早速Linuxで「wine」をインストールしていきましょう。

wineをインストールする

それでは早速インストールを行っていきましょう。実は「EPELリポジトリ」というCentOS8の便利なアプリケーションツールがまとめられているものがありますので簡単にインストールを行うことができます。
EPELリポジトリにはwine 4.0.4が存在していますので、以下のコマンドでインストールすることができます。


# dnf install epel-release
# dnf install wine

しかし、環境によってはバグによってインストールが行えないこともあります。そこで今回は公開されているソースコードを使って、「wine」が動作できる環境を「ビルド」つまり構築していくこととなります。手順自体はさほど難しいことではありません。

まずはLinux環境を構築していく作業をしていくので、「ルートユーザー」でログインを行うか、「sudo」のコマンドを使って、管理者権限で操作を行っていきます。Linux環境を変えていくことになりますので、一つひとつの操作を行う際には十分注意しましょう。
そして、まずは構築の準備が必要になってきますので、一つずつ紹介していきます。一番最初は「キャッシュ削除」を行い余計なファイルが残っていることでバグが起こらないようにすることと、アップデートを行います。


# dnf clean all
# dnf update

そして「wine」の環境構築に必要な「Development Tools」つまり開発ツールをインストールしていきます。「dnf」コマンドを使用しています。


# dnf groupinstall 'Development Tools'
# dnf install libX11-devel zlib-devel libxcb-devel libxslt-devel libgcrypt-devel libxml2-devel gnutls-devel libpng-devel libjpeg-turbo-devel libtiff-devel gstreamer-devel dbus-devel fontconfig-devel freetype-devel 

次は、ソースコードとなる「wine」のプログラムをダウンロードします。「cd」でディレクトリを指定し、そこにファイルをダウンロードします。そして「tar」コマンドでファイルをまとめ、展開します。

# cd /opt
# wget https://dl.winehq.org/wine/source/5.x/wine-5.1.tar.xz
# tar -Jxf wine-5.1.tar.xz
# cd wine-5.1

次に設定ファイルを構築します。ここでは32ビットシステムと64ビットシステムで少しコマンドが違いますので注意しましょう。


32ビットシステムの場合:
# ./configure

64ビットシステムの場合:
# ./configure  --enable-win64

そして「make」コマンドを用いてプログラムのコンパイルを行います。コンパイルとは英語で翻訳の事なのですが、ソースコードをPCが実際に操作できるように機械語に変換する作業のことをいいます。ソースコードはプログラムをどのように動かすか、私たちが読み書きしたプログラミング言語なのです。それをPCが動かせるように「make」コマンドで変換するのです。「make」コマンドでコンパイルを行い、「make install」でプログラムが実際に動かせるようにインストールを行います。この作業は非常に時間がかかりますので気長に待ちましょう。


# make
# make install

そして、無事インストールが終われば、バージョンチェックを行い確認をしておきましょう。


32ビットシステムの場合:
# wine --version

64ビットシステムの場合::
wine64 --version

実際に「wine」でアプリケーションを実行する際には、以下のようにコマンドを打ち込むだけです。


$ wine(64bitの場合wine64) プログラム名

日本語フォントが入っていないので、日本語が表示できません。(文字化けをしてしまい□になって表示されます)
winetricksというシェルスクリプトを使用し、「winetricks allfonts」コマンドで各種フォントをインストールをすることで、文字化けを解消することができます。
winetricsはcabextractパッケージを使用するので、併せてインストールします。
cabextractはWindowsが使用しているcabinet形式のアーカイブ(.cab)からファイルを抽出するコマンドです。


# wget https://pkgs.dyn.su/el8/base/x86_64/cabextract-1.9-2.el8.x86_64.rpm
# rpm -ivh cabextract-1.9-2.el8.x86_64.rpm
# rpm -qil cabextract

上記がcabextractをインストールする手順です。


# wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winet...
# chmod 755 winetricks
# cp winetricks /usr/local/bin

上記がwinetricksをインストールする手順です。「chmod」で管理者権限を変えておきます。


$ winetricks allfonts

最後に「winetricks allfonts」のコマンドでフォントを利用することができるようになります。

まとめ

いかがでしたでしょうか。非常に時間がかかりますが、これを一通り行うことでコンパイルについての知識や技術の基本が理解できるようになります。