Chromebookで開発/執筆環境をセットアップする（2020年1月版）

[ASUS Chromebook Flip C101PA](https://www.asus.com/jp/2-in-1-PCs/ASUS-Chromebook-Flip-C101PA/) 、および [ASUS Chromebook C423NA](https://www.asus.com/jp/Laptops/ASUS-Chromebook-C423NA/) で快適な開発/執筆環境をセットアップする手順です。
別記事「[Xubuntuで開発/執筆環境をセットアップする](https://qiita.com/8amjp/items/5bcc74115404ecb02f3f)」とは、かなりアプローチが異なります。執筆も開発も、マシンやOSの特性に合わせた方法があるということですね。
※2019/1/12 ほぼ全面的に書き直し。
※2020/1/11 実は結構前からC423NAに乗り換えてたのでその辺りを追記、タイトル変更。

## 執筆環境を手に入れる
Chromebookに似合うのは、やっぱりブラウザ上で動作するテキストエディタ。
その中でも、 [StackEdit](https://stackedit.io/) と [Writebox](https://write-box.appspot.com/) の使い勝手は群を抜いてます。どちらかを選んでおけば間違いないでしょう。

### [StackEdit](https://stackedit.io/)
原稿をGitHubで管理するなら、StackEdit一択でいいと思います。
非常に簡単な手順で、GitHubのレポジトリと連携できます。しかも <kbd><kbd>Ctrl</kbd>+<kbd>S</kbd></kbd> でCommitもPushもできます。これ、めちゃくちゃ便利。感動します。
他にも、Dropbox や Google Drive との同期はもちろん、WordPress にパブリッシュする機能まであったりします。
Markdownエディタとしての性能も申し分なし。リアルタイムのプレビュー画面を並べて表示もできます。見出し一覧の表示もできます。ショートカットキーや配色テーマもカスタマイズできます。もはや最強。

### [Writebox](https://write-box.appspot.com/)
原稿を Dropbox や Google Drive で管理するなら、Writeboxもいいでしょう。こちらもシンプルかつ高機能なMarkdownエディタです。
文章を思い付いたときにすぐに書き始められ、シンプルな画面は執筆の邪魔をしません。書いた内容も自動で保存され、消えてしまう心配も無用。オンラインのテキストエディタはここまで便利になったんだなーと感心します。

## 開発環境を手に入れる

もちろん、開発環境だってクラウドです。
無料プランのある代表的なCloud IDEを3つ紹介します。どれも開発環境として申し分ない性能を備えていますが、それぞれに一長一短あります。とりあえず全部試してみて、最もしっくりするサービスを使ってみてはどうでしょう。

### [AWS Cloud9](https://aws.amazon.com/jp/cloud9/)
Cloud IDEの代表格、 [AWS Cloud9](https://aws.amazon.com/jp/cloud9/)。動作も早く、非常に快適ですね。
導入にはこちらの記事が参考になりました。ありがとうございます。
[初めてのAWS Cloud9導入](https://qiita.com/tu-kun/items/d7b4f1fa19cc93bc5b75)
ただ、日本語の入力には注意が必要です。具体的には、三点リーダー（…）やダッシュ（―）を入力したときに表示がおかしくなってしまいます。開発ならともかく、執筆には大きなマイナス点。

### [Codenvy](https://codenvy.com/)
難点としては、無料プランにおけるインスタンスの持続時間が10分ということ。10分が過ぎるとサスペンド状態になり、再開にけっこう時間がかかります。
また、ターミナルの文字入力がかなりもたつきます。エディタは早いのに何でだろ。

### [Codeanywhere](https://codeanywhere.com/)
難点としては、1度に作成できるコネクションは1つまでという点。
例えばAというプロジェクトで開発中に、プロジェクトBの手直しをしたくなった場合、プロジェクトAのコネクションを切断した上でプロジェクトBにコネクションしないといけない、ということです。操作自体は簡単とはいえ、なかなか煩わしい。

## 開発環境をローカルに構築する
「いや、どうしてもローカルに開発環境を構築したい！」という方へ。
Chrome OSを69以降にアップデートすると、Linux(Debian)を仮想マシンとして起動できるようになります。もちろんパッケージを追加することも出来るので、好みのIDEやテキストエディタが使えます。

### 準備
#### Chrome OSをアップデートする
「設定」->「Chrome OS について」で、バージョン69以上になっていることを確認しましょう。なってなかったらすぐにバージョンアップ。

#### Linuxを有効にする
「設定」で「Linux（ベータ版）」を「オンにする」だけ。数分待てばLinuxが有効化され、コンソールが起動します。
用意できたら、まずは最新の状態にしましょう。

```
sudo apt update
sudo apt upgrade
```

ここからが本番です。必要なソフトをインストールしていきます。

### [Visual Studio Code](https://code.visualstudio.com/)

#### Chromebook Flip C101PA の場合

VSCode好きの私としては、ChromebookでもぜひVSCodeを使いたいところなのですが。
C101PAはARM64というアーキテクチャのCPUで、マイクロソフトの公式サイトからはARM64向けのVSCodeは公開されていません（いずれリリースしてくれるとは思いますが）。
でも安心。ARM64向けにビルドして公開してくださっている方がいらっしゃるので、ありがたく使わせていただきます。

[code-oss_1.32.0-1550644812_amd64.deb](https://packagecloud.io/headmelted/codebuilds/packages/debian/stretch/code-oss_1.32.0-1550644812_amd64.deb)

このページの右側に書いてある手順のとおりインストールしましょう。

```
curl -s https://packagecloud.io/install/repositories/headmelted/codebuilds/script.deb.sh | sudo bash
sudo apt-get install code-oss
```

しばらく待てばインストールが完了します。

#### Chromebook C423NA の場合

C423NAのように、インテルのCPUを搭載した機種なら、[マイクロソフト公式の手順](https://code.visualstudio.com/docs/setup/linux)でいけます。
[Xubuntuで開発/執筆環境をセットアップする](https://qiita.com/8amjp/items/5bcc74115404ecb02f3f)でも書きましたが、

```
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt update
sudo apt install code
```

とやればインストールできます。楽ちん。

……ただ、そのままだとネイティブの解像度で表示されてしまうので、文字がものすごく小さいです。
<kbd><kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>-</kbd></kbd>でフォントを拡大すると見やすくなります。 

### 日本語フォント ([Google Noto Fonts](https://www.google.com/get/noto/))
せっかくのChromebook、Linux用の日本語フォントもNotoにしましょう。

```
sudo apt install fonts-noto-cjk
```

### 日本語入力メソッド
この部分が一番の鬼門なんですよね……
Linuxは仮想マシン上で動作しているので、Chrome OSの日本語入力とは別にセットアップする必要があります。Chrome OSネイティブの日本語入力がそのまま使えるようになれば、かなり使い勝手が変わるのですが……

[fcitx-mozc](https://www.archlinux.jp/packages/?name=fcitx-mozc) はGoogle 日本語入力のオープンソース版であり、性能としては申し分ないのですが、ARM64向けの安定版パッケージがまだ公開されていません。テスト版のパッケージをインストールすることも可能ですが、どうも動作が不安定なので、今は導入を見送ります。
代わりに導入するのは [fcitx-anthy](https://www.archlinux.jp/packages/?name=fcitx-anthy) 。こちらはC101PAで問題なく動作します。しかし、すでに開発停止しており、Google 日本語入力レベルの変換精度を期待するとガッカリします。

……ちなみに、C423NAならこの辺りの問題が解決されてる（fcitx-mozcがインストールできる）んだろうと思うんですが、日本語入力（執筆）については前述のStackEditを使うことで満足しているので、試していません。ソース書くだけなら日本語入力できなくても特に困らないし。

## まとめ
いろいろやってみてわかったことは、やはりChromebookにはクラウドが似合うということと、もはやクラウドで何でもこなせる時代になったということですね。改めて実感する、Chromebookのコンセプトの素晴らしさ。
ふだんの執筆や簡単な開発はChromebook、規模の大きな開発はXubuntuという使い分けで今年は行こうと思います。適材適所が一番ですね。
それでは皆様、Chromebookで快適な執筆/開発ライフを。