iPadで開発をしたいと思ったので試行錯誤してみた
モチベーション
私は普段の作業において作業場所は自宅と出先が半々くらいの割合であります。 普段はmacbook air(13inch)を持ち運んでいるのですが、ノートPCを入れられるサイズの鞄となると選択肢が限られてしまうことを課題に感じていました。
また、自宅にはRaspberryPi5を常時稼働しています。 これは現在OpenClawや自前のDiscord Botのホスト、個人で利用するアプリケーションなどをホストする用途にしか受かっていません。 RaspberryPi5(メモリ16GB)と比較的高性能であるため、遠隔で作業するマシンとして使っても良いかと思っていました。
研究に関しても、研究室のサーバ等にSSH接続して作業をすることが重であり、接続元の端末の重要性が低いことも今回の取り組みを後押ししました。
作ったもの
今回作成した環境のです。
- iPadからSSH経由で自宅のRaspberryPi, MacBook Air, 研究室のサーバに接続できるようにしています。
- RaspberryPiでホストしたCodeServerにTailscale https経由で接続します
- iPadからJump Desktopを利用して MacBook airにリモート接続できます
- iPad, RaspberryPi, MacBook airは同一のTailscaleネットワークに入っています
graph LR;
subgraph Tailnet
termius[Termius]
ipad[iPad]
raspi[Raspberry Pi]
codeserver[Code Server]
mac[MacBook air]
end
lab_server[研究室サーバ]
raspi <--hosting-->codeserver
ipad --app--> termius
termius --ssh-->raspi
termius --ssh--> lab_server
termius --ssh--> mac
ipad -- https --> codeserver
ipad --Jump Desktop --> mac
ハードウェアキーボード
元々iPad pro(M1)を所有していたのでこちらをそのまま利用することにしました。 ハードウェアキーボードを持っていなかったので、新たに購入する必要がありました。 要件は次のとおりでした。
- iPad pro(M1) 11インチで使用することができる
- キックスタンドがなく自立する
- US配列キーであること
まず初めに思いつくのは純正のMagic Keyboardです。 しかし、自分のiPad似合う古い型はすでに公式では販売されおらず、また、中古であってもJIS配列のものが多かったため見送りました。
そこで購入したのがEisuiyi Magic Keyboard (Amazon)です。
これは多くの種類のiPadに対応しており自立するUS配列のキーボードです。質感もマットで指紋等もつきにくく頑丈そうな印象を受けました。
キー配列が若干独特で、ファンクションキーがなく、escキーなどがないためそこは慣れが必要でした(私はcaps lockをescとして使っています。)
重量こそあれど、今回の私の要件にはマッチしているものでした。
課題と今後の展望
- MacBook airのスリープ防止のために
sudo pmset -a disablesleep 1で無効にしています。ノートPCをサーバ運用しているのとほぼ変わらない状況なのであまり望ましくない状況であると言えます。 - RaspberryPiはSDカードをストレージとして利用しています。容量は128GBと大きめではありますが高頻度がIOにより故障リスクは通常のSSDなどよりも高くなる認識です。ストレージのSSD以降が必要です。
- Macbook airの重量とiPad+キーボードの重量が同じくらいになっています。サイズ的には持ち運びに便利ですが、重量的には変化がありません。荷物を軽くしたい場合には今回の方法はあまり望ましくないと思われます(その場合は軽量小型なノートPCを購入することが望ましいと考えています!)