2017年 脱macOSの旅

※失敗談です。

2017年と言いつつ、去年辺りから開発環境をWindows上に作れないかと考えている。

その意思がすごく高いわけではないが

  • 基本リモートワークなのでデスクトップがメイン
  • 新しいMacbook Proに対してスペックもハードも魅力を感じない
  • Unity + Visual Studioを使う機会が増えた(ただこれに関してはProject Riderがリリースされたらそっちに移る可能性が非常に高い)
  • Bash on Ubuntu on Windowsが気になる
  • ゲーミングPCがある

辺りが琴線だ。

ギョームや趣味のフォーカスが最近だと

という感じなので、Swiftだけはロックインを免れないものの、他の開発に関してはWindowsでも行けるんじゃないかという希望がある。

Linuxは?という疑問を持たれるかもしれないが、Unity, Adobe周りのソフトを考えると候補にはならない。

大まかな構成要素

という感じ。

要するにBoWにはshellをやってもらって、あとはWindowsで全てまかなう想定。

macOSでは、

をやる。やらざるを得ない。脱macOSは失敗しました。

Docker for Windows

最近はもう全てコンテナなのでDockerだけあれば生きていける。

Docker for Macのosxfsのようにクッソ遅いようなこともなかった(ただこういう病状もあるらしい)

Bash on Ubuntu on Windows

2016/10辺りには普通にshellとして使う分にはいいんじゃないかと思っていたが、やっぱり安定してない。

今のInside PreviewのStableビルドだとCtrl+CでSIGINTが通らないのでプロセスを殺せない。

あと一度zshを入れたら何が悪かったのか分からないが何もできなくなった。

macOSからWindowsへ移行する課題と現状の選択

フォント

はいでました〜〜〜〜マッキントッシュ様でました〜〜〜〜〜〜〜って感じだとは思うが、マジでWindowsのフォント見てると気が狂いそうになるので重要な課題。

解決策としては

が一択だと思われる。

仕組みに関してはググって欲しいが、多少の不安定さ、縦書きの対応度、適用されない箇所もあると言うことを鑑みると悩ましいが、適用しないアプリを選ぶこともできるので回避はできる。

ただし、フロントエンドエンジニア的な観点だとWindowsともmacOSとも似つかないレンダリング結果になるので、承知の上で挑んだ方が良い。普段使いのChromeには適用しておき、確認用のChromeには適用しないなどを行えばよさそうだ。

キーボードとIME

macOSで一番いいのが、かな・英数でのIME切り替え(US配列なのでKarabinerで左右コマンド単体タイプにしてる)が、これをWindowsでやるのが若干面倒。

AutoHotkeyで頑張るか、AppleK Pro for 10を使うかどっちかだとおもう。

めんどくさいので後者にしてるが、MMO等のオンラインゲームでnProtect/GameGuardなどのソフトに弾かれることが多いので(まぁこれはAutoHotkeyもそうだが)ある程度諦めるしかない。

terminal

色々試したけどConEmuが良かった。

フォントがキレイ、コミュニティも活発、情報も多い。

Finder

カラム表示おじさんを貫き通してきたが諦めた。諦めるほど人間は強くなれる。

ランチャ

色々あるけどもうCortanaでいいんじゃないかなって思い始めてる。別にCortanaも悪いわけではない。

TimeMachine

1日1回朝方、Windowsの標準バックアップをする。

ほか

所感

開発はもうずっとIntelliJでやってるので、コアな開発に関しては余りコンテキストスイッチがなく移行できる。

BoWが安定してくれれば使い物になりそう。

この記事は、macOS Sierraで書きました。

おまけ

VMWareの上でマックのようなものが動く夢を見たんですが

  • Intel VTのおかげか想像以上に速い
  • マルチモニタはできない
  • iCloud, AirDrop関係の機能が一切使えない
  • FPSが余りでない(30-60を行き来する感じ)

という妄想が見えました。