CentOS 8.2にWine 5.0をインストールし、Windows のPDF編集ソフト PDF-XChange Viewer 2.5 をWine上で使ってみました。
(実機にネイティブにインストールしたCentOSでは、ビデオチップとドライバの関係でWineの画像も文字も小さすぎて使えなかったので、KVMのゲストOSにインストールして使っています。)
CentOSはRedHat Enterprise Linux(RHEL)のクローンです。
2020年6月15日に8.2がリリースされました。
Wine(Wine Is Not an Emulator)は、LinuxなどのPOSIX準拠OS上でWindowsアプリケーションを実行するWindows互換のレイヤです。仮想マシンやエミュレータと異なり、Windows APIコールをPOSIXコールに変換することで、WindowsアプリケーションをLinuxデスクトップ上で、Linuxアプリと同じように表示/操作ができます。
Wineプロジェクト(WineHQ)が開発し、ライセンスはglibcライブラリなどと同じLGPLで配布されています。
https://ja.wikipedia.org/wiki/Wine
https://en.wikipedia.org/wiki/Wine_(software)
GOME Terminal(上)とWindows Explorer(下)
Windowsのアプリケーションです。PDFのviewerですが、PDFの編集もできるのが特徴です。
Tracker Software Products社が開発し、独自のライセンス「PDF-XChange PDF Viewer End User License Agreement」で配布しています。無償版と、フル機能の有償版があります。
PDF-XChange Viewer 2.5 on Wine 5.0/CentOS 8.2
(PDFの編集機能が主体となる、高機能なPDF-XChange Editor 8.0もリリースされています。
https://www.tracker-software.com/
https://www.tracker-software.com/product/pdf-xchange-editor
但し、KVMのゲストOS 8.2のWine 5.0上で起動すると、アプリやWineだけでなく、VM自体がフリーズしてしまいました。。)
● Wineのインストール
CentOS 8ではWine(4.0.4)のバイナリパッケージ、あるいはWine 5.0のソースをコンパイルすることで利用できます。
1) Wine 4.0.4のバイナリパッケージを利用する
epelリポジトリから提供されています。以下のようにしてインストールします。
[...]# dnf install epel-release [...]# dnf install wine |
これで、WindowsのNotepadやExplorerは、それぞれ「wine notepad」、「wine explorer」コマンドを実行することで起動できます。
但し、PDF-XChange Viewerを起動しようとすると、以下のようにエラーとなってしまいます。
[... ダウンロード]$ wine PDFXVwer.exe wine: Z:\home\user01\ダウンロード\PDFXVwer.exe の EXE フォーマットが不正です。 [... ダウンロード]$ LANG=wine PDFXVwer.exe wine: Bad EXE format for Z:\home\user01\ダウンロード\PDFXVwer.exe. ←英語のエラー表示 [... ダウンロード]$ wine64 PDFXVwer.exe wine: Z:\home\user01\ダウンロード\PDFXVwer.exe の EXE フォーマットが不正です。 ←wine64でも同じエラー |
以下のURLに「現時点では、いくつかの大きなバグのために多くの32 bit アプリケーションが64 bit wineprefixでは動きません」といった記載があります。これに該当するのかも知れません。
https://wiki.winehq.org/FAQ#How_do_I_create_a_32_bit_wineprefix_on_a_64_...
「At present there are some significant bugs that prevent many 32 bit applications from working in a 64 bit wineprefix.」
以下の手順2)のように、5.0のソースからビルドすると実行できます。
CentOS 8用のWine 5.0バイナリはまだ提供されていないようです。
Wineプロジェクト(WineHQ)がリリースしているのは、Ubuntu、DebianとFedora用のバイナリです。
https://wiki.winehq.org/Download
2) Wine 5.0のソースコードをコンパイルして利用する
Wine 5.0のソースのコンパイルは手作業でも出来るようですが、Eric Maという人が作成した「install-wine-i686-centos8.sh」というシェルスクリプトがGitHubに公開されているので、これを利用すると便利です。
https://www.systutorials.com/how-to-install-wine-32-bit-on-centos-8/
https://github.com/zma/usefulscripts/blob/master/script/install-wine-i68...
install-wine-i686-centos8.shは以下のように、必要な作業をすべてやってくれます。
CentOSが最新でない場合はアップデートに時間が掛ります。
(私の場合、実行時のCentOSは8.1だったのですが、たくさんのパッケージがアップデートされて8.2になりました。相当な時間が掛りました。)
また、gccによるソースコードのコンパイルにも時間が掛ります。
私の場合、仮想CPUは4個、メモリは2GBを割り当てていたのですが、途中経過をモニターしていたら、メモリ約2GB、スワップ約2GBを使用していました。現在は仮想CPUは6個、メモリは4GBを割り当てています。
[...]# wget https://raw.githubusercontent.com/zma/usefulscripts/master/script/instal... [...]# chmod 755 install-wine-i686-centos8.sh [...]# ./install-wine-i686-centos8.sh Hello there. Start to download, build and install wine 5.0 32-bit version... Logs are in /tmp/install-wine.tqgVWU.log Enabling needed repos and update... Uninstall old wine if you have installed it... ...(途中省略)... Download and unpack the wine source package... --2020-06-18 19:32:57-- http://dl.winehq.org/wine/source/5.0/wine-5.0.tar.xz ...(途中省略)... wine-5.0.tar.xz 100%[===================>] 21.43M 9.39MB/s 時間 2.3s 2020-06-18 19:32:59 (9.39 MB/s) - `wine-5.0.tar.xz' へ保存完了 [22469428/22469428] Build wine... build wine64... ...(途中省略)... build wine32... ...(途中省略)... Install wine... install wine32... install wine64... Congratulation! All are done. Enjoy! (/usr/localの下にインストールされます) [...]# ls /usr/local/bin function_grep.pl widl winebuild winefile wineserver msidb wine winecfg wineg++ wmc msiexec wine-preloader wineconsole winegcc wrc notepad wine64 winecpp winemaker regedit wine64-preloader winedbg winemine regsvr32 wineboot winedump winepath [...]# ls -F /usr/local/lib libwine.so@ libwine.so.1@ libwine.so.1.0* wine/ |
以上の手順でWineのインストールは完了です。
但し、日本語フォントが入っていないので、日本語が表示できません。(日本語の文字のところは□になって表示されます)
winetricsというシェルスクリプトを使用し、「winetrics allfonts」コマンドで各種フォントをインストールします。
winetricsはcabextractを使用するのでこのパッケージもインストールします。
cabextractはWindowsが使用しているcabinet形式のアーカイブ(.cab)からファイルを抽出するコマンドです。
cabextractパッケージをインストールする。
[...]# 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 Name : cabextract Version : 1.9 ...(途中省略)... URL : http://www.cabextract.org.uk/ Summary : Utility for extracting cabinet (.cab) archives Description : cabextract is a program which can extract files from cabinet (.cab) archives. /usr/bin/cabextract ...(途中省略)... /usr/share/man/man1/cabextract.1.gz |
winetricksコマンドを実行
https://github.com/Winetricks/winetricks
[...]# wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winet... [...]# chmod 755 winetricks [...]# cp winetricks /usr/local/bin 以下は、Wineを使う一般ユーザで実行します。 [...]$ winetricks allfonts ←WineにWindowsアプリや各種フォント(日本語フォントを含む)がインストールされます [...]$ ls -F ~/.cache/winetricks/ ←ダウンロードしたファイルはキャッシュに置かれます PowerPointViewer/ droid/ liberation/ sourcehansans/ track_usage vlgothic/ baekmuk/ eufonts/ lucida/ tahoma/ uff/ wenquanyi/ corefonts/ ipamona/ opensymbol/ takao/ [...]$ du -sh ~/.cache/winetricks/ 279M /home/user01/.cache/winetricks/ |
上記の「winetricks allfonts」を実行すると、最初の実行時はネットからダウンロードしてインストールするのでかなりの時間が掛ります。
ダウンロードしたファイルは~/.cache/winetricks/にキャッシュされるので、2回目の実行からはそれほど時間は掛りません。
これでWineに日本語フォントがインストールされ、以下のようにMSフォントはインストールした日本語フォントにマッピングされます。
「wine regedit」コマンドを実行して、フォントのマッピングを表示
マッピング先のフォントが正しくインストールされていない場合は日本語の文字は□になって表示されます。
マッピング先のフォントの種類が上記と異なっていた場合は字がかすれて見にくくなる場合があります。(仮想化環境のためかも。)
ユーザの~/.wineディレクトリの下にWindowsの疑似ファイルシステムが作成されます。
[... ~]$ du -sh ~/.wine 1.1G /home/user01/.wine ←Windowsアプリやフォントを追加でインストールすると増えていきます [... ~]$ ls -F ~/.wine dosdevices/ drive_c/ system.reg user.reg userdef.reg winetricks.log [... ~]$ ls -F ~/.wine/drive_c/ 'Program Files'/ 'Program Files (x86)'/ ProgramData/ users/ windows/ [... ~]$ cd ~/.wine/drive_c/windows/Fonts/ ←フォントディレクトリ [... Fonts]$ ls ipa* takao* vl* ←日本語フォントもインストールされています ipag-mona.ttf ipamp-mona.ttf takaomincho.ttf vl-pgothic-regular.ttf ipagp-mona.ttf takaoexgothic.ttf takaopgothic.ttf ipagui-mona.ttf takaoexmincho.ttf takaopmincho.ttf ipam-mona.ttf takaogothic.ttf vl-gothic-regular.ttf [... Fonts]$ du -sh . 277M . |
● PDF-XChange Viewer 2.5 のインストール
Tracker Software Products社のサイトからダウンロードします。
https://www.tracker-software.com/product/pdf-xchange-viewer
[... ダウンロード]$ ls -l PDFXVwer.exe -rw-------. 1 user01 user01 18181936 6月 18 17:40 PDFXVwer.exe [... ダウンロード]$ sum PDFXVwer.exe 56559 17756 [... ダウンロード]$ wine PDFXVwer.exe ←Wine上でPDFXVwerを起動 (Wineには以下のようにインストールされました) [... drive_c]$ pwd /home/user01/.wine/drive_c [... drive_c]$ ls -lh 'Program Files/Tracker Software/PDF Viewer/PDFXCview.exe' -rwxrwxr-x. 1 user01 user01 16M 12月 13 2018 'Program Files/Tracker Software/PDF Viewer/PDFXCview.exe' |
「wine PDFXVwer.exe」コマンドを最初に実行した時は、PDFXVwerがWineにインストールされてから起動します。
2回目の実行からは、単に起動します。
また、GNOMEデスクトップの[アクティビティ]のメニューに「お気に入り」として追加しておくと、このアイコンをクリックして起動できます。
編集するPDFはPDFXVwerのメニューから、[ファイル]⇒[開く]で選択するか、ファイルマネージャからWineの画面にドラッグ&ドロップすることもできます。
詳しい使い方はマニュアル(PDFVManual.pdf)に書かれています。
PDFXVwer.exeと同じく、以下の「Download」メニューから「Viewer Manual(PDF)」を選択するとダウンロード出来ます。
https://www.tracker-software.com/product/pdf-xchange-viewer