こんにちは。開発支援グループの相野谷(@naokiainoya)です。
弊社にはエンジニアに貸与される開発用マシンを一定期間おきに買い換えるという制度があります1)2017年2月現在は2年おきとなっております。。その際のスペックは規定の予算内であれば対象者が自由に選定して良いことになっており、各自思い思いのスペックで購入申請をしています。
少し前に私も買い替えの時期を迎えたのですが、今回は思い切ってメインマシンをMacBook ProからUbuntuのデスクトップマシンに鞍替えすることにしました。
巷では、新型MacBook Proの初期不良問題を口火にMac以外の選択肢を検討する人が多くなってきているように感じます。私と同様、買い替えで迷われている方の参考になればとマシンの切り替えから1ヶ月程度経過しての私的感想をまとめてみました。
メインマシンをMacBook ProからUbuntuデスクトップ機へ乗り換えるにあたって、以下のことを考慮しました。
また、Linux デスクトップ環境 2017 - k0kubun’s blogを読み、「自分の環境でも何とかできそう」と思えたことが判断の大きな後押しになりました。
Ubuntuを採択したのは「一番使い慣れていた」からで、特に強いこだわりがあったわけではありません。デスクトップマシンで他のディストリを使った経験はあまりないですが、何かにつけmakeが必要なディストリだと本業が手につかなくなるかもしれません。
マシンの購入は、保証や会社取引の便宜を考慮してBTOショップで発注しました3)もちろん、強いこだわりがあれば自分でパーツを選んで個別購入することも認められています。。スペックは以下の通り。当然ですが同予算のMacBookと比べて格段に高いパフォーマンスが出るマシンが組めます。
| CPU | Core i7-6700K |
|---|---|
| メモリ | DDR4-2400 32GB |
| マザーボード | ASUS Z170 PRO GAMING |
| GPU | GTX1080 |
| システムボリューム | SSD 300GB |
| データボリューム | HDD 2TB |
Ubuntuのバージョンは16.04を利用しています。
乗り換えの検討で一番の悩みどころは「macOSで使っていたあれはUbuntuでできるの?」というところかと思います。乗り換えてから1ヶ月程度経ちましたが、現状は以下に紹介するツール群を使っています。ツール選びにあたっては、前述のk0kubun氏の記事や、Ubuntu Alternatives and Similar Software - AlternativeTo.netというサイトが参考になりました。
macOSから使い続けていますが、体感ほぼ同じで使用できます。たまにCI環境の構築等でiOSのビルドをする場合は、リモートデスクトップでMacBookProに接続して作業しています。
グローバルホットキーでデスクトップにターミナル画面のオーバレイ表示(バイザー表示?)をトグルできるのが好みだったのですが、guakeで再現できました。
デフォルトではF11に全画面の切り替え、F12にオーバレイ表示の切り替えがマッピングされています。私は基本全画面表示を使っており、オーバレイ表示の切り替えをHHKB Pro2の右端Altキーにマッピングしています。
vscode-journal - Visual Studio Marketplaceで日付毎にメモを整理しています。どのワークスペースにいてもCtrl + Alt + Jキーでメモ書きを呼び出せる点が気に入っています。
Quiverのリッチさから比べるとかなり質素ですが、雑なメモ書き程度の用途と割り切って気ままに書きなぐっています。
Alfredはあまりカスタマイズせずにアプリの起動などライトに使っていた程度ですが、このユースケースだとSynapseで代替が効きました。
キーボードはHHKB Pro2(US配列)を使っています。内蔵スイッチ001000の状態で、あまりカスタマイズせず使っています。スペースの右隣のキーをIME切り替えに使うために、F13キーに入れ替えたうえで機能をマッピングしています。
マウスはLogicool g700を使っていますが、ボタンのマッピングがマウス内蔵のメモリに保存される関係で設定に苦労しました。設定ツールのSetPointはlinux版がなかったので、virtualBoxにインストールしたwindows10からマウスの設定を弄るという曲芸でなんとかできました。曲芸技はUsing G700 on Linux through VirtualBox - YouTube を参考にしながら設定しました。
Windows版をwine経由で実行しています。Chrome拡張との連携も動作するのですが、動作に若干のラグがあります(特に初回起動時は数秒遅れる)。 そこそこストレスですが、パスワード入力の頻度はそこまで高くないので多分このまま使い続けると思います。
Slack, JIRA, Confluence, Trello, Qiita:TeamはChrome上で問題なく利用できました。これまで当たり前のように感じていましたが、社内ITがWebでプラットフォーム問わずアクセスできる環境にそろえておくと楽だなぁと感じました。
Ubuntuの設定でキーボード -> ショートカット、 タブ -> スクリーンショットの項目からキーマップが可能です。
1ヶ月経つと慣れてしまいますが、文字表示の綺麗さはmacOSに比べるとやはり劣ります。あまりこだわりがないのでそのままになっていますが、適切なカスタマイズで表示が改善するのか興味があるところではあります。先の記事の通り、適当なフォントIGZO液晶など高精細ディスプレイを使えば改善するようにも思えます。
Ubuntuにもワークスペースという仮想デスクトップの機能がありますが、マルチディスプレイ環境でワークスペース切り替えが画面単位で行えずちょっと不便です。また、Mission Controlで隠れているウィンドウを俯瞰できる機能に相当するものがありません。どちらもそこまで頻繁に使う機能ではないのでさしたる不便ではないのですが、ウィンドウスイッチャ周りの機能は個人的にもう少し研究が必要そうです。
前職ではUbuntu機をメインに使っていたので馴染みはあったのですが、ここ数年ずっとmacOSオンリーな生活だったことから今回の乗り換えはとても不安でした。ところが蓋を開けてみると予想を超える使い勝手でした。まだ1ヶ月しか使用していませんが、最後に乗り換えてよかったポイントをまとめてみます。
とくに「ビルド時間が早くなった」のは大変なメリットです。ビルド待ちやテスト待ちの隙間時間は気を抜くと思考停止タイムになりがちです。当たり前のことですが、エンジニアの時間を無駄にしないために開発マシンのスペックは出来る限りいいものを選ぶべきだと思いました。エンジニア組織の開発生産性向上をミッションとするグループにいる身として、開発マシン提供の制度について重要性を見直し、これを一層よりよいものへ改善していきたいと考えています。
脚注
| 1. | ↑ | 2017年2月現在は2年おきとなっております。 |
| 2. | ↑ | 実験的な利用のためにやはりクラウドよりローカルマシンに積んでおきたいという思いがありました |
| 3. | ↑ | もちろん、強いこだわりがあれば自分でパーツを選んで個別購入することも認められています。 |
※ コメントはこちらのに同意の上、投稿ください。