[完全版]ChromebookにLinuxを入れて開発環境を構築する方法

遊びの一環でchromebookにLinux（ubuntu）を入れてRubyの開発環境を作ったので、開発環境の構築方法、使い心地等を解説していくよ。

# ChromebookをLinuxに変えることができるの？

できる。

そもそも、Chromebook自体がLinuxベースで作られたものなので、developer modeを利用することで、chromebook内にubuntuを入れるのが良い。

#今回の実装の大雑把な流れ

- developer modeに切り替える
- croutonをダウンロードして使う
- ubuntuの設定

「crouton」とは、chromebook内に仮想マシン的なものを作ることができるもの。

公式ページ：<a href="https://github.com/dnschneid/crouton">GitHub - dnschneid/crouton: Chromium OS Universal Chroot Environment</a>

今回は、croutonで仮想マシンを作り、その中にubuntuを入れることにした。

# 1, developer modeに切り替える

developer modeに切り替えるために、まずは`esc` + `reload(ぐるぐるマーク)` + `電源ボタン`を同時に押す。（初期化するので、ローカル内にあるデータは全部無くなるよ）

うまく行くと、画面上に黄色の！マークと「復元用のUSBメモリを入れてください」というメッセージが出てくるので、`ctrl`+`d`を同時に押すと、developer modeに移行を始める。

「OSの確認機能をOFFにするには、Enterを押してください」という画面が出たら、`Enter`を押す。その後、５分ほどかけてdeveloper modeの準備を始める。

再度画面上に黄色の！マークが出た場合は、`ctrl`+`d`を押そう。

上手くchromebookが起動したら、chromebookの初期設定を行おう。

# 2, croutonをダウンロードして使う

<a href="https://github.com/dnschneid/crouton#usage">GitHub - dnschneid/crouton: Chromium OS Universal Chroot Environment</a>

上記のページに行き、croutonをダウンロードする。

>If you're just here to use crouton, you can grab the latest release from https://goo.gl/fd3zc

という記述のリンクをクリックすればOK.

保存する場所は、ローカル内のダウンロードフォルダにする。（解凍しなくて良い）

その後、`ctrl`+`alt`+ `t` を押してshellを開き、`shell`と入力して`Enter`を押す。
（もし、shellと入力した時に`ERROR: unknown command`と出た場合は、developer modeに切り替わっていないので、１の手順をもう一度確認してやり直そう）

そして、以下のコマンドを入力すると、ubuntuのダウンロードが始まる。

```
sudo sh -e ~/Downloads/crouton -r trusty -t  xfce-desktop,keyboard,touch,audio,extension,chrome -e
```

最初にchromebook内のパスワードを聞かれるので、パスワードを入力。

その後１時間ほどかけてダウンロードが完了し、ubuntu側のusernameとpasswordを入力する。これでubuntuの設定は完了。

ubuntuを起動させるためには、shell内で`sudo startxfce4`と入力すればOK.（起動時にpasswordを聞かれます）

#ubuntu起動時にThe chroot may not be fully set up.というメッセージが出た場合

ubuntuを起動する時に以下のメッセージが出る場合がある。

`The chroot may not be fully set up.
Would you like to finish the setup? [Y/n/d]`

上記メッセージは「chrootは完全にセットアップを終えていないかも。セットアップを終わらせたいですか？」というものだが、ここは`y`と入力して`Enter`を押すことで残りのパッケージのインストールをしてくれる。

#chromebookを再起動させる時の注意点

今回の実装によって常にdeveloper modeを維持することになるが、再起動毎に黄色の！マークの画面が出るようになる。

もし、黄色の！マークの画面の画面で間違えて`Enter`を押してしまうとubuntuの環境が無くなってしまうので、黄色の！マークの画面が出たときには必ず`ctrl`+`d`を押すようにしよう！（１敗）

# 補足：勝手にQ&A

以下は、皆さんが疑問で思うであろうことを勝手にpickupしてQ&Aをしていきます。

## ChromeOSは使えないの？

問題なく使える。

上記で説明したように、croutonはchromebook内に仮想マシンを作っているだけなので、chromeOSもubuntuも同時に使える。

また、`ctrl`+`alt`+`shift`と`←(F1)`or`→(F2)`を押すことで、いつでもchromeOSとubuntuを行き来できる。

## 今回の実装に必要なスペックは？

参考として、ボクの場合は

- メモリ　4GB
- ストレージ 64GB

の米アマゾンで購入したchromebookを使っている。（米アマゾンだと、国内に比べて関税とか送料込でも1万円ほど安く性能が良いPCが手に入るよ！）

他のブログ様で見たところ、「ストレージ16GBだと出来なくはないけど、ちょっときつい」という意見が多かったので、工夫が必要かもしれない。

## 使ってみての感想は？

一言で言えば「最高の遊び道具」といった感じ。

元々、「ベッドに寝っ転がりながらRuby扱いたいなー」という野望があって今回の実装をしたので、携帯性の良いchromebookにRubyの開発環境を入れられてかなり満足している。

それにchromebook自体がスマホぐらい気軽に使えるPCなので、Linuxを入れることで「スマホに開発環境を入れている」という感覚で遊ぶことができるよ！

ただ、仕事や個人開発などのメインとして使うには力不足の印象で、あくまでも「サブマシン」「プログラマの遊び道具」といった感じは否めない。

イライラするほどではないが、たまに動作がカクつく時がある。（遊びだから気にしない程度。）


# croutonについてもっと知りたい

やはり、Githubの公式ページを見るのが最善。

<a href="https://github.com/dnschneid/crouton#usage">GitHub - dnschneid/crouton: Chromium OS Universal Chroot Environment</a>

開発も継続的に行われており、安心して使える。


他に役立つ情報、質問等があれば、引き続き加筆修正をしていきます。（日本語化とか）