MobaXterm を macOS（Apple Silicon）で使う。その1

MobaXtermというターミナルソフトをご存知でしょうか？SSHなどでサーバーへ接続するための、ターミナルソフトです。
Windows用のターミナルソフトといえば、「Tera Term」や「Putty」が有名どころですが、私は MobaXterm がお気に入りです！

# MobaXtermのいいところ
* 接続先・ID・パスワードなどを、リスト形式で保存できる。
* サーバーとのファイル送受信が、GUIで簡単にできる。
* SSHだけでなく、RDP・VNCといった接続も対応。
* TFTP・FTP・HTTP・SSH/SFTP・NFS・VNC・・・といったデーモン機能を持っている。
* X11 Server機能があるので、UNIX GUIアプリ（Xアプリ）を実行できる。
* SSHポートフォワーディングの設定が簡単。

などなど、語り尽くせない魅力があるのです。
もうキリがないので、スクショ付きで MobaXterm の素晴らしい紹介を書いてくださっている、下記Qiitaの投稿をご覧ください。私の言いたいこと全て書いてありますｗ

https://qiita.com/mkasahara/items/c029154b5436913b20e0

MobaXtermですが、無償で使える「Home Edition」と、機能制限のない「Professional Edition」があります。Home Edition は同時に接続できるセッション数に制限があったり、TFTP・NFSなどデーモンの実行時間に制限があったりしますが、個人利用ではほぼ問題ないと思います。

私は業務でも使いたかったのと、ネットワーク機器のFirmware更新などでTFTPを使うのに、時間制限があるのは困るので、Professional Edition を購入しました。
（うろ覚えですが、以前は Home Edtion のセッション数の制限が、もっと少なかったと思います。）

69 USドルで永続の利用権が手に入るのと、12ヶ月間はバージョンアップが利用可能です。
（最近の円安で、69 USドル＝1万円越えの安くない価格になってしまった。。。）

https://mobaxterm.mobatek.net/download.html

# macOS で使いたい
素晴らしい MobaXterm ですが、 Windows向けにしか提供されていません。会社の業務PCはWindowsですが、私用ではMacをメインに使うようになって10数年。

Macに対応した MobaXterm が提供されるのを待ち望んでいますが、残念ながら提供される気配はありません。「MobaXterm」「macOS」で検索すると、「Mac版はないのか？」といったやりとりや、「Mac で MobaXterm 
の代わりになるソフトを紹介します。」といった記事が数多く見つかります。需要はあるんですよ。。。

私用でMac・Windowsの二台持ちなので、それほど不便に感じていませんでしたが、やはりMacに環境を統一したいということもあり、MobaXterm を Macで動かせないかチャレンジしてみます。

# macOS 上で Windowsアプリを動かすには、、、

いくつか方法があり、

1. 「Boot Camp」を使って、Windows環境を構築
1. 「Parallels Desktop」「VMware Fusion」など、仮想化ソフトを使ってWindows環境を構築
1. Linux・macOS・UNIX系OSで、Windowsアプリを動かすのに「Wine」を使う

「1」の「Boot Camp」はいわゆる Intel Mac でしか使えません。私が使っているのは M1 Mac mini で、Apple Silicon（ARM）なのでこの方法は使えず。

「2」の仮想化ソフトを使って Windows環境を構築し MobaXterm をインストールするのは、Windows のライセンス購入が必要です。まぁ、この方法ではほぼ確実に動くから、ちょっとつまらないというのもありますｗ

「3」の Wine については以前から知っていましたが、 Windowsアプリが動くといっても、不安定だったり遅いんでしょ？といったイメージがありました。しかし最近 Steam Deck というゲーム機が、SteamOS という LinuxベースのOSに、Proton と呼ばれる Wine ベースの技術を使って Windows のゲームを動かしていると知り、ゲームまで安定して動くようになったのか！！と驚きました。

ということで、MobaXterm を macOS＋Wine で動かしてみようと思います。

# Wine をインストールする
Wine の公式サイトで macOS へのインストール手順が案内されています。

https://gitlab.winehq.org/wine/wine/-/wikis/Download

私は Mac Ports を使っているので、さっそくインストール。ですが、ここから地雷原に足を踏み入れることに。。。

```
% sudo port install wine-stable
--->  Computing dependencies for wine-stable
Error: Cannot install wine-stable for the arch 'x86_64' because
Error: its dependency MoltenVK-latest does not build for the required arch by default
Error: and does not have a universal variant.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port wine-stable failed
```

エラー。
wine-stable は「x86_64」向けだが、依存関係のパッケージ「MoltenVK-latest」がデフォルト「x86_64」向けではなく、ユニバーサルでもない。
ってことで、まず「MoltenVK-latest」からインストール。

```
% sudo port install MoltenVK-latest +universal
--->  Fetching archive for MoltenVK-latest
--->  Attempting to fetch MoltenVK-latest-1.2.11_0+universal.darwin_any.arm64-x86_64.tbz2 from https://packages.macports.org/MoltenVK-latest
--->  Attempting to fetch MoltenVK-latest-1.2.11_0+universal.darwin_any.arm64-x86_64.tbz2 from https://kmq.jp.packages.macports.org/MoltenVK-latest
--->  Attempting to fetch MoltenVK-latest-1.2.11_0+universal.darwin_any.arm64-x86_64.tbz2 from http://mirror.fcix.net/macports/packages/MoltenVK-latest
--->  Fetching distfiles for MoltenVK-latest
--->  Attempting to fetch MoltenVK-macos.tar from https://distfiles.macports.org/MoltenVK/1.2.11
--->  Attempting to fetch MoltenVK-macos.tar from https://github.com/KhronosGroup/MoltenVK/releases/download/v1.2.11-artifacts
--->  Verifying checksums for MoltenVK-latest                                        
--->  Extracting MoltenVK-latest
--->  Configuring MoltenVK-latest
--->  Building MoltenVK-latest
--->  Staging MoltenVK-latest into destroot
--->  Installing MoltenVK-latest @1.2.11_0+universal
--->  Activating MoltenVK-latest @1.2.11_0+universal
--->  Cleaning MoltenVK-latest
--->  Updating database of binaries
--->  Scanning binaries for linking errors
--->  No broken files found.
--->  No broken ports found.
```

再チャレンジ。

```
 % sudo port install wine-stable           
--->  Computing dependencies for wine-stable
Error: Cannot install gstreamer1-gst-plugins-base for the archs 'arm64 x86_64' because
Error: its dependency graphene only supports the arch 'arm64'.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port wine-stable failed
```

またエラー。
gstreamer1-gst-plugins-base は「arm64・x86_64」向けだが、依存関係のパッケージ「graphene」は、「arm64」だけに対応している。。。

うーーーん、ちょっと調べると同じ問題で困っていた方を発見。

https://forum.winehq.org/viewtopic.php?t=39053

よく分からないけど、「gstreamer」は除いてインストールすると、ひとまずインストールはできるみたい。
再々チャレンジ。

```
% sudo port install wine-stable -gstreamer    
--->  Computing dependencies for wine-stable
The following dependencies will be installed: 
(中略)
--->  Building harfbuzz                                  
Error: Failed to build harfbuzz: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_harfbuzz/harfbuzz/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port wine-stable failed
```

またまたエラー。
今度は harfbuzz というパッケージの build に失敗。
調べてみたら、Mac Ports のチケットにも、最新の harfbuzz が build できないという投稿があり。でも、修正版をリリースしたというような投稿がない。むむむむむ、、、

https://trac.macports.org/ticket/71699

パッケージの置き場所を覗いてみたら、10.2 とか 10.1 には「+universal」版が見当たらず。

https://packages.macports.org/harfbuzz/

とりあえず、「+universal」版で一番バージョンが新しい、「harfbuzz-8.5.0_0+universal.darwin_23.arm64-x86_64.tbz2」をファイルからインストールしてみます。

```
% sudo port install file://harfbuzz-8.5.0_0+universal.darwin_23.arm64-x86_64.tbz2 +universal
--->  Computing dependencies for harfbuzz
--->  Fetching distfiles for harfbuzz
--->  Verifying checksums for harfbuzz
--->  Extracting harfbuzz
--->  Configuring harfbuzz
--->  Building harfbuzz                                  
--->  Staging harfbuzz into destroot                     
--->  Installing harfbuzz @8.5.0_0+universal             
--->  Deactivating harfbuzz @8.5.0_0
--->  Cleaning harfbuzz
--->  Activating harfbuzz @8.5.0_0+universal
--->  Cleaning harfbuzz
--->  Scanning binaries for linking errors
--->  No broken files found.
--->  No broken ports found.

```

三度目のチャレンジ。

```
% sudo port install wine-stable -gstreamer -harfbuzz    
--->  Computing dependencies for wine-stable
The following dependencies will be installed: 
(中略)
--->  Building libde265                                  
Error: Failed to build libde265: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_libde265/libde265/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port wine-stable failed
```

この後、libde256 のインストールに悪戦苦闘しましたが、どうしても導入できず、、、心折れました。

Wine のインストールが最終目標なら頑張りますが、MobaXterm を使ってみたいというのが目標でして。。。まずは MobaXterm が macOS + Wine で動くのか手軽に試したいのです。MobaXterm が使い物にならなかったら、Wine 導入の苦闘も水の泡になり。。。

ってことで、サクッとインストールできる Wine ってことで、「CrossOver」という Wine ベースの商用ソフトでトライします。

（その2へ続く）