FLEXSCHEをLinuxで動かしてみた!
Linux上でWindowsアプリを動作させるWineなるものがあることを知ったのでFLEXSCHEを動かすことができるか Let's try!!
Wineの公式ページを見ると互換性のあるソフトがリストアップされているのですが、これが結構な数があります。...ってゲームばっかりじゃないか。Windowsは使いたくないけどゲームはどうしてもしたいってことなんですかね?
今回は新規にUbuntu18.04.1LTSをインストールして試してみました。余計なものはいらないので最小構成でインストールしています。
Wineのバージョンですが最新版は4.0ですが、Ubuntu18のapt-getでインストールできるのは3.0のようで、新しい方が動きそうな気がするので4.0をインストールすることにしました。
というわけでまずは最新版をapt-getでインストールできるようにリポジトリに追加します。
参考:https://wiki.winehq.org/Ubuntu
sudo dpkg --add-architecture i386
wget -q https://dl.winehq.org/wine-builds/winehq.key -O- | sudo apt-key add -
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'
これで4.0がリポジトリに追加できたのでインストールしていきます。
インストールできるWineは3つあって
- Stable brach
- Development branch
- Staging brach
となっていますが、今回はStableを選択しました。Stagingというのがちょっとわかりにくいですが、開発ブランチに統合されていないバグ修正と機能が施されたバージョンだそうです。
参考:https://wiki.winehq.org/Wine-Staging
ではStable版をインストールしていきます。
sudo apt install winehq-stable
無事にインストールできたので早速FLEXSCHEを動かしてみることにします。
WindowsInstallerを動作させることもできるようなのでインストーラー版を使ってもよいのですが、とりあえず動かしてみるだけなのでモジュールをZipにまとめたZip版をDLして解凍しました。
unzip FSJpn.zip
日本語のパスが文字化けしてる。。。
ググると"Ubuntu Japanese Team"がパッチを作成してくれているようなので http://www.ubuntulinux.jp/japanese を参考にパッチを導入します。
wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add -
wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add -
sudo wget https://www.ubuntulinux.jp/sources.list.d/bionic.list -O /etc/apt/sources.list.d/ubuntu-ja.list
sudo apt update
sudo apt upgrade
sudo apt install ubuntu-defaults-ja
で再起動したところ無事に文字化けせずに解凍できるようになりました!
ただファイラからの右クリックメニュからやるとまだなんか変なんですけどね。
次にWineの環境に日本語フォントをインストールします。
まずwinetricksをインストールします。これはWineの各種設定やモジュール/フォントのインストールをしてくれるユーティリティです。
sudo apt install winetricks
早速起動してみると何やらMonoやGeckoをインストールするかとか聞いてきますが"インストール"で進みます。winetricksの設定画面が開きました。
"Select the default wineprefix"を選択してOK。
"Install a font"を選択してOK。
フォントのリストから"cjkfonts"を選択してインストール。
さあ準備万端!!
FLEXSCHEを起動してみます。右クリックで実行するアプリケーションの選択画面に進んで
"Wine Windows プログラムローダー"を選択して起動します。
。。。。起動しない。本体以外のアプリでも立ち上がるものとダメなものがある。
どうやら.NET Frameworkを参照していると立ち上がらないよう。Wine Monoが入っていれば動くのかと思っていたけどダメなようなのでwinetricksでネイティブの.NET Frameworkをインストールしてみます。
フォントの時と同様に"Select the default wineprefix"を選択してOK。
"Install a Windows DLL or component"を選択してOK。
"dotnet40"を選択してOK。
何やらいろいろ警告が出ますが無視して突き進むと、見慣れた?.NET Frameworkのインストーラーが立ち上がりました。
無事インストールが終了してFLEXSCHEを立ち上げてみると今度はちゃんと立ち上がりました。
データもちゃんと読み込めるし、リスケもできる。アドインだって動いちゃいます。
すごいぞWine!!
次にFLEXSCHEランチャーを起動させてみます。そのままWineアプリケーションで起動しようとしても対応するアプリケーションが無いとかで怒られるので直接mshta.exeを起動して引数に渡してみます。
wine mshta.exe launcher.hta
mshta.exe is a stub!
ダメなようです。
How to work HTA (mshta.exe) in Wine on Linux
を参考にしてIEをインストールしてみることに。例によってwinetricksからIE8をインストール。
64ビット版のインストーラはないという警告が。。32ビット版はあるということでWineを32ビット版で動作させてみます。
https://wiki.archlinux.jp/index.php/Wine
を参考にWineを32ビット版に切り替えます。
WINEARCH=win32
WINPREFIX=/home/$USER/.win32
wineboot -u
で切り替わったら今度は32ビット環境用に.NET Frameworkをインストールして次にIE8をインストールします。
winetricks dotnet40 ie8
とターミナルからもインストールは実行できます。
IE8がインストールされるとネイティブなmshta.exeがインストールされるのでこれを使うように設定します。
winecfgで実行時にネイティブ版と内蔵版のどちらを使うかを切り替える設定をします。
mshta.exeを追加
mshta.exeを編集してネイティブを優先
設定できたので
wine mshta.exe launcher.hta
で起動してみます。ん?先ほどとメッセージは変わったけど何も起こらず。引数の与え方がまずかったようで
wine mshta.exe C:/User/higuchi/Desktop/FLEXSCHE_18.0.5_x86_Jpn/files/Launcher/launcher.hta
とWine上で認識される絶対パスを与えたところうまくいきました!
続いてもう一つ問題が。サンプルデータの中にはFLEXSCHEの中にIEのWebComponentを組み込んで、そこでXMLをXSLでHTMLに変換して表示しているものがあるのですが、それを開くとWineがクラッシュしてしまいます。
msxmlの問題っぽいのでネイティブのmsxmlをインストールしてみます。
winetricks msxml3
これで落ちずにサンプルデータも開けるようになりました!
というわけで64ビット版のWineでは使えない機能があったりしましたが、32ビット版ではすべてチェックしたわけではないですがWindows上と同じように使うことができました。動作もエミュレーターのようなもっさり感もなくサクサク動きます。リスケジュールのスピードもそこそこ(体感50%くらい)です。
FLEXSCHE試してみたいけど手元のPCがLinuxしかないんだよなー、という方はぜひWineでFLEXSCHEをお試しください。
実運用はWindowsでやってくださいね!