Chromebookの開発者用セットアップ【2024年版】

最近あたらしいChromebookの開発環境をセットアップしたので、その内容を記します。

## 環境
- [ASUS ExpertBook CX54 Chromebook Plus\(CX5403\)](https://www.asus.com/jp/laptops/for-home/chromebook/asus-expertbook-cx54-chromebook-plus-cx5403/)
    - Intel Core Ultra 5 115U
    - 16GB RAM
    - 128GB SSD
    - 本稿執筆時のOSバージョン: 129.0.6668.99

## 初回起動時の操作
Chromebookの電源をつけると最初にOSのバージョンアップが実行され、しばらくするとセットアップできます。Androidスマートフォンがあると、同じGoogleアカウントで設定できるので少し楽です。
Googleアカウントで設定を同期すると、以前使っていたChromebookと同じアプリなどが自動的にインストールされます。

たとえば、私はctrlキーとランチャーキーを入れ替えているんですが、そういうのも同期してくれるようです。
変更する場合は「設定」→「デバイス」→「キーボードと入力」→「キーボードのキーをカスタマイズ」から。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50391/60421ba6-bad4-26a2-c2c0-ac99ece4139b.png)

### 特典
Chromebookは、初めて買うとYouTube PremiumとかGoogle Oneとかの特典が付いてくることが多いです。「使い方・ヒント」アプリから。貰えるものはもらっておきましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50391/f25b2d09-80ae-4689-b2a2-9211047f1039.png)

なお多くのものは「新規ユーザー限定」になっているので、Chromebookをたくさん買っていたりGoogleサービスをよく使っている人はあまり何も貰えないと思います。

### Chromebookの基本的な操作方法
Chromebookの操作ですが、Windows PCでChromeブラウザを使っている人ならだいたい違和感無く使えると思います。基本的な操作方法などは[公式の使い方ページ](https://www.google.com/intl/ja_jp/chromebook/howto/)を参考に。

Chromebook特有の操作はいくつかありますが、おすすめは[トラックパッド](https://support.google.com/chromebook/answer/1047367?hl=ja)の3本指操作です。3本指で左右にスワイプすると、Chromeブラウザ[^3-swipe]のタブを切り替えられます。メモリを豊富に持っていてタブをたくさん開いて使うChromebook Plusと相性が良い機能です。

[^3-swipe]: 厳密には、ChromeOSのネイティブで動作するアプリが3本指のスワイプによるタブ切り替えに対応していると思われる。具体的に言うとChromeブラウザの他にLinux開発環境の「ターミナル」アプリが該当する。

Chromebookが起動してChromeブラウザが使えるようになったら、開発環境のセットアップに進みます。

## Linux開発環境のセットアップ
開発者にとってのChromebookの目玉である「Linux開発環境」のセットアップを進めます。もともと「crostini」と言われていたものです。古いChromebookだと利用できる端末に制限があったり、ChromeOS Flexだと対応していないことがあるようですが、2024年現在市場で一般販売されているChromebookであれば、Linux開発環境はすべて使えると思います。

使い方は簡単で、[Chromebook で Linux をセットアップする \- Chromebook ヘルプ](https://support.google.com/chromebook/answer/9145439?hl=ja)を参考に有効化します。
Linux開発環境は、ChromeOSのホスト側とストレージの容量を分け合います。デフォルトの10GBは苦しいので、適当に増やしましょう。本稿で取り扱っているASUS CX54は全体で128GBしかストレージが無いですが、適切に設定してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50391/51d9b277-1af4-fb93-fc6a-06abaa195c09.png)

Linux開発環境のセットアップには何十分も時間が掛かる時もありますが、今回は1分程度で完了しました。

GitHubのSSHキーを設定して[自分用のドットファイル](https://github.com/s2terminal/dotfiles)を設定したりします。

### 日本語設定
ChromeOSのLinux開発環境は現在デフォルトで日本語の入力ができるため、基本的に特別な設定は必要ありません。

`localectl`でシステムロケールを日本に設定しましょう。

```sh
$ localectl list-locales
C.UTF-8
en_US.UTF-8
ja_JP.UTF-8
```

```sh
$ sudo localectl set-locale LANG=ja_JP.UTF-8
```


必要であれば、日本語フォントをダウンロードして利用できます。
[IPAexフォント](https://moji.or.jp/ipafont/)などはaptで手に入ります。

```
$ sudo apt install fonts-ipaexfont
```

[Myrica](https://myrica.estable.jp/)などは、~/.fontsに配置することで使えるようになります。

```
$ mkdir ~/.fonts/
$ mv ./Myrica.TTC ~/.fonts/
$ fc-cache --force --verbose
```


[Fontconfig](https://en.wikipedia.org/wiki/Fontconfig)の設定をすると、ホストのChromeOSと同じNotoシリーズの日本語フォントをLinux側のアプリケーションでも表示できます。
`~/.config/fontconfig/fonts.conf` に下記を作成します。Notoシリーズではないフォントを用いる場合は適宜変更して下さい。

```xml:~/.config/fontconfig/fonts.conf
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
 <match target="pattern">
   <test qual="any" name="family"><string>serif</string></test>
   <edit name="family" mode="prepend" binding="same"><string>Noto Serif CJK JP</string> </edit>
 </match>
 <match target="pattern">
   <test qual="any" name="family"><string>sans-serif</string></test>
   <edit name="family" mode="prepend" binding="same"><string>Noto Sans CJK JP</string> </edit>
 </match>
 <match target="pattern">
   <test qual="any" name="family"><string>monospace</string></test>
   <edit name="family" mode="prepend" binding="same"><string>Noto Sans Mono CJK JP</string> </edit>
 </match>
</fontconfig>
```

### VS Code
Linux開発環境でVS Codeをインストールする方法は複数ありますが、今は[公式サイト](https://code.visualstudio.com/download)から`.deb`をダウンロードするのが最も簡単だと思います。ChromeOS上で、ダウンロードした`.deb`拡張子のファイルを開くとLinux側へインストールされます。良い時代になりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50391/e24ba6f8-b557-2065-10bb-d9c21dd62cd4.png)

他のインストール方法は[公式ドキュメントのRunning Visual Studio Code on Linux](https://code.visualstudio.com/docs/setup/linux#_debian-and-ubuntu-based-distributions)を参照してください。

### Docker
通常のLinux用のDocker EngineをインストールすればDockerを利用できます。

- [Debian \| Docker Docs](https://docs.docker.com/engine/install/debian/)
- [Rootless mode \| Docker Docs](https://docs.docker.com/engine/security/rootless/)

## 参考
- この記事は数年前に書いた [ChromebookのLinux開発環境構築](https://qiita.com/suzuki_sh/items/adead0fd9adefec112af) のリメイクです
- Windowsの場合は [Windows11の開発用セットアップ手順](https://qiita.com/suzuki_sh/items/55cf4b003cd71ca1bf8b) です