M1 Mac + Intel NUC (mini PC) で快適AMD64 Linux生活

2021年現在、M1 MacでDockerを使うのが大変という話がちょいちょいあります。

個人的な事情でいうと、私は現在、AMD64 Linuxでしか動かせないソフトウェアを開発していて、Dockerもちょいちょい使う、という感じです。なのでAMD64 MacVMWareを使ってUbuntu VMを使って開発しています。

一方で、新規で購入できるMacbook ProがM1しかない、デスクトップマシンとしてWindowsUbuntuを使うことにまだ踏ん切りがつかない(なんだかんだで10年Macで仕事をしてきているので…)ということもあり、どうしたものかと思っていましたが、会社が開発機としてIntel NUCを用意しているというので申請して導入したことで、一気に諸問題が解決しそうだなというところに至りました。

Intel NUCはIntelが作っているmini PCで、サイズ的には幅12cm、 奥行き12cm、高さ4-6cm(具体的な大きさなモデルによる)くらいなのであまり物理的な場所をとりません。この中に開発環境を作ってSSHなりvscode remoteなりで入ればいいというわけです。私の場合はかれこれ2年ほどVMWareUbuntu VMを作ってその中にSSHして開発していたので、開発体験的にもあまり変わらないはずです。

今回は NUC10i5FNH (NUC 第10世代 with Core i5)をセットアップしました。

Intel NUC 10 Performance kit NUC10i5FNH Product Specifications
(Recommended Customer Price: $414.68 - $417.14)

この筐体はSSDもRAMもついてないので、適当に入手して自分でつける必要があります。

Ubuntuを入れるときはUbuntuのサイトにIntel NUCを使うときのやり方や、必要な周辺機器があります。ただし、私はUbuntu DesktopではなくUbuntu Serverを入れました。どのみちSSH経由でしか使いませんからね。

Install Ubuntu Desktop on the Intel® NUC | Ubuntu

起動ディスクの作り方が最初わからなくてハマっていましたが、上記サイトのインストラクションをよく読んでいないだけでした…。Macで起動ディスクを作る場合はこれまた下記のとおりUbuntuのサイトにやり方が書いてあります。

Create a bootable USB stick on macOS | Ubuntu

なお、セットアップ時に日本語キーボードを認識できずUSキーボードと検出されてしまったのですが、どうせSSHするだけなので特にがんばって日本語キーボード対応したりはせずスルーしました。

まだセットアップしたばかりなので本当のところはよくわかりませんが、会社が開発機としてIntel NUCを支給できるならこれはベストの開発環境といえるのではないかと思っています。