俺様サーバー構築記 - Arch Linux + ZFS + Xfce に wine と Exce2007 をインストール→ライセンス認証できず@ノートパソコン


俺様サーバー構築記 - 基本方針」に基づいて自宅サーバーの構築を進めていますが、ノートパソコンにも ArchLinux をベースにしたGUI環境を構築し、だいぶ整ってきました

ここらでWindowsとの連携を模索したい所ですが、まず、Excelを使えるようにしたい。

Windowsを意識して表計算ソフトを考えると、どうしてもMicrosoft純正のExcelが欲しくなります。各種のExcel互換ソフトにしてもGoogleスプレッドシートにしても、やっぱりExcelとは違うんですよね。見栄えは勿論、セル数式やVBAマクロまで視野に入れると尚更です。細かい使い勝手まで考えるとやはりExcelに分がある、というよりExcel一択です。ここらに関しては色々な意見があると思いますが。私は仕事で、セル数式やピボットテーブルを駆使したり、VBAマクロをいじくったりする事が良くありまして、その辺で相違が発生すると躓いてしまうんです。まあ、Excelのバージョンが変わっただけで文句を垂れる事もありますんでアレですが…

そこでMicrosoft純正のExcelをインストールしたい。 Wine を入れた上で、今回は Excel2007 をインストールしてみます。

ちなみに Excel2007 はサポートが終わってしまったのですが、手元にあるのがこれしか無かったので… セキュリティの問題もありますし、良い子の皆さんは真似しないように

wine

参考文献: Wine - ArchWiki

スナップショット

まず、インストール直前の状態をスナップショットしておきます。

$ su
パスワード:
# zfs snapshot tank/main@$(date +%Y%m%d_%H%M%S)_before_wine
# zfs list -t snapshot
NAME                                      USED  AVAIL  REFER  MOUNTPOINT
  〈省略〉
tank/main@20190430_150530_before_wine       0B      -  5.80G  -

pacman - multilib

pacman の multilib を使えるようにします。

# cd /etc
# sed -e"/^#*\[multilib\]/,/^$/ s/^##*//" pacman.conf | diff -U0 pacman.conf -
--- pacman.conf 2019-03-24 14:29:42.289345627 +0900
+++ -   2019-04-30 15:11:23.680442426 +0900
@@ -93,2 +93,2 @@
-#[multilib]
-#Include = /etc/pacman.d/mirrorlist
+[multilib]
+Include = /etc/pacman.d/mirrorlist
# sed -e"/^#*\[multilib\]/,/^$/ s/^##*//" pacman.conf -i

そして更新。

# pacman -Syy
  〈省略〉
# pacman -Syu
  〈省略〉

wine をインストール

Excel2007をインストールするのに必要である(と思われる)パッケージを、全部まとめてインストールします。

# pacman -S wine winetricks wine_gecko wine-mono lib32-alsa-lib lib32-alsa-plugins lib32-libxml2 lib32-lcms2 lib32-giflib lib32-libpng lib32-mpg123

選択肢などが出てきたら、ひとまずすべてデフォルトにしておきます。

今回は途中で下記のエラーが出ました。

エラー: cabextract: "Alad Wenter <[email protected]>" の署名は信頼されていません
:: ファイル /var/cache/pacman/pkg/cabextract-1.9.1-1-x86_64.pkg.tar.xz は破損しています (無効または破損したパッケージ (PGP 鍵))。
ファイルを削除しますか? [Y/n]

ここでは迷わず n を押してファイル削除。鍵を更新します。
参考文献: ArchLinuxのアップデートで署名エラーが出た場合についてメモ - /home/tnishinaga/TechMEMO

# pacman -S archlinux-keyring

この後にもう一度 wine 関連のインストール。今度は成功します。

wine 設定

wine の設定は、root ではなく各ユーザで行います。

# exit
exit
$ wine winecfg

ポップアップウィンドウが表示されて、なぜか wine-mono のインストールを要求されます。

wine-mono
パッケージを見つけられませんでした。このパッケージは .NET
アプリケーションが正しく動作するために必要です。Wine
で当該パッケージを自動的にダウンロードし、インストールするこ
とができます。

注意:
代わりにディストリビューションのパッケージを利用することをお

pacman でインストールした筈なんですけども。原因を調べるのも面倒なので、ここでインストールします。

設定画面では、すべてのタブを確認して適当にデフォルトにしておきます。
なお、Windows バージョンは Windows 10 にします。
Windows 登録情報の所有者と組織の欄は、適当に自分の名前か何かを入力します。
そして画面の解像度ですが、日本語の文字が豆腐 □ になっています。これは Tahoma フォントが日本語を持っていない事が原因との事。対策として、日本語フォントへのシンボリックリンクで置き換えます。

$ su
パスワード:
# mkdir /root/fonts_backup
# mv -v /usr/share/wine/fonts/tahoma* /root/fonts_backup
renamed '/usr/share/wine/fonts/tahoma.ttf' -> '/root/fonts_backup/tahoma.ttf'
renamed '/usr/share/wine/fonts/tahomabd.ttf' -> '/root/fonts_backup/tahomabd.ttf'
# ln -s /usr/share/fonts/OTF/ipag.ttf /usr/share/wine/fonts/tahoma.ttf
# exit
exit
$ wine winecfg

今度は大丈夫なので設定します。

ただ、正しくないフォントになってしまうのが気になりますねぇ…

Excel2007

インストール

マシンに組み込まれているCD-ROMドライブに、Microsoft Office2007 のインストールCDを挿入します。

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 298.1G  0 disk
|-sda1   8:1    0 298.1G  0 part
`-sda9   8:9    0     8M  0 part
sdb      8:16   1   7.5G  0 disk
|-sdb1   8:17   1    16M  0 part
`-sdb2   8:18   1   7.4G  0 part
sr0     11:0    1 389.4M  0 rom
$ su
パスワード:
# mount -r /dev/sr0 /mnt
# exit
exit

exeファイルが実行可能ならば、 wine を指定せずにそのまま実行可能の模様。

$ ls -l /mnt/setup.exe
-r-xr-xr-x 1 root root 463152 10月 28  2006 /mnt/setup.exe
$ /mnt/setup.exe

後はWindowsにおける Excel2007 インストールと全く同じ手順です。

インストールが完了すると、Xfce4 のアプリケーションメニューにインストールしたソフトウェアが追加されています。
アプリケーション>Wine>Programs>Microsoft Office>Microsoft Office Excel2007

ライセンス認証

メニューから Excel を起動すると、初回はライセンス認証のダイアログが表示されます。
Windows を使っていると毎度お馴染みの Microsoft Office ライセンス認証ウィザード です。
デフォルトで「ソフトウェアのライセンス認証をインターネット経由で行う(推奨)」が選択されているので、そのまま「次へ」ボタンをクリック。

しかし「通信エラーが発生しました。現在お客様の要求を処理できません。しばらくしてからもう一度試してください。」が表示されます。
ちょっとぐぐるとファイアウォールがどうとかって話が出てくるんですが。う〜ん、wine の通信状況などを調べる気にはちょっとなれない。Linux側を iptables で軽くチェックした感じでは、特に問題あるとは思えないんですが…

仕方が無いので「ソフトウェアのライセンス認証を電話で行う」にしてみます。しかしこれはこれで問題があり、確認コードの入力欄がすべて入力不可!

うむう。諦めるしかありませんかね… 何か進展があったら追記します。