2022年12月17日

Wine で超古い Windows アプリを走らせる

 私の本業である化学系の研究では、古い分析装置をよく使う。製造後20年ぐらいたった装置でも、特に問題なく動くものが多い。だいたいこの手の装置で最初に壊れるのは、制御用のパソコンだったりする。それが DOSベースの PC-9801 なんかだともうどうしようもないけど、2000 年以降に製造されたものならだいたい Windows には移行している。しかし、アプリが DOS ベースの 16 bit だったり ISA カードが必須だったりして、結局制御系を総入れ替えするしかないことはよくあります。

 だいぶ前に(パソコンが)壊れた某装置は、アプリは 16 bit だったが、インターフェイスは RS-232C だったので、Windows 7 Professional のパソコンに XP 仮想マシンを入れて何とかしのいだ。そのパソコンも少し挙動が怪しくなってきたので、どうしようかと思っていたのだが、ふと「Wine を使えば 16 bit アプリも動かせるかも?」と思いついた。手元の MacBook の VMWare Fusion に Linux Mint を入れて、試してみました。Linux Mint は初めて使います。デスクトップ Linux にも慣れておきたいので、いい勉強になります。

 Linux Mint のインストールイメージをダウンロードする。デスクトップ環境が3種類ありますが、今回は安定性重視で "Xfce Edition" を選びました。

20221217-1.jpg

 VMWare Fusion へのインストールは簡単。「ファイル→新規...」で仮想マシンの作成を開始して、インストールイメージをドラッグ&ドロップで指定する。

20221217-2.jpg

 あとは粛々と進めればよい。仮想マシンのタイプを選ぶところは "Ubuntu (64ビット)"としました。

20221217-3.jpg

 途中でこういう画面になります。CD から実行した状態ですかね? "Install Linux Mint" のアイコンをダブルクリックして進めます。

20221217-4.jpg

 いろいろ聞かれますが、特に難しい要素はないので省略。無事立ち上がりました。VMWare Tools は自動的に入っているみたいで、Mac とのクリップボードの共有、ファイル共有、画面のサイズ変更などに最初から対応しています。特に驚いたのはファイル共有で、VMWare の「仮想マシン」→「共有」→「共有設定...」で「共有フォルダを有効にする」のチェックを入れるだけで、Mac 上のハードドライブにアクセスできます。Linux との連携ってこんなに簡単になったんだ……

20221217-5.jpg

 さて、Wine のインストールです。Wine 公式の "Ubuntu WineHQ Repository" に沿って進めます。

tnagata@mint-vm:~$ sudo dpkg --add-architecture i386
tnagata@mint-vm:~$ sudo mkdir -pm755 /etc/apt/keyrings
tnagata@mint-vm:~$ sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
--2022-12-17 22:31:19--  https://dl.winehq.org/wine-builds/winehq.key
dl.winehq.org (dl.winehq.org) をDNSに問いあわせています... 151.101.110.217
(中略)
2022-12-17 22:31:19 (21.6 MB/s) - ‘/etc/apt/keyrings/winehq-archive.key’ へ保存完了 [3220/3220]
nagata@mint-vm:~$ sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources
--2022-12-17 23:01:39--  https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources
dl.winehq.org (dl.winehq.org) をDNSに問いあわせています... 146.75.114.217
(中略)
2022-12-17 23:01:40 (3.85 MB/s) - ‘/etc/apt/sources.list.d/winehq-jammy.sources’ へ保存完了 [163/163]
tnagata@mint-vm:~$ sudo apt update
取得:1 https://dl.winehq.org/wine-builds/ubuntu jammy InRelease [8,041 B]
取得:2 https://dl.winehq.org/wine-builds/ubuntu jammy/main i386 Packages [66.4 kB]
(中略)
状態情報を読み取っています... 完了        
アップグレードできるパッケージが 368 個あります。表示するには 'apt list --upgradable' を実行してください。
tnagata@mint-vm:~$ sudo apt install --install-recommends winehq-stable
パッケージリストを読み込んでいます... 完了
(中略)
libc-bin (2.35-0ubuntu3) のトリガを処理しています ...
tnagata@mint-vm:~$ 

 このままだと 64 bit 版の Wine が立ち上がりますが、それだと「超古い」アプリを動かすことができません。そこで、32 bit で Wine を走らせるように設定しておきます。(参考:「64bit 機で 32bit のWine を使用する」)

tnagata@mint-vm:~$ export WINEARCH=win32

 次に、日本語設定をします。(参考:「UbuntuでWindowsアプリを使う wineのインストールと設定方法」)

tnagata@mint-vm:~$ sudo apt install winetricks
パッケージリストを読み込んでいます... 完了
(中略)
mailcap (3.70+nmu1ubuntu1) のトリガを処理しています ...
tnagata@mint-vm:~$ winetricks

 最初に "Wine Mono" のインストールを求められますが、この時点では文字化けしています。あとでフォントをダウンロードすれば直るので、ここは構わず「インストール」を実行します。

20221217-6.jpg

 "Select the default wineprefix" を選択。

20221217-7.jpg

 "Install a font" を選択。

20221217-8.jpg

 "cjkfonts" を選択。

20221217-9.jpg

 途中で何度かダイアログが出てきますが、すべて "OK" で大丈夫です(私は、最初に出てくるオプトアウトのダイアログだけ "いいえ" と答えた)。フォントのダウンロードが終わったら、ウィンドウを右上の×で消します。

 Windows バージョンを "Windows 95" にするため、winecfg を実行します。「アプリケーション」タブの一番下の「Windows バージョン」を「Windows 95」にします。

20221217-11.jpg

 さて、「超古い」プログラムをインストールしてみます。フロッピーディスク (!) からコピーした SETUP.EXE を右クリックして、「Wine Windows プログラムローダーで開く」を選びます。

20221217-10.jpg

 おお、立ち上がった。微妙に表示は変ですが、動いてますね。

20221217-12.jpg

 インストールしたプログラムを立ち上げてみました。一応動いています。装置の制御ができるかどうかは未確認。ここから先は実機に接続して調べる必要があります。

20221217-13.jpg

タグ:Linux
Posted at 2022年12月17日 23:57:33
email.png