Chromebook Crostini 快適なファイル閲覧のための環境構築

# はじめに

Chromebook は Google というだけあって流石にブラウジングも快適です。
しかし個人的にちょっと使いづらいかなと思うのが ChromeOS デフォルトの統合ファイラーです。基本的な操作はすべて行えるため慣れれば問題はありませんが、ゴミ箱機能がなかったり [^1] 、戻るや進むもできず [^2] 、偏見ですがマテリアルデザインを極めすぎているのか若干見づらかったりと現状気になる点が多々あります。[^3]

そこで、GNOME のファイラーを始め、ファイル閲覧系のアプリを導入・設定したところ、思ったよりも快適で Ubuntu ライクな GUI を Chromebook でもできたのでシェアしたいと思います。

**ダークモードにもできるようになるので目の負担軽減にも恐らく繋がります（Linux 環境内かつ GTK のみ）！**そして、よりリッチになった Crostini を体感できます！

# 対象者

:::note warn
プラスアルファな環境構築のため、大半の方にとっては不要です。時間に余裕の無い方にはおすすめしません！
:::

:::note
「はじめに」で書いたような ChromeOS デフォルトファイラーの機能とデザインに少し不満を抱いている方にはプラスになるかもしれません！
:::

# 概要

この記事は、Crostini にファイラーを導入し、それに関連して基本的なファイルの閲覧を快適に行うことのできる環境構築を主な趣旨とし、以下の項目について記述しています。なお、別記事として書いている、書く予定のものは括弧を付けています。

- （システムの日本語化、および日本語入力環境の構築と設定）
- 快適なファイル閲覧のためのアプリケーションの導入と設定
    - GNOME ファイル `nautilus`
    - GNOME ターミナル `gnome-terminal`
    - GNOME テキストエディタ `gedit`
    - GNOME 画像ビューワー `eog`
    - メディアプレーヤー `vlc`
- 見た目をまともにする
    - gnome-tweaks の導入
    - GNOME テーマのインストール
    - GTK3 の設定変更
    - （アイコンの修正）

# 関連記事

そもそも Crostini とは？について、素人ながら以下の記事で簡単に説明しています。
「[ChromeBook Crostini の構造を簡単に辿る](https://qiita.com/mksh/items/7d244230597a34a10c98)」

# 環境

- Acer Chromebook CB715
- Chrome OS (Google Chrome) Stable 64bit
- Crostini (penguin)
    - Linux x86_64
    - Debian GNU/Linux 10 (buster)

# 完成イメージ

Ubuntu ライクな、結構良い感じの見た目に仕上がります。
ちょっと詰め込み過ぎたかもしれませんが、**とりあえずやる気は出ますね！**

（一部アイコンの修正は行っていません）
![Crostini_GNOME_Apps_image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608268/6c70d281-c569-e524-98cc-e89845064c5a.png)

# 注意点

:::note warn
作業開始前に念の為バックアップを取っておいてください。
:::

:::note alert
GNOME ファイルから ChromeOS 上のアプリに対してドラッグアンドドロップをすると ChromeOS 及び Crostini 等すべて落ちる事を確認しています。別の環境ではまた別の問題が起こるかもしれないので自己責任でお願いします。
:::

# システムの日本語化、および日本語入力環境の構築と設定

**システム全体を日本語化すれば、コマンドを打って Linux を再起動させるだけで（対応している）アプリケーションも言語が切り替わってくれる**ので、日本語化を済ませておくことをおすすめします。この辺も別記事で書く予定です。とはいえ日本語化に関する記事はとても多く、またほぼ被る事は必至のため記事を新たに書く必要があるのかは悩んではいます。

なお、日本語設定の際にとりあえずフォントをインストールすることもあると思いますが、GUI 表示のみであれば基本的には新しく追加しなくてもある程度見栄えの良い GUI にできます。（具体的なフォントについては「[フォントの変更](#フォントの変更)」参照）

# 快適なファイル閲覧のためのアプリケーションの導入

基本的な事を Crostini 環境内だけで完結できるような、また普段使いでも役に立ちそうなアプリをピックアップしています。基本的には Ubuntu のデフォルト環境を再現しているような形になっています。

「[概要](#概要)」にも書いたアプリケーションがインストールされます。

なお、**Crostini 環境内にも別のターミナルを入れることで Nautilus から開くこともできるようになる**（右クリックで「端末で開く(E)」）という点でメリットを感じたためインストールした方がより快適だと判断しました。

```bash
$ sudo apt install -y nautilus gnome-terminal gedit eog vlc
```

また記事の趣旨からは外れるかもしれませんが、よりファイル編集以外の操作を GUI で完結させるために以下のアプリケーションをインストールしたりもしました。本当は GNOME の設定アプリ（gnome-control-center）を入れたかったのですが、起動がうまく行かず断念しました。

- Font Manager（GNOME フォントマネージャー）
- GNOME System Monitor（GNOME デフォルトシステムモニター）
- GNOME Software

```bash
$ sudo apt install -y font-manager gnome-system-monitor
```

GNOME Software のインストールに関しては以下の記事が参考になります。
「[ChromebookでGNOME Softwareをインストールする](https://qiita.com/digitarhythm/items/cfd2a2843d86977530f1)」

## テキストエディタについての補足

テキストエディタは基本的には色付けして内容を見ることだけを考えて選定しています。今回は GNOME 環境ということで gedit を選定していますが、よりシンプルな Mousepad も興味があればインストールしても良いかもしれません。

また今回 gedit 以外にも Geany、Mousepad、Sublime Text の導入も試しましたが、どれも fcitx との相性があまり良くないようだったので、実際に編集したい場合は VSCode（か別の大丈夫そうなエディタ）を入れたほうが良いと思います。（ウィンドウシステム辺りが原因？）

# 見た目をまともにする

この記事では、以下を対象にダークテーマの設定をしていきます。

- GNOME
- GTK3

:::note warn
VLC などのような Qt ベースのアプリケーションにもダークテーマを適用したい場合は、別途 Qt の設定が必要になります。（未調査）
:::

## GNOME テーマのインストール

`Adwaita` というデフォルトで入っているテーマを選択するだけでも見た目は良くなります。
しかし、ここでは目の負担を減らすためダークモードを手軽に導入できるテーマとして `Adwaita-dark` を含むテーマをインストールします。

なお他にもテーマがインストールできるようですので、もっとかっこいい見た目にしたい！という人はぜひ調べて試してみてください。

```bash
$ sudo apt install -y gnome-themes-standard
```

## gnome-tweaks のインストールと起動

テーマを適用するためにインストールします。GNOME の設定をするアプリケーションです。

```bash
$ sudo apt install -y gnome-tweaks
```

`gnome-tweaks` の起動

```bash
$ gnome-tweaks
```

## テーマの変更

`Adwaita-dark` を選択
![gnome-tweaks_adwaita-dark.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608268/302e5bad-7b38-b218-b1d1-77f3e23c8f35.png)

## フォントの変更

今回は GUI のフォントだけ考えればいいので、`Interface Text` という設定項目だけ設定します。ここでは個人的に一番良いなと思った `Doroid Sans Fallback Regular` というフォントを設定しています。それ以外は必要に応じて設定します。

以下、参考画像です。
![gnome-tweaks_font_dark.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608268/d0848c8d-9f7f-ca7b-3f47-455809c0d970.png)

## ダイアログにもテーマを設定

GNOME の設定だけではダイアログにはテーマが反映されませんでした。また特に何もしていない限りダイアログは GTK3 がベースになっているようなので、`~/.config/gtk-3.0/settings.ini` を以下のように書き換え、GTK3 の設定を変更します。[^4] [^5]

設定が反映されない場合はコンテナを再起動します。

```ini:settings.ini
[Settings]
gtk-application-prefer-dark-theme = 1
gtk-theme-name = Adwaita-dark
gtk-icon-theme-name = Adwaita-dark
```

参考に上記の設定をした場合としない場合の比較画像（ダイアログ）を載せておきます。因みに VSCode から開いたダイアログです。

- 設定前
![dialog_settings.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608268/ac841772-b8ef-190b-7187-45929092e104.png)
- 設定後
![dialog_settings_dark.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608268/caaeaf56-0ad7-1550-4651-84efd5bf3c7a.png)

## アイコンの修正

アイコンが正しく表示されていない場合は、以下の記事で解決方法を載せています。自分が試したときは `gnome-terminal` のアイコンが正しく表示されませんでした。
[Chromebook Crostini Linuxアプリのペンギンアイコンを修正する](https://qiita.com/mksh/items/91dbe67c7e2ef5b08847)

なお、Nautilus からファイルを開いた際にアイコン表示がうまく行かないアプリもあり、その点については操作上はそこまで問題ではない事もあり今の所未調査です。

# GNOME アプリの設定

あくまでより快適になるようなおすすめ設定であり、必須ではありません。

## nautilus おすすめ設定

nautilus（ファイルアプリ）の右上にあるハンバーガーメニューから「Preferences」をクリックし、設定画面を表示させ、以下のように設定します。あくまでおすすめ設定ですが、「フォルダをファイルより前に配置する」は最低限オンにしておいた方が使いやすいかなと思います。
![noutilus_setting01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608268/afaf0488-292c-f038-bc4a-8a61986ccb48.png)

## ファイラーのブックマーク設定

「[GTK3 の設定を変更](#gtk3-の設定を変更)」で変更した `settings.ini` と同じディレクトリにある `bookmarks` ファイルを編集し、nautilus やダイアログのサイドバーにブックマークを登録します。シェルスクリプトで環境を復元したい際にも使えるのかなと思っています。（Google ドライブや ChromeOS 上の'ファイル'の場合は別途マウントが必要です）

```plaintext:bookmarks
file:/// /
file:///mnt/chromeos/GoogleDrive/MyDrive
file:///mnt/chromeos/MyFiles/Downloads
```

## gedit おすすめ設定

gedit はファイル内容の確認でしか基本的には使わないと思う（思っている）ので、最低限設定しておくと良いかなと思う設定を載せておきます。なお、設定画面の開き方は nautilus と同様です。
![gedit_setting01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608268/3e133fa2-fb10-56e4-13ca-ac8fe0a3d530.png)

# 最後に

ある程度設定をするとその分快適になりますが、やはり完全に問題点がないとは言い切れません。今既知なのは、「[注意点](#注意点)」で書いたことに加え、Crostini 全般の注意点ではありますが、Google ドライブで作業している場合にスリープから復帰すると稀に保存ができないなど、環境構築後の使い方にも若干制限はあるかもしれません。そして記事の意図と反して、デスクトップ系の GUI は色々と面倒であることを再認識させられた点もありました。

それに正直なところ ChromeOS で対応できる部分、ChromeOS の良さをガン無視して若干無駄にソフトを入れている節はあります。でも Crostini 内でファイル閲覧も完結できることによって、より ChromeOS とは環境が切り離されるため、本当に別 OS が動いているんだなとより実感でき、個人的な感想になってしまいますが、より Chromebook や Linux、Debian を好きになることができた気がしました。

本当に、無駄にスペックを積まなくても素晴らしい働きをしてくれて満足しています！クラウド上で完結できることも増えていますが、日常使いや、簡単な開発機としての Linux PC としてもかなり良いのではないでしょうか？

**Chromebook 最高！**

分かりそうで分からないことも多かったので補足・修正等も大歓迎です！
最後まで読んでくださってありがとうございます！

# おまけ

## 他に気になっていること

- `gsettings` を利用してシェルスクリプト化できるかどうか
- KDE ベースのアプリも結構良いのがありそう
- GTK3 以外のツールキット（Qt や Java 等）での表示設定

## 副産物的に判明した事

- Nautilus の導入によって `garcon` という ChromeOS 側の Google Chrome を起動するコマンドが用意されている事が判明
![ChromeOS_Host_Browser.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/608268/a4d54c47-8e87-adce-8685-ff6892617628.png)

# 参考URL

- Nautilus について: 【Ubuntu】デフォルトのファイラー（Nautilus）のTips, https://www.milkmemo.com/entry/ubuntu_nautilus
- GNOME デスクトップアプリケーション一覧: https://help.gnome.org/users/
- GNOME ダークテーマに関して: How to change Nautilus background to black, https://www.paulligocki.com/how-to-change-nautilus-background-to-black/
- GNOME フォント設定に関して: How to Change System Text Font in Ubuntu / Debian / Fedora with Gnome, https://fostips.com/change-system-text-font-ubuntu-gnome/
- ダイアログへのテーマ適用に関して: Setting gtk2 and gtk3 theme via config file, https://coderwall.com/p/no3qfa/setting-gtk2-and-gtk3-theme-via-config-file

# 関連URL

https://wiki.gnome.org/

[^1]: 2021/07 現在、ゴミ箱機能は現在試験的に導入されているそうで、実際に使用できました（[Chromebookのローカルデータ用フォルダに「ゴミ箱」を追加する方法](https://chromenews.xyz/how-to-add-trash-to-chromebook-download-folder/)）

[^2]: Google Chrome から `file:///media/fuse/` へアクセスすることで、Crostini 内のデータも、ChromeOS 内のデータも、存在を確認するだけなら可能です。

[^3]: ファイラーだけなら、Clover という Chrome 拡張機能を入れることで Google Chrome で Windows のエクスプローラーのようにすることができるというような記事を発見し（[Chrome好きな人はCloverというWindowsファイラーソフトを使えば幸せになれそう](https://love-guava.com/clover-windows-chrome/)）、これを ChromeOS 側の Google Chrome に入れればとりあえず不満点は改善できるかな？と思いましたが、会社のアカウントを利用していることもあり、あまり拡張機能を入れたくなかったため候補から外しました。（未検証）

[^4]: `gnome-tweaks` で変更されるのは `gtk-application-prefer-dark-theme` のみで、ダイアログも同様にテーマを設定・変更したい場合は自分で設定ファイルを書き換える必要があります。

[^5]: `gtk-icon-theme-name` については Chromebook ではそもそも読み込まれない可能性もあるので必要ないかもしれません。（[Chromebook Crostini Linuxアプリのペンギンアイコンを修正する](https://qiita.com/mksh/items/91dbe67c7e2ef5b08847) 参照）