あと味

たくさん情報を食べて、たくさん発信すると、あとになって味わい深い。

Chromebook (Acer C720) 買った

年末に Chromebook (Acer C720) を買いました。

いろいろ弄る中で知見を得たので、記事にすることにします。

結果的に良い買い物だったという気がしています。

購入前

今使っている Macbook Pro も数年使っていて、ハード的にも環境的にもボロボロになってきたので、買い替えを検討していました。

本当は Macbook Air が欲しかったんですけど、結婚してから自由に使えるお金が限られるようになったので、Macbook Air はヨイショと簡単に買えるような端末ではなくなってきていました。

振り返ると、家で使う個人端末では Chrome とシェルしか使ってないので、別に Macbook Air にこだわることはないのかなと思い、安い Linux ラップトップを買おうかなと思ってたんですけど、予てから興味のあった Chromebook を調べてみると、Chromebook で事足るのかなと思い始めてました。Chromebook は、貧乏人の Macbook Air だという評価も見かけましたし。

正直 Chromebook を弄りたいという欲が先行していて、同スペックのより安い Linux ラップトップがあるかどうかはろくに調べていないのですが、Windows 8.1 with Bing なラップトップと比べても、Chromebook はコスパが優れている方な気がします。

自分の日本語入力方式が JIS かな入力なので、JIS 配列のキーボードが必要だと思っていて、輸入で買う選択肢はなく、日本での JIS 配列キーボード搭載版の Chromebook の発売を待っていました。

とりあえず、日本版のすべての Chromebook のラインナップが出揃ったので、本格的に購入することを検討し、一番コスパが良さそうな Acer C720 の購入に至った次第です。

Acer C720 は現時点で日本で発売されているラインナップのうち、唯一 SSD を換装できる端末らしいのですが、SSD は 16GB のまま換装はしませんでした。(後述しますが、16GB では余裕で足らないです)

Web 開発できることが条件

Chromebook を安物買いの銭失いにするのは絶対に避けたかったのと*1、今後のメインマシンにするつもりで購入するので、Web 開発できることが絶対条件でした。

Chromebook に Ubuntu を入れる方法はすでに確立されていて、それでなんとかなるかなと思っていましたが、実際に使ってみて今のところなんとかなりそうな気配です。

Chrome OS に関しては、Virtualbox にインストールして触ってみてましたが、Chrome に毛が生えた程度なので、特に事前に触ってみる必要もなかった気もしています。

OS として起動が速い点は大変良いです。*2

Web 開発環境のセットアップ

Ubuntu は crouton でインストールしました。

他にも選択肢はあるようですが、Issue 見てもちゃんと対応しているし、複数人でメンテされていて、crouton であれば、Chrome OS の特徴を殺すこともないので、自分的には crouton しか選択肢なかった感じです。

crouton は chroot の仕組みを使って、Ubuntu をインストールする仕組みですが、chroot するディレクトリは任意に選べます。

本体の SSD の容量は 16GB で、実際使える容量はさらにそれより少なく、余裕で足らない感じだったので、USB メモリ内のディレクトリにインストールすることにしました。

幸い、Chromebook には、USB 3.0 端子があるので、高速な USB メモリが利用できます。

ネットで調べて評判も高そうだったサンディスクの 64 GB の USB メモリを買いました。

64 GB あればとりあえず当面は十分です。

IO の反応も非常に速く、リムーバブルディスク上で操作している感はありませんでした。SSD すら初体験という前提はありますが。

USB メモリを ext4 でフォーマットしようと思ったところ、USB 3.0 に対応した端末が Chromebook しかなく、詰んだかなと思ったんですけど、普通に Chromebook の Crosh ウィンドウのシェル*3で、fdisk やら、mkfs.ext4 が使えたので、事無きを得ました。

ついでに、USB のラベルも、接続直後、「USB Disk」という微妙なラベルだったので、e2labelchromebook に変更しました。(以下、USB メモリのラベルを chromebook に変更していることを前提としてパス等記述しています)

crouton のインストールオプションは下記のような感じです。

sudo sh ~/Downloads/crouton -r trusty -t xfce -p /media/removable/chromebook/crouton

t オプションに xiwi を指定して、crouton の Chrome エクステンションをインストールすると、タブ上で Ubuntu を開くことができたり、Chromebook と Ubuntu 間で、コピー・ペーストを共有したりできるらしいのですが、タブ上で Ubuntu を開くのはうまくできませんでした。

あと、cli-extra というターゲットを指定すると、X Window System のないミニマムな Ubuntu 環境をインストールできますが、後述する通り、Virtualbox 使うために X Window System が必要だったので、指定しませんでした。

インストールが終わったら Ubuntu が USB メモリに入ります。USB メモリがなければただの Chromebook で、USB メモリがあれば Ubuntu も利用できるという感じで、Chromebook はそのまま残しつつの運用ができるのでおすすめです。

p オプションをつけてインストールすると、インストール先の bin ディレクトリ(例えば上記で言えば、/media/removable/chromebook/crouton/bin)に crouton の各種スクリプトがインストールされます。

Crosh ウィンドウのシェルで、

sudo sh /media/removable/chromebook/crouton/bin/startxfce4

と入力すれば、Xfce4 の Ubuntu デスクトップ環境が起動しますし、

sudo sh /media/removable/chromebook/crouton/bin/enter-chroot

と入力すれば、Crosh ウィンドウでそのまま UbuntuCUI 環境で利用できます。

UbuntuSSH サーバー入れて、自動で起動する設定をしておいて、Secure ShellSSH ログインするという方法もありますが、sudo enter-chroot で Crosh ウィンドウからそのまま UbuntuCUI 環境使う方が 、Ubuntu デスクトップ環境を起動する必要もなく、気軽だと思います。

VirtualboxWindowsIE)を動かせるようにする

Chromebook で Web 開発するにあたって、VirtualboxWindowsIE)を動かせることも必要条件と考えていました。

インストールした Ubuntu をデスクトップ環境としてそのまま利用することは考えておらず、Virtualbox を利用するためのデスクトップ環境という感じで考えています。*4

ただ、Virtualbox のインストールは簡単ではありませんでした。

crouton リポジトリWiki を参照して、

あたりを見ながら各種設定し、modern.IE の OVA で、Windows 7IE 11 が動かせたので、この条件もクリアできました。

カーネルヘッダのビルドは手動でもやってみましたが、すごく時間がかかって大変だったので、上記の Wiki にリンクのある、下記のスクリプト使うのが良いかなと思います。自分の環境はそれで動きました。

Virtualbox のインストールは何度か躓いて、躓いた時に何が足りなかったのかイマイチわかってない状況です。Xfce4 ではなく、Unity をインストールした時に、crouton の Issue にも同例の報告があった Virtualbox で Windows 起動した時に Chromebook が強制的にリブートする問題が発生してうまくいかなかったんですけど、Xfce4 に変更した今は問題は発生していません。ネットで情報を見ながらアレコレ試行していたので、この問題がウィンドウマネージャを変更したことで解決したのかどうか、それが関係あるのかないのかも正直よくわかってません。。。少なくとも Issue にあるように Trusty を Precise に変更するという方法では解決しませんでした。

Virtualbox がインストールできたことで、他の OS を操作することができる状況も確立したし、Chrome リモートデスクトップ を使って、既存の Macbook Pro を操作できることも確認できたので、今後困ったことがあっても逃げ道ができた感じです。

あとは日本語言語パックの設定とロケールの変更、シェル環境の整備、LAMP 周りのソフトウェアとか入れて、いい感じに使えるようになりました。

とにかく Virtualbox のインストールだけが一癖あって、他のツールのインストールは特に問題は起こっていません。

各種環境を整えた後、Movable Type をセットアップして実際に操作してみましたが、IO が速いせいか、既存の Macbook Pro 上の環境と比べても速く、今のところスペックによるストレスは感じていません。

困った点と解決方法

以上のセットアップで、Chromebook で Web 開発できるような雰囲気になりましたが、いろいろと細かいところで問題があり、これからもあるかもしれません。

使ってみて発覚した各種の問題を、自分はどのように解決したか、または解決するつもりなのかということを、今後購入される方向けに残しておきます。

Crosh ウィンドウが複数開けない

Crosh ウィンドウの欠点としては、複数ウィンドウが開けない点です。

一方、Secure Shell は複数ウィンドウが開けます。

Ctrl + Alt + TChrome のタブに複数開くこともできるのですが、Chrome のタブとして開くと、Chrome のショートカットキーが優先され、一部のキー操作が奪われるという問題があります。

Secure Shell であれば、ウィンドウを複数開くことができ、かつ、それらを Chrome のタブとしてではなく、独立したウィンドウとして開く設定にしておけば、Chrome のショートカットキーにキー操作が奪われることもないので、この運用を好む方もいるかもしれません。

ただし、Secure Shell で開く場合は、Crosh ウィンドウから Ubuntu デスクトップを起動しておく必要があります。

cli-extra を入れて、sudo startcli するという方法もありますが、シェルが別画面に開くだけで、使用感は変わりませんでした。

自分は、Crosh ウィンドウ内で sudo enter-chroot して UbuntuCUI 環境で開き、複数ウィンドウ開けない問題については、tmux や screen を使うことで対応することにしました。

日本語情報が少ない

まだ、日本語情報が少ない感じです。ただ、すでに欧米では Chromebook のハックの実績が多く、知見もあるので、英語圏の情報は充実しています。

しばらくは、何か調べる際は、英語圏の情報を探すしかないです。

crouton 固有の情報は、経験的に、crouton リポジトリの Issue や Wiki から探すのが良いです。

セットアップのやり直しをするたびユーザー領域がリストアされる

個人的にもセットアップのやり直しを何度か実施したのですが、そのたびにユーザー領域がリストアされます。

設定情報等は、クラウドに保存されるようで、再セットアップの手間はそれほどではありません。

消えて困るデータは、リムーバブルメディアや Google Drive に保存するようにした方が良さそうです。

/etc/hosts の書き換えができない

Ubuntu 側は問題ありませんが、Chromebook 側の /etc/hosts の書き換えができません。*5

DNS サーバーをセットアップすることで任意のホストで Ubuntu 上のウェブサーバーのリソースにアクセスできるようにすることも可能なのかもしれませんが、自分は xip.io のようなサービス使って凌ぐことにしました。

サービス(xip.io)が終了したら、任意のドメインで同じようなことを適当にやります。

Secure Shell でも Crosh ウィンドウのシェルでも日本語入力できない

ここ重要!

Chrome で Secure Shell 使う時もこの問題があったので、予想はしてましたが、Chromebook の Crosh ウィンドウや Secure Shell であっても同じ状況です。コピペはできますが、それでは厳しいです。

Chromebook にインストールした Ubuntu デスクトップ環境を、そのまま利用する場合は、問題なく日本語入力できます。

Crosh シェルで crouton の enter-chroot コマンドで CUI 環境を利用する場合や、Secure Shell で SSH ログインして CUI 環境を利用する場合には、ウィンドウ内で日本語入力ができないので、この点が購入にあたっての大きな障害になり得ます。(Vim で開発する人とか)

自分の場合は、Chrome で Secure Shell の操作を確認した際に、SSH ログインした環境で、Emacs の入力切替ができることは確認できていたので、Vim から Evil + Emacs に移行しつつある自分的にはクリアできる問題となりました。

要するに日本語入力したければ Emacs 使いましょうという話です。

mozc.el 入れて、通常と同様に文字変換できるし、設定を変更すれば、JIS かな入力もできます。

シェル上で日本語を使いたい場合も、eshell 使えば良いので、無問題でした。

Vim を使っている時にハングアップする

よくわかりませんが、Crosh ウィンドウや、Secure Shell のウィンドウで、Vim を使っていると、突如ハングアップして、 使っていたウィンドウがどれであるかは関係なく、シェルを起動したすべてのウィンドウが軒並み動作しなくなることが何度かありました。

その状態では新しくシェルを立ち上げることもできないので、再起動するしかなくなります。

Emacs では今のところ発生していないので、基本は Emacs を使っています。

これはハード固有の問題なのか、たまたま自分の環境で起こっている問題なのか、解決策があるのかもわかっていません。

ハード固有の問題

Acer C720 では、リストア後のセットアップで WiFi に繋がらないという問題が、2回ほど発生しました。

一度接続設定をしてからは問題ないのですが、リストア後のログイン直後でそういう事象が起こりました。

1回目は何度も試行しているうちにつながり、2回目はルータを再起動したらつながりました。

多分、下記の QA と同様の事象だと思いますが、何が起こっていたのかよくわかりません。

あとは、キーボードやディスプレイ*6、タッチパッドが値段相応の品質ということです。これはどうしようもないので、慣れるしかない。

Macbook がよく出来ているということを痛感した感はあります。

まとめ

Macbook Air を購入しても財布が痛くない人は、素直に Macbook Air 買えば良いと思います。。。

自分の場合は、型が古くなっても新しい端末が買えなかったり、故障した時に新しい端末の調達がすぐにできないといった状況がストレスなので、今後そのようなことがあっても安く必要十分なマシンが調達できることが確認できて良かったです。*7

また、crouton でインストールした UbuntuCUI 環境に、Crosh ウィンドウのシェルからアクセスする運用は、Chrome OS をシャレオツな UNIX デスクトップ環境として使っている感覚で気に入りました。*8

これで今後も持たざる者(いろんな意味で)として快適に生きられそうです。

ただ、今のところ万人におすすめできるものとは思ってません。特に日本語入力できない問題が痛い。

あ、あけましておめでとうございます。

ほなの。

追記

最近の運用方法書きました。

taiju.hatenablog.com

*1:それだとコスト削減のために Chromebook 買う意味がなくなるし。

*2:あと、バッテリーがやたら持ちます。外出ないけど。

*3:Crosh ウィンドウを開いて shell とタイプして利用できるシェル。

*4:インストールした UbuntuChromium を起動した時の敗北感たるや...

*5:調べるとやりようはあるっぽいのですが、やってません。

*6:HDMI 端子があるので、テレビに繋げるという選択肢もある。多分使わないけど。

*7:少なくとも Chromebook が発売され続ける間は。

*8:crouton ありきな危うい状況ではありますが。