プログラミング
MacBookをヘッドレス化する(2025年)
Decapitating a MacBook (2025) (mm-dev.rocks)
要約
Appleプラットフォーム開発のためにMacが必要になった著者が、低コストと低消費電力を重視してM1 MacBook Air(画面破損品)を選び、ヘッドレス運用を目指す過程を綴る。仮想化やCI/CDサービスでは満足できなかった著者は、Mac Miniのファンや電源の問題を避け、画面を取り外して使用するためにMacBook Airを選んだ。8GB RAMやローズピンクという選択肢についても触れている。
全文翻訳
Intro Part 1 of 11
Appleプラットフォーム向けに開発したいのであれば、Macが必要だと受け入れるしかない。
Macbook Air M1 ヘッドレス
私はApple製品を好んで使う方ではない。しかし、彼らのプラットフォームでソフトウェアを提供したいと思っている。MacOS/iOS/iPadOS向けのアプリを公開するには、Apple製ハードウェアが本当に必要だ。また、彼らのプラットフォーム向けにソフトウェアを提供し、特にそれを販売したいのであれば、ユーザーが体験するのと同じように自分のアプリを体験できる必要がある。それはユーザーに対する基本的な敬意だ。
仮想化
私は仮想マシンを試した。過去数年でVirtualBoxやQEMU/KVMで6つか7つのMacOS VMを試しただろう。VMでMacOSを動作させるのは難しく、一貫性がなく、(少なくとも私のマシンでは)パフォーマンスもそれほど良くない。Appleはこれを強く望んでおらず、常に逆風の中を進むことになる。それは喜びのない経験だ。
Codemagic
私はCodemagicを試した。これはAppleプラットフォームを含む様々なプラットフォームに公開できる継続的インテグレーション/継続的デリバリーサービスだ。素晴らしいサービスで無料枠もあるが、私の使い方では有料枠に入り、すぐに高額になる可能性が高いと思われた。また、これは遠隔からの利用であり、CodemagicはMacOS GUIへのリモートログインを許可しているものの、手元にデバイスがあるのとは同じではない。Codemagicのリモートマシンでアプリの使用感を徹底的にチェックしたい場合(単にビルドを実行するだけでなく)、無料時間をすぐに使い果たしてしまうだろう。これは一部の状況では解決策になり得るとは思うが、私の状況には合わない。
というわけで…
20年以上、数十台のコンピュータを所有してきた中で初めて、何らかのMacが必要だと自分で決断した。
どのMacを買うべきか? Part 2 of 11
私が作業できるMacを見つける。
私の決定に最も影響を与えた要因は以下の通りだ。
コスト。できるだけ少なく費用をかけたいと思った。
消費電力。私は低電力環境で生活しており、電力消費を劇的に増加させる新しいデバイスを導入したくなかった。
明らかに、電力に関してはApple Siliconが必要だった。私は長年ARMプロセッサを好み、可能な限り多くの作業でそれを使用している。Appleは特殊なARMチップを使用し、ハードウェア/ソフトウェアアーキテクチャを厳密に管理しているため、パフォーマンス・パー・ワットを最大化するのに有利な立場にある…もしAppleのプールで泳がなければならないなら、Apple Siliconは当然の選択だ。
安く抑えるために、最初の世代のM1チップを選ぶのが明白な選択だった。それらはまだ良好に動作すると報告されており、OSアップデートも(OpenCore Legacy Patcherを使えばさらに長く)しばらくは受けられるはずだ。私はラップトップが好きではない(自分でキーボード、ポインティングデバイス、画面を選びたいので、コンピュータにこれらの冗長なコピーがついているのは無駄だ)。そのため、当初はM1 Mac Miniに惹かれた。それは単なるコンピュータであり、私が必要としないヒューマンインターフェースデバイスが付いていない。
しかし、M1 Mac Miniには2つの懸念点があった。
ファンが付いている
静かだと言う人もいる。それが本当だとしても(レベルがある)、ファンは摩耗する可能性のある機械部品であり(そして騒音を発生させる)、ほこりを吸い込んだり吹き出したりして(掃除が必要になる)、故障する可能性がある。また、電力を消費する。
電源供給
私の家を駆動しているバッテリーバンクは12Vだ(24Vまたは48Vの方が良いだろう。適切な時期が来たらアップグレードする)。私のすべての電力はこのバッテリーバンクから供給されている。私は電源インバーターを持っており、通常の家庭用プラグを持つ家電製品を使用できるが、インバーターは12Vから220Vへの昇圧プロセスでいくらかの電力を無駄にする。次に、電源アダプターを接続すると、220Vからデバイスが使用する電圧に降圧する際に再び電力が無駄になる。これは二重の無駄であり、プラグと配線の混乱を招く。バッテリーからはDC 12Vが得られ、昇圧コンバーターを介して容易にアクセスできる20Vの供給もある。もちろん、USB経由で5Vも利用でき、さらに多くのエキゾチックなUSB-Cバリアントもある。これらの方法すべてで、私が定期的に使用するすべてのものを電源供給できる。
様々なXT-60アダプター
新しいデバイスを購入すると、最初に行うことは電源コネクタを切り取り、私がすべてに使用しているXT60コネクタに取り付け、デバイスの電源アダプターを捨てる(実際には保管する)ことだ。私はこれを複数のラップトップや小型フォームファクタPCで問題なく行ってきた。それらは通常19V〜21Vを要求し、20Vに耐性があるように見えるが、同様の無謀な行動で人々が何かを損傷したという話を聞いたことがあるので、私は幸運だったのかもしれない。私はM1 Mac Miniの電源アダプターでこれを行うことに関する情報を検索し、問題があったと述べている人々がいた。これを書いている間に再度検索してそれらの議論を見つけようとしたが、今回は比較的簡単だという情報を見つけた。以前は検索用語を間違えていたか、あるいはAppleデバイスの電源供給を改造することに過度に臆病だったのかもしれない。Appleはオフロードすることに対して非常に非友好的であり、あなたが「承認されていない」方法で物事を行うのを防ぐための措置を実装することで知られている。私は購入したものが使えないという無駄なお金を使いたくなかった。
良くも悪くも、私はM1 Mac Miniを見送ることにした。
M1 MacBook Air Part 3 of 11
これがモダンクラシックであることは認めよう。
ラップトップであるにもかかわらず、私はMacBook Airについてさらに深く考えることにした。
薄くて軽く、特に低消費電力である
ファンレスである
私は決して好まないだろうが、Apple(または私の)ユーザーはトラックパッドを愛する傾向があるため、M1 Airのトラックパッドでアプリをチェックし、すべてがうまく感じられることを確認できる能力は役立つかもしれない。
私にとっては冗長なディスプレイが接続されているという問題は?…これは利点になる可能性がある。人々は画面が壊れたマシンを安価に売っている(Appleは修理をあまり重視しない)。画面が壊れたMacBookを購入して、それを取り外すことができるかもしれない。それが可能かどうかを確認した(ほとんどのラップトップでは当たり前のことだが、Appleではどうなるか確信が持てなかった)。それは可能であり、人々がそれをやっているのを見つけた。素晴らしい。
「今すぐ購入」
eBayで、画面が割れた8GB M1 MacBook Air(ローズピンク)を300ポンドで見つけた。実際、待てばもっと安く手に入れられたかもしれない。しかし、これは鉄は熱いうちに打てという状況だった。長年抵抗してきたが、待てば簡単に気が変わってしまうかもしれない。
8GB RAM?ローズピンク?
理想的には最新のラップトップでは最低16GBのRAMが欲しいが、8GBとの価格差は、中古市場でも顕著だった。誰もが、Apple Siliconの8GBはAMD64の16GBのようなものだと言っていた。これは明らかに現実歪曲フィールドの効果のように聞こえたが、彼らの「ユニファイド」メモリアーキテクチャのようなアーキテクチャ上の現実がそれを裏付けていた(少なくとも、Apple SiliconではGBあたりの性能が向上するという考え方)。私は信じることにした。私は主にFlutter開発にこのマシンを使いたかったので、M1で8GBで問題なく開発しているという人を何人か見つけた。(将来からの注:素晴らしい。心配なく、私には十分な速さだ)このモデルはローズピンクで、私が通常最も選ばない色だった。すぐに解体するために購入することを考えると、これはなぜかさらに完璧だった。eBayで購入した。
そもそも動くのか? Part 4 of 11
私はeBayでの購入について、概ね良好な経験をしてきた。しかし、購入したものを切り刻み始める前に、それが実際に機能することを確認する必要があるだろう。
eBayでの購入(ただし、評価の良い出品者から)だったので、まず最初に確認する必要があったのは、このものが実際に機能するかどうかだった。画面は損傷していた(リスト通り)し、ほとんど何も表示されなかった。具体的には、黒い破損した背景に、マシンがオンかオフかを示唆する数ピクセルの色の線が表示されるだけだった。現代のMacでは、「電源オン時に知らせるLED」のような派手なものは許されないだろう。これらの細い、単一ピクセルの色の線が私の電源インジケーターになるだろう。
モニターとケーブル
ここで最初の困難に遭遇した。私は非常に小さく、非常に安価なUSB-Cモニターを持っている。これが唯一の実際のモ