m4シリーズでmacminiがやーっと発売になった。
久しぶりに物欲に襲われて、発売された当日にappleのサイトで予約販売でポチっとクリック。
発売日の午前中、荷物来た。

去年からずーっと待ってたから長かったなぁ。
m3スキップしてm4になったからしゃあないか。
今年は配線も整理したから物理的な設置の分だけ手間が少しかかったし、仮想化の維持も想定と違って手間かかった。
結論(チョー速い)
とにかく起動も画面描画も速くなった。カクカクせんようになった。
以下、macminiからwindowsとdockerのxrdpコンテナへのリモートデスクトップ接続。

macmini本体の起動からマウス使い始めるまで20秒以内(実際もっと速く感じる)、仮想マシンの起動も同じぐらい。
去年までvmwareの中のmacでkubernetes(x86のmicrok8s)動かしてたのを、 windowsホストの中のvmwareに引っ越しさせた。
最初はarm64のmacminiの中で x86のubuntu24動かしてmicrok8s環境 作ったけど、動きが重たすぎてすぐやめた。
arm64のマシンでx86エミュレーションしたら、そら重たいわなぁ。
代わりにutmの中でkubernetes(arm64のmicrok8s)を kubearmってホスト名で稼働 するようにして、 rancher desktopを開発環境 として最終的に足した。
musicの曲データも親ホストのmacminiで維持するように変更。これでGUIの応答速度がトホホな性能だった環境が改善された。
そのために、macminiの注文をカスタマイズしてssd512GB・メモリ24GBにした。intelのときと違ってm4のチップには後付けでメモリ追加できんらしい。
⭐️印箇所を物理的に用意して、現行のsonomaからsequoiaへ移行アシスタントでデータ移す。
ただし、UTMはusbが使えんからiphoneのバックアップとmusicの8400曲はmacminiの中で扱う。
microk8sはbrewでインストールしなおして、linuxホストにtar.gzでスクリプトやらデータを保管してるから、コンテナの永続化領域は/dataへコピーしてきて利用。
|
|
準備作業
配線の整理したり置き場作ったり、使うソフトウェアを書庫にダウンロードして準備もした。
物理的な準備
予約販売の注文する前、hdmiの分配器は元から使ってたけどusbの分配器がなかったから買っといた。
macminiのusbはタイプcしかないようになったから、本体への変換アダプタも足しといて、これで普段使ってるキーボードとマウスが使える。
ヘッドホンもusb経由で使ってるから、windowsとmac切り替えたら音もちゃんと出る。
予備のwindowsホストを売ってきて場所あけておき、電源コンセントとLAN線も刺せるように場所あけて配線キレイにしといた。
ついでにPCまわりとファンのホコリ全部除去したから年末の大掃除はやらんで済む。
梱包開いてから困ったことが1つ。
なんと、電源ボタンが前面でなく裏側についてる。

なんで裏面やねん。
ガラストップのダイニングテーブルに置いて使うんやけど、ボタン押しにくい。

製品のページ見ると、こんな画像解説があった。

前面吸気で背面から熱逃すって言いたいんやろけど、底からやるんかいなぁ。
もー、めんどくさいなぁ。
しばらく考えて、熱逃がしやすくするのと電源ボタン押しやすくするために上げ底した。

ガラスやから多少発熱してもこれで耐えれるやろ。
電源ボタンは押せるようになったけど、酒のアテ入れて使ってたガラス皿が1個使えんくなったやんけ・・・。
物理設置の2025年1月追記
最終的にusb-cからhdmiに変換するケーブル2本を年末に追加で買って、トリプルディスプレイにしたった。
本体裏側の刺し口は全部使ってしもたな。ついでに19年ほど使った作業机も買い直したったから、床下まで透けて見えるようになった。

右からmicrok8sで動かしてるkubernetesのwebgui画面、真ん中はdockerhubのトップ画面、左はJRAの出馬表。

usb-cで画面見るのどやねんと思ってたけど、youtubeとかレース動画はスイスイ見れる。
kubernetesの調整終わったし、今から金杯予想。
当てたるでー!!
論理的な準備
別のlinuxホストでsamba動かしてるから、必要なソフトウェアをあらかじめ準備してファイルサーバに保管。
macos sequoiaのインストーラ作成
仮想マシンで動かすために用意したんやけど、vmwareやなくてUTM使うことにしたから結果として使わんかった。
sonomaのインストールでiso作ったときの方法 をほぼそのまま同じことする。
去年のsonomaは4.51GBってソフトウェアアップデート画面にあったのが、今年のsequoiaは4.46GBってあるから、インストーラのサイズ指定は去年のと同じでええ。
やってみたときの様子はこんな感じ。
|
|
5分ほどでisoファイル完成。ファイルサーバに置いとこ。
仮想化でvmware使うときには必要なはずなんやけど、UTMでやるときはコレいらんねんな。
仮想化のための用意
vmware fusionの用意。
broadcomがvmware扱うようになったみたいで、いつものダウンロードで使ってた認証サイトがどっかいってしもた。
個人利用は無償になったらしいし、新サイトでアカウント作り直してダウンロードしとく。
m4でもvmware動くんかなぁ。フリーズとかカーネルパニックとか発生しませんように。
って、インストールして動くのは動いたけど、やってみたらいきなりmacosがosの種類としてGUIから選べんかった。
サポートリスト を見たら、ゲストOSの種類にsequoiaはあったんやけどなぁ。
くっそー、vmwareやめ。
USB使えんけど、前から気になってたutm使うことにする。
onyxの用意
テンポラリファイルとかをクリーンアップしてくれるソフトウェア。常用してるから準備対象。
前から思てるんやけど、ずっと使わせてもらってるからお金払いたい。
でも「寄付」って方法でクレジット情報入力するのは怖いからできん。
AppStoreとかで扱ってくれよな。
kensigntonのドライバ
これないとマウスがうまいこと動かんはず。丸い玉を転がして使う。
好みのボタンの利用レイアウト設定に必要。
その他
宅内LANのIPアドレスとか、dnsとか目視して再確認しとく。
箱あけて使い始める
こんな感じね。ディスプレイ画面を撮影すると、うねうねした曲線が見えるの気持ち悪いな。

音楽データだけをまずは引っ越し
iphoneで音楽聞くためにミュージックだけ転送。

たまたまやけど、ちょうど8400曲。30分ぐらいかかる。
ホンマは仮想マシンの中で維持したかったけど、UTM使うことにしたらUSB使えへんことに気づいたから、仮想マシンやなくて親ホストのmacminiで維持することにした。

きっちり8400曲入った。

どの曲でもええから、曲詳細見て崩れてへんか確認。
もちろん耳で音も聞く。

FF6に出てくるセッツァーのテーマ曲、疾走感あってええなぁ。 windows側にもホームシェアで提供できてるのを確認。

windows側にitunes入れとくと、utmの中のmacをフルスクリーンで表示させて作業してるときに、windowsへrdp接続して曲再生の操作が楽にできる。
macosの仕様やからやろけど、フルスクリーンのときに画面上のほうにマウス移動してツールバー表示させたとき画面最小化のボタンが使えへんのよ。
utmの中で動くmacはicloudの認証はできてOSの更新パッチ適用できても、Appstoreとmusicの認証ができんしなぁ・・・。
他にも目視と耳でプレイリストが維持できてることも確認した。
音楽データだけ移したつもりやったけど、エイリアス設定ができてるんやな。

たぶんユーザフォルダの中にある.zshrc転送してくれたんやな。
まぁ困らんからええか。
なんでかgitのモジュールも来てるけど、brewはどっかいってるなぁ。
intelからm4への引っ越しやからプログラム類は使えんと思とかなアカン。
G3のmacbookをintelのmacminiに移した時もおんなじようなことあったかなぁ。
もちろん当時はbrewみたいな便利なもんはなかったんやけどね。
brewでパッケージ管理
試行錯誤したからちょっと曖昧やけど、brewのありかを見つけた。
そしたら最初こんなん出た。「CPUのタイプ違うぞコラァ|って怒られた。
|
|
brew入れ直したらええんやけど、たぶん導入してたの全部入れ直しやな。
扱い方を書いておられる方がおられたので参考にさせてもらった。作者さんありがとう。
入れ直し開始。
|
|
手動でbrewパッケージ入れ直し完了できた。導入してるモジュールのリストを残してるから手動ですぐに入る。
やらんかったけど、これでmicrok8s入れられるようになったはず。
|
|
onyxでいつもキレイ
システムを含んで、ファイル類のクリーンアップに常用。
macOSのベータ版の後、本家がリリースされたら2週間で毎年使えるようになることが多い。

もちろんちゃんと動いた。
仮想マシン環境の用意
OS壊して実験的なことをやりたいときに使う環境。
毎年の流れやとvmware使うんやけど、せっかく新しい機械使うんやし、前から挑戦してみたかったUTM使ってみる。
というか、vmware fusion使おうとしたらインストールOSにmacOS選べんかったしな。
UTMはちゃんとmacOS選べるで。

CPUコア数とメモリとディスクサイズを指定して仮想マシン作ってみる。

用意しといたISOファイルをマウントしたんやけど、UTMには要らんらしい。

vmware使ってるときの発想やとOSインストール必要って思うんやけど、UTMの場合はipswってのを使うらしい。
解説してる方がおられた。作者さんありがとう。
iosのための仕組みみたいやけど、UTMではmacos稼働ホスト用意できるらしい。
仮想マシン作って右クリックすると、Finderに表示させることで保存先を特定できる。

どんなファイル入ってるんかなって見たら、ディスク作成したときのサイズの.imgファイルができてるんやな。

見た目は100GBってあるけど、tar/zipで圧縮すると実際のサイズまで縮んでくれるし、du -shc *とかしたら実際のサイズが見える。
仮想マシンをバックアップしたいときにはええことやね。
作った仮想マシンを起動してみると、さっきのipswをどこかから取ってきてmacOS使えるようにしてくれる。

ここまで5分ぐらいしかかからんかった。 去年どっかで見たscary fastってこういう感じのことも言うてるんかも。

練習で最初は100GBのディスクにしたけど、いったん150GBにして移行することにしよ。
sequoiaに魂入れる
データ転送行ってみよか。

音楽データは仮想マシンでは扱わないようにしたから、転送するデータ量は減ったはず。
途中でフリーズしたみたいに見える瞬間があってアセった。

ドキュメントとかアプリケーションあるから1時間ぐらいはかかった。

microk8sのqemuマシン削除せずにやったから時間かかったんかもな。 終わってから消しといた。
$ sudo rm -fR /var/root/Library/Application\ Support/multipassd
UTMはこのへんうまいことできてて、データ削除してからイメージ置き場のバックアップすると小さくなってくれてる。
vmwareのvmdkのときは、大きいデータ置いて削除しても広がりっぱなしやったからな。
apple virtualizationのおかげなんやろけどGUIもvmwareのときより軽い。
クセはあるけど、apple virtualizationのUTMやめられまへんな。
アプリケーションの動作確認
リカバリすること前提やから、いきなり確認はせんのよ。
UTMのイメージ維持の確認
アプリとかデータの確認する前に、仮想マシンに魂入れ終わった状態でバックアップとる。
勇気を出して作った仮想マシンを削除し、リストアしたものを動作確認してくことで、仮想マシンの維持ができることがわかる。
システムが吹っ飛ぶような検証作業しても巻き戻せる。
まずは削除。

linuxホストへバックアップしておいたzipファイルはおよそ100GB。
ディスク置き場に余裕のあるlinuxホストで展開する。

zipの時間と同じぐらいunzipも時間かかるけど、30分強ぐらいか。
展開したものをmacmini側からsmbマウントして確認。
おお、展開できとるやん。階層深〜いところにあるなぁ。

gvis-sequoia.utmは単一ファイルやなくて実際はフォルダ。
これを、さっき確認したUTMのイメージ保管フォルダへコピーする。
|
|
コピー終わったらスンナリ起動できた。

brewのパッケージもちゃんと蘇ってた。

続いて転送データも含んで動作確認してみよか。
vscode
バックアップ取る前、練習でmsのサイトにあるzipをダウンロードしてアプリケーションフォルダにドラッグして動かそうとしたんやけど、なぜかエラーになって起動できんかった。
ドラッグだけで済むからシンプルでええねんけど、困ったなぁ。
vscodeの設定フォルダとか完全に抹消してみてもアカンかった。
そういえばbrewはGUIアプリもインストールできたはず。brewでパッケージ名探したらあるやん!!
仕方ないからbrew使ってインストールしたら動いた。

プラグインも普段使うもの決まってるしメモあるからすぐに戻せた。
ちゃんとgitgraphも見えてるから、データ維持できとる。

gitの履歴とか入ったデータフォルダは小さなファイルとか入ってるし、gitgraphで前にいじったブランチの情報が見えるってことはキチっとデータが復元できてるって考えてええはず。
officeの利用
昔作ったexcelとか見れるか。 office365はライセンス認証やり直したらちゃんと動く。

なぜかintelからm4へ引っ越したのにちゃんと動くんやな。
たぶんバイナリデータをコピーしてるんやなくて、マシンに応じたその時の最新モジュールをインターネットからとってきてくれてるんやろな。
どこまでも電波飛ばしてくるNHKみたいな粘着力でofficeも動いた。
power pointとかwordは自前文書がないから、そのうち確認してこ。
リモートデスクトップ - rdp
前はこんなアイコンのを使ってて、移行アシスタントで引っ越したあとそのまま使おうとしたら、最初接続できんかった。

リモートデスクトップは刷新されるってどっかで見た覚えがあるなぁ。
アプリケーションのフォルダからいったん削除してみて、入ったのかこんなん。

windows appっていう抽象的な名前になってて、リモートデスクトップ以外の用途にもなるんかな。
UTMの仮想マシンからも、macminiからもつながるようになった。
windowsでもlinuxのxrdpコンテナでもつながるやん。

ただし、リモートデスクトップ先ではキーボードが英語配列になるの悪い癖はそのままやったな。
母艦のwindowsホストとmacminiで、画面切り替え機とUSB切り替え機接続して使うことにしたんやけど、結局はmacmini側からrdpしてwindowsも操作することにした。

グラボを使ってsteamでゲームするときだけ、切り替えよっと。
ssh
macの中にあるターミナルでコマンドラインを使うには、フルディスクアクセスの権限を設定しとかなアカンのは覚えてたんやけど、windows側のtera termから接続したときにコマンドが使えんかった。
sequoiaのシステム設定の中にリモートログインってのがあって、フルディスクアクアセスの許可設定が別にあるんよ。

設定なかなか思い出せんかったけど、メモったから来年は大丈夫やろ。
リモートユーザのフルディスクアクセスを許可しとかんと、teratermで接続できても、コマンド実行に制限がつく。
これでwindows側からmacminiに接続するtera termのマクロ書いとく。
|
|
普通に繋がるんやけど、macのdf結果って見づらいなぁ。結局なんぼディスク使えるかが直感的にわからん。

仮想マシン用のは前からマクロあるから、それも繋がるか確認。

なんか、わけわからんマウントポイントがあるけど、また今度調べよっと。
cyberduckでクラウドのディスク参照
googleのドライブ接続してデータを維持しているのを、接続して使えるかどうか。

キラキラ星の譜面ちゃんと見えるで。 6番目の変奏が自分は一番好き。
このアプリのおかげで、google cloudの中で動いてるコンテナの永続化領域を持って来れる。
負荷の具合
macosにはアクティビティモニタってのがあるんやけど、windowsみたいにCPUコアごとの利用率がわかるわけやないし、GPUとかニューラルエンジンの混み具合が視覚化されてるわけやない。
brewのパッケージにglancesってのがあって、pythonで動くシステムモニタも全部のコアは見せてくれへんかった。

なんか視覚化できるものあるんかな。
来年探そか。
日本語キーボード配列で使う
ちょっと手こずった。
macminiは大丈夫なんやけど、UTMの中の仮想macosではキーボード配列がどうしても英語版になってまう。
カッコとかダブルクオートのキー位置がちゃうから記号類が入力やりにくい。
キーボード設定の画面で「キーボードの種類を変える」のボタンがあらへんのと、実行モジュール特定してキーボードアシスタントをコマンドラインから起動しようとしても動かんかった。
ちょっと調べると Karabiner-Elements ってのを使ってJIS配列選ぶと日本語配列にできそうな感じ。
UTMの中のsequoiaにダウンロードしてインストールしたら、システム設定でログイン項目とバックグラウンド系の許可設定を付与して拡張機能を有効にした。
キーボードビューアで見ると配列が日本語になってるのがわかる。
なんでファンクションキーのほとんどがノートパソコン用みたいなんになってんのやろな。

何を有効にするかはkarabinerが教えてくれるから、その通りにやればええ。
英語でのナビゲートやけど、なんとなく読めるからすぐに設定できる。
って、キーボードビューアにはバックスペースキーの左に「|」と「¥」が見えるけど、入力できんことに気づく。円マークはバックスラッシュな。
円マークはあんまり使わんけど、縦棒がないとps -ef | grep xxとかできへんようになる。キーのアサイン変えたろ。
ほとんど使わんキーやったら「無変換」とか「変換」って使いたかったんやけど、Karabiner-Elementsは反応してくれんかった。
他にも使わんPauseキーとかSclkとかやってみたけど、反応してくれへん。
あんまり使わんF5キーでええかな。キー押しながら、何て言う定義で「|」と「¥」が表示されるか確認したら「international3」でできるみたい。

ターミナルの画面で入力できるか試したらできた。

F5キー使う瞬間があったらキーの割り当て変更したらええけど、めんどくさ。
アンダースコア(international1)もうまいこと入力できんかったから、最終的には F4/F5を登録して使うことにした。
クリップボード
macmini側でstable diffusionで画像生成して遊んでたり、utmの中のmacでgeminiに質問して調べごとしたり勉強したりしてると、文字列をどうしても共有したいときがある。
そういえばvmwareのときにはvmware toolsってのがあって、これがあるおかげでマウスとかキーボード、クリップボードの共有とかできた。
半年ぐらいしてから気づいたけど、UTMにもおなじようなもんがあるんかというとある。
ギリギリやけどsequoiaから有効になったらしいのな。
書いてある内容を見ながら、UTMの稼働ホストのツールバーの右のほうにメディアマウントしてインストールできるボタンがあるのを確認。

マウントしたら確認のポップアップが表示される。

finderから見たらマウントしてるのが見える。

インストーラが使えるからやってみる。

システムの根っこをいじるみたいやからパスワード必要。

右側のウィンドウで動いてるUTM稼働ホストのsequoiaでURLをコピーすると、左上に起動しといたブラウザに貼り付けられる。

文字列はコピペできるけど、ファイルはアカンかった。
そこは今までどおり、linuxのsamba経由でファイルコピーしとこ。

ゲームも仮想化
windows側ではsteam以外にplay station1と2のエミュレータでゲーム環境を維持してる。
プレステなんか大昔に壊れたし押入れの中。本体が生きてるときにエミュレータで必要な材料抜いといたし、やりたいゲームはISOに吸い上げてある。
macminiしかもm4でも動くんか?
それぞれエミュレータ提供してる人と解説してくれてる人が世の中にはいるんやなぁ。
作者さんと解説者さんありがとう。
実際はgithubに最新版があって、そこから使ったけど経過は割愛。解説者さんの説明どおりやれば動く。
まずはコントローラの接続確認。xboxコントローラもあるけど、ps4のコントローラあるからusb刺してみる。

ps1-duckstationの源平討魔伝。藤原 景清さんが頼朝を討ってく。
アーケード版は40年ぐらい前、PS1は30年前に出たゲームやのにホイホイ動く。

他にもゼビウスとかギャプラスも動いた。
ps2-pcsx2のdevil may cry3。ダンテさんが撃って切って走り抜ける。

そのままやればええんやけど、windows側でps1/2のメモリカードのデータをmacに持って行ったらちゃんと使えた。
つまりクリアデータが維持できてたから、もじぴったんとかxiとか、パズルゲームの続きができる。
ゲームにもよるんやろけど、せっかくGPUあっても、レンダリング設定はハードウェアやなくてソフトウェアにしとかんと画面真っ黒になってまうことあった。
残念なこと
どうしても解決できん問題が残った。
UTMで動くsequoiaのapple id設定とicloud利用設定はできた。
apple idがないとOSの更新とかできん。
sequoiaにしたらiCloudは使えるで の記述はあるけど、app storeとmusicのアカウント認証が通らん。
musicはmacminiか、ホームシェアしたwindowsからrdp経由で音出したらええけど、前から思ってたcyberduckのappstore経由購入が仮想マシンからできん。
購入せんでもデータ移行アシスタントのおかげで今は使えてるけど残念。
悔しいけど使いながらときどき調べよか。
apple virtualizationの制限でsequoia以前はicloudとかも使えんかったみたい。
ここまで書いて、 macminiでのkuberntes(microk8s) はまた来週に書くつもりやったんやけど、軽く練習でmicrok8s動かしてみたらmultipass経由で作るlinuxノードがx86でスンナリと作れん!!
m4やから、当たり前っていうたら当たり前なんかなぁ。uname -aとかやった答えがarm64って戻ってくる。
UTMのギャラリーページ見たらarmやなくてx86のubuntuあったから、なんとなくmultipassでそのまま動かせそうな気がしてただけで、自分の確認ミス。
macとは完全に切り離してkubernetes考えなおすか。
※その後、 x86のkubernetes環境をwindowsホストのvmwareの中で維持 するようにしたし、macの中ではrancher desktopで arm64でdockerビルドできる環境 作って、 arm64でのkubernetes維持 するようにしたった。