shiba-hiro’s 備忘録

技術ブログの皮を被ったただの備忘録

開発機としての Google Pixelbook

先日、プライベートで使うPCとしてPixelbookを新しく購入しました。
Pixelbookは、2017年に発売開始された、Google謹製のハイエンドノートPCです。
ソフトウェア開発でも利用するという視点から、いくつかのTipsや所感、買う前に自分が知っておきたかったポイント等をまとめようと思います。

購入したのは、i7, 16 GB RAM, 512GBストレージのモデルです。
また、この記事は2018年7月現在のものですので、参照される際は情報の鮮度にご注意ください。

www.google.com

Pixelbookを利用したかった動機

そもそもなぜPixelbookを欲しくなったのかという経緯からです。
一時期は公私ともにWindows、ここしばらくは仕事ではUbuntu/プライベートではMacという布陣でした。
独断と偏見の上にある自身の所感では、それぞれのOSに対しては下記のような感想を持っています。

Windows: プラットフォームが成熟しており一般用途としては文句なし。が、開発に使うにはストレスが多すぎる。
Bash on Ubuntu on Windowsも、(当時の)使い心地はイマイチだった。

Mac: 「一台で済ませる」という観点では最良の選択肢。
iTunes, LINEなどのアプリもネイティブで利用できる上に、コミュニティや開発基盤も充実しており、日本語情報も豊富。
Linuxアプリが使えなかったり何かにつけてXcodeのインストールが求められたりするのが珠に傷。

Linux(Ubuntu): オープンソースのアプリケーションが充実しており、開発用途としては最も使いやすい。
成果物の実行環境にLinuxを使っている場合、そのプラットフォーム上で作業ができるメリットは大きい。

なので、まあMacでも悪くはないんですが、それでも若干のストレスを感じていたのがひとつ。
またもうひとつとしてはスペック不足も感じていた(Macbook Air, 4GB RAMだった)ので、開発にも使えるプライベートPCの新調を図っていました。

いくつかの候補を探した上で、ASUSHUAWEIの上級モデルにLinuxデュアルブートで入れる、くらいの結論に落ち着きそうだったところ、この記事を読んだのが5月の話。

jp.techcrunch.com

なんとChromeOSでLinux(それもDebian!)のサポートが公式に始まるとのこと。
かつそのサポートがPixelbookから展開され始めるとのこと。
GUI含めサポートされるようなので、これは新しい選択肢としてかなりアツいのではと、しばらく悩んだのち購入に至りました。

この記事では、そのLinuxサポートの上でどれだけのことができるのか?みたいなところを中心に書いています。

セットアップ

Linux自体の立ち上げについては、日本語でもググればそれなりに記事が出てくるので割愛します。
OSのビルドを開発モードにして再起動してやれば、設定からワンクリックで立ち上げられます。

Terminal

まずはターミナルです。
若干心配していましたが、ctrl + r, ctrl + wなど、Chromeブラウザのショートカットキーにも使われるものも、期待通り動作しました。
(実際、croshだとctrl + wするとタブを閉じてしまいます)

また先述の通りGUIもサポートされているので、気に入ったアプリがあればそれを使って代替できます。
自分は仕事でも使っているTerminatorを利用しています。
デフォルトのTerminalだとタブを追加できずウィンドウを増やすしかないのですが、Terminatorであればタブの追加、分割も行えます。
インストールは、デフォルトのTerminal上で

$ sudo apt install -y terminator

を叩くだけでOKです。

こんな感じで、デフォルトのTerminalとは別にTerminatorが追加されます。 f:id:shiba-hiro:20180730002633p:plain

タブ、分割なども問題なく動作します。
f:id:shiba-hiro:20180730002721p:plain

一点、Terminatorのショートカットキーで気にしなければならないのは、タブの移動です。
ctrl + search + up/downとしてやる必要があります。

Terminatorを閉じたあとに再起動しようとして動作しないことがありますが、次のステップを踏むと直りました。
・一度shelfからTerminatorを確実にclose
・デフォルトのTerminalを起動
・再度Terminatorを起動

Editor

Visual Studio codeを利用していますが、こちらも問題ありません。
debファイルを取得してインストールすれば、すぐに使えるようになります。

$ curl -L https://go.microsoft.com/fwlink/?LinkID=760868 > ~/Temporary/code.deb
$ sudo apt install -y ~/Temporary/code.deb

f:id:shiba-hiro:20180730003752p:plain

ファイルシステム

LinuxコンテナがChromeOS上で立ち上がって動作しているようなイメージなんですが、ChromeOSのファイルシステムからLinux上のファイルへアクセス可能です。
ホストやUSBメモリからファイルをコピーしたり、GUIでポチポチしたりも簡単です。

f:id:shiba-hiro:20180730005851p:plain

画面のテスト

あと気になるのは画面のテストができるかどうかです。
コンテナで立ち上がるとなると、ちゃんとアクセスできるかはチェックポイントです。

結論からいえば、ipアドレスを利用するか、linuxhostという名前を利用するかの、いずれかの方法でアクセスできます。
先述のような仕組みの都合上、ChromeOS側からlocalhostでアクセスすることはできません。

f:id:shiba-hiro:20180730010823p:plain

linuxhostを使う方が簡単ですが、もしipアドレスを利用したい際には、hostname -Iコマンドで調べましょう。
もちろん、80以外のポートも利用可能です。

20180801追記
OSのアップデートをしたところ、linuxhostが使えなくなり、代わりにpenguin.linux.testでアクセスできるようになりました。
testとついているくらいなので、おそらくこれからも変わることでしょう。。。

アプリの起動

Terminatorを使うくだりでスクショを貼りましたが、Linux用のアプリもChromeOSから検索、起動できます。
環境の差を意識しすぎずに、ストレスなく作業を行うことができます。

Misc

Q. どこで買えるの?日本版のGoogle Storeでは見つからない!

A. Amazonで買いましょう。

ちなみに自分の場合は、受け取るまでに3週間を要しました。

Q. PC本体以外にもなんか買った?

A. ケースとUSB type-cの変換アダプタは買いました。

ケースはこちらのBellroyのもの。
かなりタイトなデザインです。

https://www.amazon.co.jp/gp/product/B077YCJW7N/

アダプタは、おそらくMacのおかげでいろいろ種類が出ています。
いまのところこちらを利用しています。

https://www.amazon.co.jp/gp/product/B0797WT44V/

Q. 日本語対応は大丈夫?

A. モード、入力とも問題なし。

設定画面でポチポチやれば、OSの日本語モードへの切り替え、日本語入力の追加も簡単にできます。
漢字の見え方がたまにおかしいですが、基本は問題ありません。
このブログ記事もPixelbookから書いています。

Q. どうして日本語対応してるのにキャプチャでは英語モードなの?いちびってるの?

A. アプリ検索の利便性のためです。いちびってはない。

どういうことかというと、例えばファイルシステムを使いたいときに、
日本語だと、「ファ」とカタカナで入れてあげないとだめなんですが、
英語だと、"f"と一文字入れるだけで済むわけです。

諸々のアプリやコマンドのエラーメッセージも、英語のほうが情報量が多いので、不便を感じない限りは英語モードを使い続けようかなと思います。

なお、Google assistantも、まだ英語モードでしか使えません。。。

Q. なんかTerminal起動しても使えなくなる事象が突然起きたんですけど

A. いったん全てのLinuxアプリを破棄して再度Turn onしてください

真っ黒の画面だけ出てコマンドにも反応しなくなる事象が、実際に起きました。
ネットで上がってる方法も試したものの効果がなく、最終的にはLinuxのアプリを一旦すべて破棄し、再度コンテナを立ち上げ直すことで修復しました。

Q. Linux containerの作り直しってできる?

A. できました。

先述のとおりですが、すべて破棄したあとも作成し直し、動作させることができました。
なので、ガンガン実験できそうです。

まだ不安定版で動かなくなることもあるかと思うので、リカバリスクリプトを用意しておくと便利かもです。

所感

買う際に期待していたことですが、「一台で全部できる」感を味わえます。
Linux用アプリ(VScodeなど)も、Play storeで入手したアプリ(kindleなど)も、ChromeOS上からすべて同じようにアクセスできるのが心地よいです。
まだDev版でしかLinuxは使えないので不安定ではあるものの、コンセプトは素晴らしく、とても気に入りました。

ハードのデザインも格好良く、ディスプレイにタッチできるのも何かと便利です。
結論、よい買い物したなぁと思っており、愛用していきたいと思います。