2022-06-02

iPad Pro専用のiPadProOSがmacOSと共通化すればよいはず

Apple Siliconへの移行の仕上げの年のWWDC22開催までいよいよ1週間を切りました(キーノートのページ、WWDC22の全体目次ページ)。

前回の書き込みで指摘したように、Apple Silicon M1になったiPad Proは、処理性能面では完全にMacBook Airと同じものと言えます。

iPadに対してiPad Proのプレミアを付けて、iPadOSから派生してiPadProOSだけをmacOSと統合すればよいのです。
あるいは、むしろ逆にmacOSにiPadOSのタブレット由来機能を統合して、MacBook AirとiPad Proを共通化すればよいのです。

MacBook Airのディスプレイ部分とボトムパーツが分離できるようにして、あるいはiPadにフロ-ティングMagic Keyboardを付けた状態がMacBook Airみなしの状態になって、分離した状態では純粋はiPad Proタブレットモードとしての利用状態になり、一体化した時または外部ディスプレイとキーボードを接続した時にはmacOSモードでマルチウィンドウの動作になる、という仕組みです。

このiPad ProとMacBook Airのハイブリッドマシンは、あえて安価にしなくてもよいので、是非とも実現して欲しいものです。
iPad ProでもMacでもない、Apple Siliconによって生み出された新たなカテゴリの製品としてでも良いかもしれません。

さらに、iPad miniサイズやiPhone Pro Maxサイズで、ポケットに入るMacというものもとてもあこがれます。
これ、最高にわくわくしてしまいますね。


2022-05-23

iPad ProのmacOSモードは永遠の夢物語か

MacRumorsの記事Apple Patent Suggests Future iPad Could Transform Into macOS-Like Experience When Attached to a Keyboardから

Apple Siliconの登場後、とうとうiPad ProとiPad AirにまでM1チップが搭載されました。

macOS側は、Mac CatalystによってiPadアプリとmacOSアプリのソースコードを共通化できるし、実行環境としてはiOSとiPadOS用のアプリをそのまま実行できるようになっています。

MacBookシリーズが電源と外部ディスプレイとキーボードを接続するとクラムシェルモードになるように、iPad Proもドッキングステーションに繋げたらmacOSモードになったら、とてもスムーズですよね。
これ、見ようによってはSurface Proと同じなのですが、タブレットとしてはiPadOSの方が断然使いやすいので、別物として忘れてよいと思います。

以前のわたしの書き込みでも、MacBook Air(あるいは12インチMacBookの復活版)の新筐体デザインとして、ディスプレイ側にロジックボードを組み込む方式を妄想しました。
そもそも、すでにMacBook AirとiPad Proのロジックボードはほとんど同じサイズなのだし、どちらもファンレス、CPU+メインメモリも共通、SSDストレージオプションも全く品揃えです。

現在のMacBookシリーズで一番嫌いな点は、ディスプレイを最大限開いた時の角度が少なすぎて、とうてい水平にならない点です。
このせいで、外部ディスプレイを接続する時に内蔵ディスプレイがどうしても邪魔をしてしまうので、せっかくのとても使いやすいキーボードとトラックパッドを使うのを泣く泣くあきらめて、外部キーボードと外部トラックパッドで使わざるを得ないことになります。
外部ディスプレイを接続してクラムシェルモードにしてしまうと、せっかくの良質の内蔵のディスプレイ、キーボード、トラックパッドがすべて無駄になってしまいます。
iPad ProにキーボードをつないでmacOSモードで使えるようになるのであれば、一組のキーボードとトラックパッドだけを所有していればよいことになるし、iPad本体もセカンドディスプレイあるいは超大型のタッチバーあるいはペン入力デバイスとしてそのまま活用出来て無駄がありません。

iPadOSにも、マルチウィンドウ操作用の3つのドットが画面上部に出るようになって、もうゴテゴテしてきています。
この際ですから、macOSと共通化してしまった方がすっきりしそうに思います。

2022-05-13

あこがれのエルゴノミックキーボードに触れてみる – Kinesis Freestyle2を手に入れた

Kinesys Freesytle2を導入したわたしのデスクトップ
下図に比べて横幅が節約できています
高さ調整のために一時的にiPhoneを敷いているのはご愛敬
MX Keysでのわたしのデスクトップ
右側は遠いのでトラックパッドは左側

以前、わたしの自宅のデスクでは、フルキーボードのMX Keysと左手置きのMagic Trackpadを使用しているとご紹介しました
左手トラックパッドは十分に慣れたし、上品なキータッチは捨てがたいのですが、MacBookのキーボード+トラックパッド一体型をたまに使って比べてしまうと、まだどうも満足感が低いというか、どことなく操作性に違和感(文字入力とポインタ操作を行き来するのに手の移動が大きいとか)を感じています。
そのむかし、Apple Adjustable keyboard (Mac­Tech­nology Lab.さんの記事) を見た時からエルゴノミックキーボードにはずっと興味があって、いつかチャンスがあれば欲しいと思っていました。

わたしがエルゴノミックキーボードに期待したいことは、

  • 手首が自然な形のまま楽な状態でキー入力できること
  • 通常のキーボードとキー配置の違いが少ないこと
  • なおかつ、出来るだけデスク上の場所を占有しないこと

の3点です。

テンキーレスで横幅が短いLenovo GoのWireless Split Keyboardを去年の夏の発表からじつはずっと待っていたのですが、発売開始される気配が一向にありません。

いろいろ調べていくうちに、一体型のエルゴノミックキーボードよりもずっとコンパクトに収まる「分離型」のキーボードを意識するようになってきました。
でも、メカニカルキーボードには、キータッチ音が大きいことと、全体の分厚さにどうしても違和感がある印象から、候補外にしていました。

そんな中で、唯一、メンブレン方式のキースイッチ(ラップトップが一般的になる以前、デスクトップのキーボードでは主流のキースイッチの方式)を使ったKinesisのFreestyle2が目に入りました。
やってみなけりゃわからない、の精神で、今回実際に手に取ってみることにしました。
入手から半月ほど経った感想です。

  • なつかしいメンブレンのキータッチ。キータッチ音は一般的なメカニカルキーボードに比べると静かなようです
  • 左右分離型なので両手を肩幅に広げた状態で使用できます。通常のキーボードの手の構えはやはり指や手首や肩に負担をかけていることに気付かされます
  • トラックパッドを左右のブロックの間に挟んでおくことができます。こうすると、ホームポジションからあまり移動せずにトラックパッドを操作することができます。親指の付け根での誤タップすることもなくて、ひょっとするとラップトップよりも良い配置なのかもしれません。iPhoneくらいの厚みのスペーサーを下に敷くことでトラックパッドの操作面がキーボードと同じ高さに揃えることができるので更に上下の手の移動距離が少なくなります
  • 薄型キーボードに比べるとキーの高さがどうしてもあります。パームレストを使うのも手ですが、わたしは奥側にラップトップ放熱スタンド(ダイソーの半球状のもの、ダイソーのショップページ参照)をはさんで傾斜させることにしました。こうすることで手首の位置を動かさずに奥側のキーにも指が楽に届くようになりました
  • 汎用のキーボードとしてとても珍しいと思うのですが、左側にCut/Copy/Paste、Browser Back/Forward等の専用キーのブロックが付いてきます。これはかつて、パーソナルコンピュータ登場以前のDTP専用機であるXerox Star(Jobsが見学してMacのアイデアの元になったXerox Altoの直系の商用マシン、晴歩雨描さんの記事)にこれらの専用キーブロックが付いていたのと同じで、とても感慨深いです。中でも特にBrowser Back/Fowardが手軽で重宝しています
  • Kinesis Freestyle2にはWindows PC版Mac版があるのですが後者を選びました。Windows PCとMacの両方でF1~F12と左側の専用キーをフルに使用したかったからです。Mac版の専用キーは例えばCopyはWin+Cのキーコードを出すのでWindowsではこれをPower ToysのKeyboard ManagerでCtrl+Cに置き換えて使います(Win+Cは使わないのでこれでOK、逆にWin版でCtrl+Cの置き換えだとMacのターミナルで支障が出る)。Windows 10ではWin+Cはコルタナ呼び出しなのですが、ログイン後3回ほどCopyキーを空打ちしてコルタナをキャンセルするとそれ以降はCtrl+Cが効くようになるという、ちょっと変なコツで回避することができました

以下、マニュアル等に書いていないFreestyle2の注意点です。

  • このキーボードでは、Fnキーが、他のキーと同時押しで機能するシフトではなくて、Fnモード(青色刻印)をON/OFFするトグルになっています。その上なぜかFnモードでは左の専用キーブロックのキーがすべてShiftのキーコードしか出さないというちょっと癖のある仕様になっています。このために左ブロックとIMEでよく使う上段のFxキーが両立出来なくてFnモードを意識して使う必要があります。仕方ないので上段のFxキーのメディアコントロールを逆にFxキーに置き換えてしのいでいます(Power Toysで例えばVolUpをF10に置き換え、VolUp自体はAlt+F10に、なぜかRev/F5、Play/F6、Fwd/F7の3つのFxキーの置き換えは出来ず)。
  • 右上端のDelの隣キーがSleep/Wakeで、うっかり押すとWindows PCもMacもスリープしてしまい、作業中断させられます。うっかり押してしまわないように気を遣います
  • メンブレンのキータッチは私にとっては懐かしい面もあるのですが、現代的な薄型キーに慣れた体からすると、キーストロークが深すぎますね
  • Freestyel2はMac版のみUSBポートがボーナスで付いてきます。ただしMagic Trackpadを接続しても電力不足の警告が出てで動かず、ケーブルの削減には貢献できませんでした

こうして、わたしも、とうとう「キーボード沼」への一歩を踏み出してしまったかもしれません。

2022-04-27

Microsoft Officeのアンドゥバッファ(Undo buffer)は実質 無限段階だけれども、PowerPointだけは初期設定が必須

以前の投稿で、Microsoft Officeがトラブルで落ちてしまった場合の通常レベル以上のリカバリ方法をご紹介しました
今回は、編集の誤操作や操作ミスを元に戻すアンドゥバッファ(Undo Buffer、[元に戻す]機能)についてです。

WordとExcelは初期設定で100回までのアンドゥを行えるようになっています。
わたしなどは、この機能と自動保存が大のお気に入りで、日常のテキスト記録をテキストエディタではなくてあえてWordで行っているほどです。

ところが、先日初めて気づいたのですが、PowerPointだけ初期設定値がWord/Excelと異なっていて、初期設定では20回までしかアンドゥ出来ないのです。
少しだけ内容の違うスライドを作ろうとしていて、元のスライドをコピーしていないことに気付いたので、アンドゥで編集操作を戻して元のスライドを一旦保存した上で、リドゥして現在の編集状態まで戻ればいいや、と思ったのですが、アンドゥバッファが全然足りなかったのです。

PowerPointでもWord/Excelと同様の実質無限のアンドゥバッファを利用する設定があります。
それは、 リボンの [ファイル] => [オプション] ダイアログの [詳細設定] の [元に戻す操作の最大数] で行います。
最大値は150なので、ここは150の一択ですね。
この設定は必須だと思います。

なお、OSやPowerPoint/Word/Excelがトラブルで落ちてしまった、あるいは誤操作で落としてしまった場合の備えは、自動保存機能(自動バックアップ)です。
その設定は、同じく [オプション] ダイアログの [保存] の中の [次の間隔で自動回復用データを保存する xx 分ごと] です。
初期設定は10分だったと思いますが、わたしは3分と短めにしています。

この2つの必須設定で、安心してWord/Excel/PowerPointでの編集が行えるようになります。

2022-04-13

『今夜はコの字で』シーズン2はコロナ後の世界線、まさにコの字に戻れて「涙が出るほどうれしい」

お気に入りのテレビ番組『今夜はコの字で』のシーズン2が始まりました。
この番組、シーズン1の放送開始の時にちょうどコロナ禍が始まってしまい、撮影もとても苦労したと想像しますし、なによりせっかく紹介されたコの字の名店にもお邪魔することができない状態でした。

満を持してのシーズン2(番組サイト)は、コロナ後の世界線の設定になっているようです。
まずはテレビの中だけでも酒場に行きましょうか(TVerの直リンク)。
(このブログの以前の書き込み

2022-04-07

WWDC22への願望 - ヘッドトラッキングでゴーグル無しVR、SwiftVR toolkit

WWDC22の開催がアナウンスされました。
オンラインですが例年同様6月第2週です。
イベントのアイコンが気になって仕方ないです。
単純なSwiftやSwift Playgroundの新バージョンのロゴじゃないし、ましてやSwift Student Challengeの缶バッジではないように見えます。
Swiftが大幅に拡張されてSwiftVRみたいなメタバースの実現機能を提供するとかのように思えます。
少なくともSwiftに何かが起こるのではないでしょうか。

OculusあらためFacebookあらためMetaではもっぱらVRゴーグルでメタバースを提供していますが、たとえばPortgraph (ツイッター https://twitter.com/portalgraph ) では通常のディスプレイとヘッドトラッキングだけでVR効果を生み出しています。
左右の目に視差のある映像を送らなくても、視線または頭の動きに追従した映像を生成すればよいのです。
Appleでヘッドトラッキングと言えば、最新のiPadシリーズやStudio Displayがセンターフレーム (日本ではAirPort/AirMacの時のようにまた商標権(こんどは上質マンション)に引っ掛かったんですね、英語ではCenter Stage、対応機器は https://support.apple.com/ja-jp/HT212315 ) に対応していますし、空間オーディオ対応のAir Podも対応しています。
これらの技術をうまく利用して、顔に変なデバイスを装着する必要なしでVRを実現して欲しいものです。
映画館のように複数人数に対して一斉に3D映像を見せたい場合は、視差効果処理済みの単一の映像を3Dメガネで各自でデコードしてもらう方式が良いですが、VRゴーグルのように一人向けの映像利用であればヘッドトラッキングだけで事足りるはず、要は使い分けです。
ZoomやTeamsでもセンターフレームが使えるように、swiftVRも汎用化されれば、Apple SiliconがVR視聴・VR没入の一大プラットフォームとして普及するのではないでしょうか。
Apple Siliconの有り余るパワーの活用をこのような形で提案して欲しいものです。

VR対応じゃないのなら、iOS / iPadOS / macOS / watchOS / tvOSが今度こそ統合されてswiftOSになるとか。

なんか妄想と願望が膨らんでしまいました。

[2022-05-22] 5月の非公開の取締役会議でヘッドセットが披露されたようだ、とBloomberg等の記事が出ました。

2022-03-29

Apple Silicon Mac ProとM2を予想してみる

2020年12月に描いた絵
先日のApple Special Eventではセパレート型のiMac Proとでもいうべき、Mac StudioとStudio Displayが発表され、わたしたちの予想を大きく裏切ってくれましたね。
パフォーマンス・消費電力のグラフを見るとM1 ULTRAはCPUとGPUを合わせて200Wくらいの熱容量になりそうなのでMacとしては巨大なファンが必要になり、Mac miniにも収まらなくてMac Studioのような半分を冷却機構を占める筐体になるのが自然です。
(Studioと言えば、Surface Studioの方が先でしたが、あちらは斜め上を行く変形機構でびっくりしました。)

Mac Proに関しては「次回のお楽しみ」と明言されました。
CPUパフォーマンス、GPUパフォーマンスとも、現行のMac ProをMac Studioで超えることができた今、残る課題はメモリ容量です。
Mac Pro(チーズおろし、すりおろしリンゴ)の最大メモリ容量は1.5TB、M1 ULTRAの128MBの8.5倍です。
これをいままでのような倍々ゲームで到達させるのは並大抵のことではないですし、このような巨大メモリを変更不可の固定サイズで提供するのはどう考えても無理があると思います。
やはり専用のコネクタを開発してでも、外付けのメモリスロットとせざるを得ないのではないでしょうか。
このインターコネクトは、うまくすればM1 ULTRAをマルチプロセッサとして接続するBUS (External Ultra Fusion?) としても利用できます(M1 ULTRAの説明では、マルチプロセッサの通信がボトルネックになるのでSOCの中で2つのM1 MAXを接続したと言ってはいましたが)。
冷却機構はさらに倍以上必要になります。
ヒートシンクやヒートパイプが一体化した拡張メモリ、拡張CPUカードになりそうです。
Mac Proでは柔軟なアップグレード性が重視されるので、この線がかたいと思います。

もう一方の、Apple Silicon M2は、いくらシリコンプロセスが一世代進んで微細化されたとしてもM1から2倍の性能という事は無くて、例えば1.2倍とかなのではないでしょうか。
一世代で1.2倍と言うのは、実はちょうど具合が良くて、M1がノーマル、PRO、MAX、ULTRAと4グレードでシリーズ化されているところに、M2で同様のグレードを出したとき、ちょうど順序よく並ぶことになります。
つまりノーマルM1の少し上にノーマルM2で、同時にM1 PROを超えない、という具合です。

Apple Silicon SOC CPU GPU M1比
CPU
M1比
GPU
M1 8 8 8 8
M2 8 10 9.6 12
M1 PRO 10 16 10
16
M2 PRO 12 15 14.4 19.2
M1 MAX 10 32 10 32
M2 MAX 12 32 14.4 38.4
M1 ULTRA 20 64 20 64
M2 ULTRA 24 64 28.8 76.8

単純な算数ですが表にしてみました。
M2のCPUとGPUの数を適当に設定して、M2シリーズの「M1比」のところは1.2倍した数字を書いていき、「M1比GPU」のカラムでソートしました。
うまい具合にグレード順に並ぶと思います。

M2 MacBook Airが、M1 MacBook Pro 14よりハイパフォーマンスになってしまうようなことだと、全機種・全グレードを一気に置き換えなくてはいけなくなくてとても都合が悪いですよね。
もしもM2がM1のコア当り1.2倍以上、例えば1.8倍とかのパフォーマンスを出せてしまうのなら、コア数自体を減らして省電力の方向に振ればよいですね。

いずれにしてもApple Silicon Macがこれからどんな進化をしていくのかますます楽しみです。
有り余るパフォーマンスはパーソナルユーズでは、メタバースに活用していくのが良いですね。

2022-03-05

ついにM2 Mac Pro登場? Peek PerformanceのApple Special Event (2022-03-09 3:00 JST) にて

世界情勢が不安定な中、Apple Special Eventの開催が告知されました。
よくぞ決断したものだと思います。
テーマは Peek Performance 「最高峰を解禁。」です。

Apple史上、およびデスクトップコンピュータ史上、最高の (peak) パフォーマンス (performance) をたたき出すマシンをお見せします (peek)、と言う意味以外考えられませんね。
M1 Apple Siliconでの驚き、それ以上のパフォーマンスジャンプをM2 Apple Siliconで見せてくれるに違いありません。
あとは、プロシューマ向けのソフトウェアがどれくらい揃ってくるかですね。

くれぐれも、体調と、情勢に気を付けながら、楽しみに待ちたいと思います。

2022-02-08

Kubernetesのkubectl runでdeploymentやjobが作れなくなっているのは仕様変更のため、v1.18 2020-03以降のバージョンにて

唐突ですが、仮想化技術の流れの中、Kubernetes (K8s) をいじくっている、初心者の私です。

Dockerやpodmanからステップアップしてきて、一番最初に使うコマンドは

$ kubectl run NAME --image=IMAGE

だと思います。
Docker/podmanと同じように、指定したイメージを実行するのですが、多くの、というかほとんどの解説書には、

$ kubectl run NAME --image=IMAGE --restart=[Always | Never | OnFailure]

のコマンドを使用すると

  • Deploymentが作成される、--restartを指定しないか、デフォルトのAlwaysを指定した場合
  • Podが作成される、--restart=Neverを指定した場合
  • Jobが作成される、--restart=OnFailureを指定した場合

のように書いてあると思います。
でも、実際試してみたら、何度やっても、どうやっても、Podしか作成できません。
これ、自分の環境か、はたまた理解が間違っているんじゃないかって、悩んじゃいますよね。
でも大丈夫、そんなことはありません。

よくよく調べてみると2020年3月リリースのK8s v1.18でkubectl runの仕様が変更(複雑さを排除するため)されていて、kubectl runはPod実行専用になっていました(腹腹開発さんの記事で気付きましたありがとうございます、K8sのchangelogでも確認しました)。
この件、偉い人もあまり取り上げていないようです。
おそらくkubectl runは初心者しか使わなくて、少し専門的になってくるともっぱらYamlでIaC (Infrastructure as Code) しかやらなくなるから、kubectl runの変更は些細な事なんだろうな、と想像しています。

では、Deploymentはどうやって作成・実行するのかと言うと、素直に

$ kubectl create deployment NAME --image=IMAGE

で大丈夫です。
ならば、Podの作成もkubectl create podに統一した方が良いのか、と思いましたがこういうコマンドは残念ながらありません。

また、従来、kubectl run --dry-run -o yamlのコマンドで、DeploymentのYamlを簡易的に生成していたと思いますが、これもv1.18で一緒に仕様が変わっていて、

$ kubectl create deployment NAME --image=IMAGE --dry-run=client -o yaml

となります。
この --dry-run は、--dry-run=[client | server | none] の形式で、clientを指定するとkubectlのコマンド内のロジックのみで処理、serverを指定するとサーバ側で生成される内容を取得、noneはdry-runではなくて実際に実行した内容を表示(つまりdry-run指定しないのと同じ)、となります。
同様にPodのYamlの生成コマンドは、

$ kubectl run NAME --image=IMAGE --dry-run=client -o yaml

となります。
作成済み、実行済みのDeploymentやPodのYamlを取得・逆生成するには、

$ kubectl get deployment NAME -o yaml
$ kubectl get pod NAME -o yaml

です。
サーバ側のYamlは余計な管理情報が付いてきますが、追加のkubectl-neatと言うツールを使えば、ある程度まできれいにできるようです。

なお、作成済み、実行済みのPodやDeploymentの一覧を一発で表示するには、

$ kubectl get all

が便利ですね。

kubectl runで最初の取っつきでつまずいてしまい、あわやK8sを毛嫌いしそうになったわたしの顛末を、あえて共有させていただきました。
 

2022-01-08

Apple Silicon MacでこんどはmacOSを仮想化ゲストとして動作可能に(UTM app)

手元のM1 MacBook Airは貴重なApple Siliconマシンなので、いろいろ無茶をして実験することができないでいました。
このたび、私のお気に入りのUTM appがこの状況の打開策を出してくれました。

UTM app 3.0では、仮想化ゲストOSとしてmacOSを動かせるようになります。

v3.0.1ベータが2022年1月9日公開され、以下の問題は修正ずみ、きちんと動作します。
《残念ながら、現在公開されているv3.0.0ベータ(2022年1月1日公開)では、macOSゲストのVM作成処理の最後のステップで、設定パラメータの判断エラー ("AuxiliraryStorage" is nil. のエラーメッセージ) が発生してゲストの作成に失敗してしまいます。
この問題に対してースコードは修正済みなので、git cloneして頑張ってビルド(一部手を入れる必要があり(後述)、時間も1時間くらいかかります、わたしはビルドを通すための試行錯誤にさらに2日ほど要しました)すれば問題なく動作します。
本家でもそれほど日を置かずに新しいビルドが公開されると思うので、わたしのようなよっぽどの新しい物好きじゃない限り、少し待つのが良いと思います。》

右の画像が、macOS 12.1 MontereyをApple Silicon Macで実際に仮想ゲストとして動かした様子です。
現在の動作状態は以下のようになりますが、不足機能はどんどん改善されていくと思います。

  • CPUは「Apple M1 (Virtual)」と認識されます。コア数やメモリサイズは設定で変更できます。メモリサイズはデフォルトは4GBですが、6MBくらいにしないと最初のインストールに時間がかかってしまうと思います。
  • CPUエミュレーションではなくて、macOSのVirtualization Frameworkが直接使用されるのでフルスピードで動作します。
  • ディスプレイは初期状態では、物理1920x1200、Retina表示で960x600の固定サイズになります。仮想ゲストのウィンドウの大きさを変更すると表示内容が拡大縮小されます。ディスプレイサイズもUTMの設定で変更できます。
  • 仮想ゲストとホストの間のコピペはまだできません。
  • Magic Trackpadの右クリック(2本指タップ)は少し効きが悪くて、タップしてホールドしたまま少し指を動かすと認識されます。
  • macOSのOSイメージは
    ~/Library/Containers/com.utmapp.UTM/Data/Library/Caches/UniversalMac_12.1_21C52_Restore.ipsw
    にダウンロードされます。通常のインストーラとは違う形式で、リカバリイメージを使用するようです。サイズは13GBです。
    このキャッシュファイルは何かのタイミングですぐに消されてしまうので、
    ln ~/Library/Containers/com.utmapp.UTM/Data/Library/Caches/UniversalMac_12.1_*.ipsw ~/Downloads/
    などのコマンドでコピーしておくのがおすすめです。
  • 仮想ゲストは
    ~/Library/Containers/com.utmapp.UTM/Data/Documents/ゲスト名.utm/
    に作成されます。ディスクイメージは最大容量 (例60GB、lsで見た時) で作成されますが、macOS APFSのcopy-on-write機能 (CoW) のおかげで実際の占有サイズは初期20GB程度 (duで見た時) です。
  • 初回起動時に Would you like to install macOS? というメッセージが出て、macOSインストーラが走ります(逆に何かの理由でこのメッセージ出なかった時はVMの作成をやり直さないと一切先には進みません)。インストールは5分くらいで終了します。ものすごく速いと思います(macOSのOSパッチ適用はApple Siliconの場合でも、iOS/iPadOSのインストールはクリーンインストールでも、小一時間かかりますよね)。M1 Macの初期インストールの様子は(Intelと同じですが)今回初めて実施に目にすることができました。

 

UTMをソースコードから自分でビルドする場合のコツを、ご参考用、かつ自分用のメモとして以下に書いておきます。

  • 基本的な手順はUTM appのgithubのここに書いてある通りです。
    わたしはhomebrewよりむしろmacports派なので
    sudo port install glib2 libgpg-error nasm meson gmake
    で不足ツールを事前インストールしました。さらにmacOS付属のbisonが要件に満たないバージョンなので
    sudo port install bison
    もしました。
  • ./scripts/build_dependency.sh -p macos -a arm64
    は30分以上、
    ./scripts/buid_utm.sh -p macos -a arm64
    は5分くらいかかります。膨大なログが出るのでエラーメッセージを見逃しがちです。実行後、ターミナル上で Cmd+F Error: で検索して確認した方が良いです。
    後者のビルドは UTM.xcodeproj をXcodeで開いて行うこともできます。
  • どうしても #include のパスが解決できないため、ソースコード中のインクルードファイルのパスをフルパスに書き換えたソースが
    ./build-macOS-arm64/qemu-6.2.0-utm/include/qapi/qmp/qobject.h
    です。
    ファイルが欠落していて別途追加ダウンロードしたものが
    ./Platform/Shared/HTerm/libapps
    の配下のファイルで、githubのhtermからダウンロードしました。
  • 全てのソースコードをダウンロードしてビルドするには22GBのディスク容量が必要です。

 

Apple Silicon Macでできることがどんどん広がって、ますます無敵感が高まっていきますね。

[2022-01-08] 初出では思い込みでqemuのhvf (macOSのHypervisor Framework) を使用していると書いてしまいましたが、qemuを経由せず、macOSのもう一つの仮想化FrameworkであるVirtualization Frameworkを直接使用するようになっています。
その証拠に、macOSの仮想化ゲスト(とLinuxでApple Virtualizationを選んだ場合)ではゲストシステムの詳細設定オプションがqemuとは違うものが表示されます。
macOSが提供するこの2つの仮想化Frameworkは、ゲストOSのブートの仕方が違うだけでどちらも高速動作します。
Intel CPUをエミュレーションしてLinuxやWindowsを仮想化で実行する場合にはこれらのFrameworkを使用できないのでApple Siliconやarm64に比べて数倍遅くなるのです。
macOS上で動くアプリやコマンドであれば、Rosetta 2で実行され数割の減速ですみます。
[2022-01-09] v3.0.1ベータが出て初期設定の問題が解消しました。
[2022-01-10] もしやmacOS 11も実行できないかと、UTMのソースコードのバージョンチェック箇所をいじくってやってみましたが(転んでもタダでは起きない)、初回起動のBig Surのセットアップの早い段階でエラーになって、これはダメでした。
"macOS on Apple Silicon Mac" の機能は、おそらくホスト側とゲスト側の両方にMontereyでの追加機能が必要なようです。
複数バージョンは今はできないことが分かりましたが、
macOS 12のクリーンインストール環境がいつでもすぐに(5分程度)いくつでも(ディスクが許す限り、外付けディスクに逃してやることも容易)、手に入るのはとても偉大な進歩です。
[2022-01-12] ネストされた仮想化 (nested virtualization、入れ子の仮想化、仮想化ゲストのmacOSの中でさらに仮想化ゲストを実行する (qemuの(遅い)エミュレーションは大丈夫)) はmacOSの制約?のためにまだできないようです。

2021-12-30

わたしのミニマルデスクをご紹介

このブログの2021年の最後を飾る記事として、私のミニマルデスクを紹介したいと思います。

ケーブル嫌いの Go Andoさんの『デスクをすっきりさせるマガジン』や、もっちゃんさんの『デスクスッキリ・作業環境を作るnoteマガジン』に触発され、また例にもれずわたしもテレワークの継続が決まったので、今年は私もデスクスペースをセットアップしました。 

コンセプトは、

  • シンプルに、目に触れるモノを出来るだけなくす
  • 過剰にこだわらず、リーゾナブルに(手段が目的にすり替わらないように)
  • Windows PCとMacをなんとか両立

の3つです。

まずは写真をご覧ください。

わたしがこだわって取り入れたモノやコトをつらつら挙げてみます。

  • デスクは白い100 x 70cm(サンワサプライ)。床掃除の邪魔にならないシンプルな直立足のものを選びました。奥行70cmは少し贅沢ですが、元はラップトップのディスプレイを平らに広げたい状態で外部ディスプレイを使用するのに十分なサイズを基準として決めました。写真ではサイズ感がちょっとわかりにくいかもしれません。
    [アイテム情報:サンワサプライ 100-DESK077W]
  • ディスプレイは大きめのものを1枚だけ。ながら作業を避けるためこうしました。少し大きめ32インチ、4K、 USB C対応ディスプレイ。LG 32UL750-W、2019年に購入したものです。このサイズだと、作業時は没入でき、映画やビデオは椅子を少し後ろに下げて観ています。
    [LG 32UL750-W]
  • ラップトップの縦置きスタンドでデスクスペースの占有面積を最小限に。ラップトップは仕事用の14インチWindows PCとパーソナル用の13インチM1 MacBook Airの2台を立てています。このスタンドはまだ前後にもデバイスを立てかけられる余裕があります。
    [VAYDEER ノートパソコンスタンド 2台収納 アルミ合金]
  • 一組のキーボードとトラックパッドを差し替え切替で使用。どちらも最高にお気に入りのApple Magic Trackpadと、Logicool MX Keys (for Mac/US配列) をデスク上に1セットのみ置いて、WinとMacで切り替えて使っています。Magic TrackpadはWindowsに接続するため、かつ切替使用のためにUSB接続しています。
    両方同時に使いたいときにはMacからリモートデスクトップでWinを表示しています。ちょうどいい具合にRetina表示されます(10%くらい縮小される)。
    [Apple Magic Trackpad スペースグレーモデルは現在販売終了]
    [Logicool MX Keys for Mac/US]
  • USB Cケーブル1本でDKMを物理切替(昔Mac miniが出た時にBYODに先駆けてJobsがBYODKM (bring your own display, keyboard and mouse) と言っていましたね)。ディスプレイをUSB C接続し、キーボード(のレシーバ)とトラックパッドをディスプレイのUSB Hubポートに接続することで1本の物理差し替えでの切替を行っています。USB Cケーブルを差し替えるワンアクションだけで切替完了します(ディスプレイやキーボードでの入力切替のための操作は一切必要ないです)。
    従来からUSBやVGAの切替機はありますが、DisplayPort Alt Modeも含めてUSB C対応のものはまだです。
    キーボードとマウスはBluetoothでの接続も考えたのですが、BluetoothレシーバをUSB切替機の先に接続する方式だと、USBを認識した後にBluetoothを認識する2ステップになってしまうためとても時間がかかるらしく不採用としました(Magic Trackpadがマルチペアリング対応だったら考えが変わっていたかも)。なので入力デバイスはBluetooth接続のみのものは私のこの環境ではダメで、Magic TrackpadとMX Keysはこの点をクリアしています。
    この方式ではMacBookは必然的にクラムシェルモードでの利用になり、スリープ解除はMagic Trackpadから行います(不思議なことにMacとの間はBluetoothモードなのでスリープ解除できます、スリープ解除の後にしかUSBが起動しないのでこの順番は重要)。
    切替機の代わりではないですが、USB Cはパソコンに直挿しせず、ポートの劣化対策も兼ねてUSB C 3.2対応の短い延長ケーブルの先で抜き差しするようにしています。
    ところで、ケーブル類は無にこだわらず必要最小限で多少は露出していた方がザクの動力パイプっぽくて良くないですか? どちらに接続しているかが一目でわかるメリットもあります。
    [Basesailor USB 3.2延長ケーブル0.2m 2本組]
  • ヘッドホンの切替も3.5mmオーディオケーブルの物理差し替え方式。
    [RIKISOIN 4極イヤホン延長ケーブル1.2m]
  • トラックパッドは左置き。キーボードがフルキーボードのため右側にトラックパッドを置くと遠すぎます。それに前々から、キーボード操作はEnterやカーソル操作がある分、右手の負荷が高くて、右肩の方が凝りやすい感覚がありました。トラックパッドやマウスを左手操作にすれば左右の負荷が均等化されて良いのがこの環境での発見です。ひとによりけりとは思いますが、左手でのトラックパッド操作は1~2週間で慣れました。なお、コンパクトキーボードは、カーソルキーが小さい(これも右肩が凝る一因)のと、Page-Up/Dwnキー(ブラウザや読み物でよく使う)が無いものが多いので、あえてフルサイズのMX Keysにしています。
    Magic TrackpadとWindows PCはディスプレイのUSB HUB経由のUSB接続ですが、ケーブルがデスク上に出来るだけ露出しないようにL字のケーブルを選びました。
    Magic TrackpadをWindowsで使用する際のデバイスドライバはgithubに公開されている mac-precision-touchpad を使用しています。
    [UGREEN Lightning USBケーブル L字 2m]
  • 小物の収納はデスクの左側。お財布やスマホや外付けHDD/SSDなどこまごましがちなものは、視界に入らない左側に、百均のメッシュかごをマグネットフックで張り付けて収納しています。動力パイプもメッシュかごにマジックテープで止めてケーブルマネージメントしています。最初はデスク面の裏面に隠すのが良いと思っていろいろ考えていたのですが、椅子の肘置きや膝がぶつからないようにしようとすると結局制約が多くて、デスクの横の方が良いという事に落ち着きました。
    [Tohoer マグネットフック 水平耐荷重3kg] [アイリスオーヤマ メッシュパネル] [メッシュパネル バスケット] [メタルラック バスケット] (いずれも私の場合は近所のダイソーとキャンドゥで調達)
  • 会社ケイタイや書類や外付けHDD/SSDやマグカップなどは、必要な時にはデスクの上に置いて作業しますが、出来るだけ速やかに片付けて何も無いクリーンな状態を維持するようにしています。
    [ケンタッキー 冬のマグ 2021 期間限定ww]

このブログは歴史的理由からnoteではないので冒頭で紹介したマガジンへの参加はかなわないとは思いますが、いかがでしょう、クリエイティブにはすっきりした環境が必要、ですよねきっと。
お買い物リストはのちのちで追記していきたいと思います。

[2022-01-06] 使用しているそれぞれのアイテムについて、amazonのお買い物リンクを追記しました。

2021-12-09

M1 MAX DuoとQuadroのうわさが登場、でも倍々ゲームはそう長くは続かない、その先の進化はソフトウェアにかかっている

Apple Siliconは、1世代前の7nmのA12X/A12Zから、5nmに正常進化してA14/A15/M1/M1 PRO/M1 MAXになりました。
次のM2は5nm+、M3は3nmといった感じでロードマップがある程度見えてきました。
M1 MAXでやったような大規模化はさすがにもう限界でしょうから、規模の拡大はマルチダイになると思います(私のApple Siliconを予想した書き込みと、搭載Macに関する予想)。

この予想と同意見のうわさがプロ?のリーカーからも出てきました(iPhone Maniaさんの12月4日の記事「M1 Maxには既に、マルチダイやチップレット構成のための仕組みが用意されている?」とネタ元の @VadimYuryevさんのtweettweetもう1件)。
これで、Intel世代から、2倍、4倍、8倍、16倍の4年分の倍々ゲーム(実際には多少ペースダウンしてリリースされるかもしれませんが)が保証されました。

でも、その先はどうでしょうか?

プロセスルールの進化には数年以上かかります。
3nmの次はまだ話も出てきていないと思いますし、もっと先の0.5nmとかは物理的に無理なような気がします。
Intelチップもそうでしたが、最初の頃はペース良く進化できても、テクノロジの後期にはペースがガタ落ちします。

Apple Siliconの技術で、5年、10年持てばもうそれだけでとても立派なことでなのですが、やはりさらにその先がどうなるのかを見てみたくなります。
ハードウェア、特にCPUに関してはここ数年分の倍々(1年ないし2年毎)の進化が約束されましたが、ソフトウェアの方はどうでしょうか。

静止画の処理は、何年も前からすでにストレスなく顔認識も含めてできるようになっています。
動画は、最初ドット画のようなQuickTimeで感動(30年近く前?)した頃から、今後の4K/8Kの編集・エンコーディングをこなすためにはM1 PRO/MAXに追加されたメディアエンジンの出番が出てきました。

コンピューテーショナルフォトはカメラハードウェアの限界を画像処理やニューラルエンジンで補って、人の目で見たままの写真を再現するのもです。
LiDERスキャナは3D物体の撮影を進化させました。
マシンラーニングの結果を利用するのは一般ユーザでも日常になってきましたが、機械学習処理は専門家の領域です。

こう考えてみると、もうソフトウェア的にできることが出尽くしてしまっていて、パーソナルコンピュータとしてのこれ以上のハードウェアの進化はもう不要な領域に達してしまったようにも思えてしまいます。
ハードウェアを進化させるモチベーションが、個人利用の分野ではもうなくなっている(ゲーミングだけは良い課題なのかもしれませんが、ゲームに興味のある人はそれほど多くないと思います)。
あるいは逆に、コンピュータの機能・性能の底上げ、ムーアの法則の打破は逆にソフトウェアにかかっている、のではないでしょうか。

純粋にソフトウェアの処理の分野で考えると、プログラミングの作成をもっと手間のかからない誰でもできる作業に、例えば「Webサイトからデータを取ってきてグラフを作成して、色合は暖色系で」と指示したらいい感じでやってくれるとか。
ショートカットAppはAutomatorに比べるとかなり敷居が下がりましたが、まだプログラミング脳が必要な感じから抜け出せていないと思います。
普段のGUIの操作が、もっと直感的に、ユーザが次にやりたそうな事を予測して提示してくれるとか。
今は、まだ、必要悪の操作が多いというか、コンピュータに使われている(コンピュータに指示しているつもりが、コンピュータに動いてもらうために操作させられている)という感覚です。
一つ可能性として、メタバースが数年後にはありふれているかもしれません(電脳コイルのような)。

余りあるパーソナルコンピュータのCPUパワーを何に使うべきか、タスクが思いつかないです。
なにか解決すべき大きな課題、目的がないと進化が止まって陳腐化してしまいそうです。
個人的な用途でパーソナルコンピュータを買い替える理由が少なくなっています。

こういう面も含めた未来を是非ともAppleさんには提示してほしいですよね。