!!!概要 (wikipediaより) オープンソースの Windows API 実装を通じて、主としてx86アーキテクチャ上のUnix系オペレーティングシステム (OS) においてWindows用アプリケーションをネイティブ動作させることを目標とするプログラム群である。 !!!CentOS7 debian系の場合は、64bit用のexeも32bit用のexeも意識しなくても動作可能だが、 CentOS7の場合は、64bit用のexeしか動作しない。 32bit用のexeを動作させるには、32bit用にwineをコンパイルする必要がある。 !!yum でインストールする(64bit用exeのみ動作可能) yum install epel-release yum install wine 必要に応じて、wine-fonts等を追加する。 !!CentOS7で32bit用のexeを実行できるwineをインストールする !参考 https://www.jifu-labo.net/2015/12/centos7_wine32/ !rpmrebuildを準備 https://www.centos.org/forums/download/file.php?id=405 gunzip rpmrebuild.gz chmod a+x rpmrebuild mv rpmrebuild /usr/local/bin !ビルドに必要なパッケージをインストール yum -y install glibc-devel libstdc++-devel icoutils openal-soft-devel \ prelink gstreamer-plugins-base-devel gstreamer-devel ImageMagick-devel \ fontpackages-devel libv4l-devel gsm-devel giflib-devel libXxf86dga-devel \ mesa-libOSMesa-devel isdn4k-utils-devel libgphoto2-devel fontforge \ libusb-devel lcms2-devel audiofile-devel wget cmake !ビルドに必要な32bitのパッケージをインストール yum -y install glibc-devel.i686 dbus-devel.i686 freetype-devel.i686 \ pulseaudio-libs-devel.i686 libX11-devel.i686 mesa-libGLU-devel.i686 \ libICE-devel.i686 libXext-devel.i686 libXcursor-devel.i686 \ libXi-devel.i686 libXxf86vm-devel.i686 libXrender-devel.i686 \ libXinerama-devel.i686 libXcomposite-devel.i686 libXrandr-devel.i686 \ mesa-libGL-devel.i686 mesa-libOSMesa-devel.i686 libxml2-devel.i686 \ libxslt-devel.i686 zlib-devel.i686 gnutls-devel.i686 ncurses-devel.i686 \ sane-backends-devel.i686 libv4l-devel.i686 libgphoto2-devel.i686 \ libexif-devel.i686 lcms2-devel.i686 gettext-devel.i686 \ isdn4k-utils-devel.i686 cups-devel.i686 fontconfig-devel.i686 \ gsm-devel.i686 libjpeg-turbo-devel.i686 pkgconfig.i686 libtiff-devel.i686 \ unixODBC.i686 openldap-devel.i686 alsa-lib-devel.i686 audiofile-devel.i686 \ freeglut-devel.i686 giflib-devel.i686 gstreamer-devel.i686 \ gstreamer-plugins-base-devel.i686 libXmu-devel.i686 libXxf86dga-devel.i686 \ libieee1284-devel.i686 libpng-devel.i686 librsvg2-devel.i686 \ libstdc++-devel.i686 libusb-devel.i686 unixODBC-devel.i686 qt-devel.i686 !ビルドに必要なツールをインストール yum -y groupinstall "Development Tools" !32bit chrpathのビルド、インストール ビルドしたrpmを退避するディレクトリを作成しておく mkdir rpm wget http://vault.centos.org/7.1.1503/os/Source/SPackages/chrpath-0.13-14.el7.src.rpm linux32 rpmrebuild chrpath-0.13-14.el7.src.rpm cp rpmbuild/RPMS/i686/chrpath-0.13-14.el7.centos.i686.rpm ./rpm yum install rpm/chrpath-0.13-14.el7.centos.i686.rpm !32bit openal-softのビルド、インストール wget http://dl.fedoraproject.org/pub/epel/7/SRPMS/o/openal-soft-1.16.0-3.el7.src.rpm linux32 rpmrebuild -e openal-soft-1.16.0-3.el7.src.rpm ここでviエディタが起動するので、SPECファイルを編集します。 下記の左端は行番号です(viではキー入力":set nu"で表示)。 12 BuildRequires: alsa-lib-devel 13 BuildRequires: pulseaudio-libs-devel 14 BuildRequires: portaudio-devel 15 BuildRequires: cmake 16 BuildRequires: qt-devel 14行目の"BuildRequires: portaudio-devel"を削除、保存して閉じます。 ファイルを閉じるとビルドが始まります。 cp rpmbuild/RPMS/i686/openal-soft-*.rpm rpm yum install rpm/openal-soft-1.16.0-3.el7.centos.i686.rpm rpm/openal-soft-devel-1.16.0-3.el7.centos.i686.rpm !32bit nss-mdnsのビルド、インストール wget http://dl.fedoraproject.org/pub/epel/7/SRPMS/n/nss-mdns-0.10-12.el7.src.rpm linux32 rpmrebuild nss-mdns-0.10-12.el7.src.rpm cp rpmbuild/RPMS/i686/nss-mdns-0.10-12.el7.centos.i686.rpm ./rpm yum install rpm/nss-mdns-0.10-12.el7.centos.i686.rpm !wineのビルド、インストール wget http://dl.fedoraproject.org/pub/epel/7/SRPMS/w/wine-1.8.6-1.el7.src.rpm linux32 rpmrebuild -e wine-1.8.6-1.el7.src.rpm viエディタが起動するのでSPECファイルを編集します。 以下の指示に従って変更して下さい。 111 BuildRequires: libpcap-devel → 111行目、先頭に#を付けてコメントアウト 181 # x86-64 parts 182 %ifarch x86_64 183 Requires: wine-core(x86-64) = %{version}-%{release} 184 Requires: wine-capi(x86-64) = %{version}-%{release} 185 Requires: wine-cms(x86-64) = %{version}-%{release} 186 Requires: wine-ldap(x86-64) = %{version}-%{release} 187 Requires: wine-twain(x86-64) = %{version}-%{release} 188 Requires: wine-pulseaudio(x86-64) = %{version}-%{release} 189 %if 0%{?fedora} >= 10 || 0%{?rhel} >= 6 190 Requires: wine-openal(x86-64) = %{version}-%{release} 191 %endif 190行付近、wine-openal(x86-64) を wine-openal(x86-32) へ変更 678 export CFLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//'` -Wno-error" 679 680 %configure \ 679行付近、%configure \の前に以下の行を追加 sed -i '/winegcc/s/-o /-m32 &/' tools/makedep.c 1621 %{_libdir}/wine/wnaspi32.dll.so 1622 %{_libdir}/wine/wpcap.dll.so 1623 %{_libdir}/wine/ws2_32.dll.so 1622行付近、%{_libdir}/wine/wpcap.dll.so を削除 cp ~/rpmbuild/RPMS/*/* ./rpm rm ~/winerpm/wine-debuginfo-1.8.2-1.el7.centos.i686.rpm cd ~/winerpm/ yum install wine-* !ビルドに使用したファイルとビルド結果 {{ref wine_src.zip}} {{ref wine_rpm.zip}} !!!Mac !!インストール brew cask install wine-stable フォントはとりあえず入れておいたほうが無難。 brew install winetricks winetrics allfonts !!Commandキー Commandキーはaltキーとして動作する !!古いMacの場合 [[Mac で wine を使う]] !!!CentOS5 http://wingse.blog57.fc2.com/blog-entry-172.html !!yum でインストールする !EPELリポジトリを追加する http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel 以下から自分の環境にあった epel-release-xxxxx.rpm を探し、URLをコピーする。 例えば、CentOS5 64bit ならば http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/5/x86_64/epel-release-5-4.noarch.rpm とか。 sudo rpm -ihv コピーしたURL でリポジトリを追加する。 sudo vi /etc/yum.repos.d/epel.repo で、 enabled=1 になっているところを enabled=0 にすることをオススメする。 !EPELからインストール sudo yum --enablerepo=epel install wine でインストール ==/etc/yum.repos.d/CentOS-Dag.repo== == [dag]== == name=CentOS-$releasever - Dag== == baseurl=http://ftp.riken.jp/Linux/dag/redhat/el$releasever/en/$basearch/dag== == http://apt.sw.be/redhat/el$releasever/en/$basearch/dag== == gpgcheck=1== == enabled=0== == gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt== == # yum --enablerepo=dag install wine== !!ソースからコンパイルする http://www.winehq.org/ http://sourceforge.net/projects/wine/files/Source/ !wine 1.1.35以前のバージョンをインストールの準備 特に準備作業は不要。 CentOS5 の場合は、wine 1.1.35 を入れるのが無難。 {{ref wine-1.1.35.tar.bz2}} !wine 1.1.36以降のバージョンをインストールの準備 flex 2.5.33以上が必要。 {{ref flex-2.5.33-9.fc8.x86_64.rpm}} まだ、flex をインストールしていない場合は、インストール rpm -ihv flex-2.5.33-9.fc8.x86_64.rpm 既にインストール済みの場合は、アップグレード rpm -Fhv flex-2.5.33-9.fc8.x86_64.rpm {{word CentOS5 でwine1.5.5を make 出きたが実行時に固まってしまった,red}} !インストール ソースをコンパイルする際には、「ソフトウェアの追加/削除」で「開発」の「X ソフトウェア開発」「開発ツール」がインストールされていなければなりません。 http://sourceforge.net/projects/wine/files/Source/ からダウンロードする。 インストールは、なるべく一般ユーザーで行うようにして下さい。 (rootでのインストールは推奨されていません。) ダウンロード、解凍、make をするだけです。 wine 1.0.1の場合の例: $ wget http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.0.1.tar.bz2 $ tar xvjf wine-1.0.1.tar.bz2 $ cd wine-1.0.1 $ ./tools/wineinstall (途中、root権限での実行について、yes/noを聞かれます。) wineinstall を使わない場合は ./configure --prefix=/usr/local <- --prefix は必要に応じて make depend <- バージョンによって必要。詳しくは README 参照 make make install これでWineのインストールは完了です。 設定は winecfg 文字化けする場合は、 ~/.wine/drive_c/windows/Fonts にテキトウなフォントを入れる。 下記のコマンドでメモ帳が立ち上がれば、インストールが正常に終わったことになります。 $ wine notepad 特に設定なく日本語入力ができるはず。 notepad で日本語が表示されない場合はフォントを変えてみると良い !日本語入力(SCIM+Anthyにてwineの日本語入力) たぶん、以下の作業は不要。 設定しなくても日本語入力が可能なはず。 日本語入力が出来ない場合は設定を行う。 http://kizua.blog.shinobi.jp/Form/12/ ~/.wine/user.regの最後の行に以下のように追加。 ~/.wine/user.reg: [Software\\Wine\\X11 Driver] "ClientSideAntiAliasWithRender"="N" "InputStyle"="overthespot” 後は普通に起動。僕の場合は、環境が英語だったので、以下のコマンドで起動。 $ LANG=ja_JP.UTF-8 wine (起動したいソフト) winampの場合の例: $ LANG=ja_JP.UTF-8 wine ~/.wine/drive_c/Program\ Files/Winamp/winamp.exe !!!フォントを設定する !!フォントを準備する 使いたいフォントをダウンロードしてくる。 wineはOSのフォントを読み込むようになっている。 ,OS,ユーザーフォント,システムフォント ,Linux, ~/.fonts, /user/share/fonts ,Mac, ~/Library/Fonts/, /Library/Fonts/ !!フォントを変更する !字体を変える ~/.wine/user.regのSoftware\\Wine\\Fonts\\Replacementsを書き換える 例えばゴシックを源ノ角、明朝の源ノ明朝にする場合は以下のようにする。 [Software\\Wine\\Fonts\\Replacements] "Arial Unicode MS"="源ノ明朝 Medium" "Batang"="源ノ角ゴシック JP Medium" "Dotum"="源ノ角ゴシック JP Medium" "Gulim"=" 源ノ角ゴシック JP Medium" "MS Gothic"="源ノ角ゴシック JP Medium" "MS Mincho"="源ノ明朝 Medium" "MS PGothic"="源ノ角ゴシック JP Medium" "MS PMincho"="源ノ明朝 Medium" "MS UI Gothic"="源ノ角ゴシック JP Medium" "PMingLiU"="源ノ角ゴシック JP Medium" "SimSun"="源ノ角ゴシック JP Medium" !サイズを変える winecfg を起動して、デスクトップ統合タブを開く 「項目」を変更しながらフォント設定があるものを選択し、フォントのサイズを変更する。 または、画面タブの解像度のdpiを変更する。 {{category2 OS,Linux}} {{category2 ツール,システム}}