Crostini を試してみた

はじめに

ChromeOS 69 から crostini が Stable チャンネルに入りました!!!
crostini とは、 linux のアプリケーションを ChromeOS 上で動かす技術です。 Linux apps などとも呼ばれているようです。
Google I/O では Android Studio を動かしたそうです。

実は以前より crouton というサードパーテイー製のツールにより linux を動かすことはできたのですが、色々と問題がありました。

  1. OS の保護を外す、 crouton を入れる、など手間がかかる。
  2. X を使う際は C-A-F1(戻るキー) で画面を切り替える必要がある。厄介なことに X のままだと sleep が効かず、うっかり X のまま画面を閉じてしまいバッテリーが上がっている、なんてことも私はありました。
  3. ChromeCast で X の画面が表示されない
  4. 超個人的な理由なのですが、私の環境では最近 X にすると画面表示が崩れる様になってしまった…

これまでは crostini は Developer Channel にする必要があり、自分が使うのはともかくちょっと人には勧めにくいなぁ思っていたのですが、ついに Stable で対応です!
ということで、最低限の生活環境は構築できそうか試してみました -> なんだか行けそうな予感です!

Linux のアプリが動くのって嬉しいの?

開発者の方であれば、様々なプログラミング言語が使える・いわゆる LAMP 環境が手元で試せる・最近流行りの Python による機械学習が試せる、など手元に linux 環境がある魅力は感じられるのではないでしょうか?また、クラウド環境に ssh で接続できることに魅力を感じる方もいらっしゃるかもしれません。

開発以外でも、これまで ChromeOS が弱いとされていた画像処理や音声処理に gimp などオープンソースの有名アプリが使えるようになります。

環境

ASUS Flip c101pa

Cronstini を有効にする手順

  1. Stable Channel に戻す (Dev 版にしていない人は不要です)
    1. 設定 > 左上の「三」 -> Chrome OS について > 「ビルド情報の詳細」から Stable Channel に戻します
    2. 再起動します。 Powerwash されるのでデータが消えます。ご注意。
    3. OS 保護を無効にしていたのでそちらも戻します。
  2. Crostini を有効にする
    1. 設定 > 左上の「三」-> Linux(ベータ版) を選択。
      「Chromebook で Linux のツール、エディタ、IDEを実行します」をオンにします。
    2. ダウンロードが始まります。20 分位かかったと記憶しています(もちろん環境によるので参考にならない数字ですが)
    3. 勝手にコンソールが立ち上がります。
    4. uname -a は以下の通り。
      pic1
 

生活環境を作る

私が日常良く使う Emacs と python をセットアップします。

Emacs

$ sudo apt-get install emacs25 # 25 を指定しないと 24 が入ります$ sudo apt-get install anything-el
anything-el を入れようとすると怪しげなメッセージがでますが動きました
ERROR: anything-el is broken – called emacs-package-install as a new-style add-on, but has no compat file.

 

$ sudo apt-get install cmigemo

$ sudo apt-get install language-pack-ja
$ sudo apt-get install fonts-ipafont

# 私は設定ファイルを git 管理しているので取ってきます
$ git clone …
$ ln -s emacs.d .emacs.d

# ChromeOS の日本語入力だと表示が崩れたので emacs で直接日本語入力します。
# emacs-mozc が apt になかったのでとりあえず anthy-el にます
$ sudo apt-get install anthy anthy-el

# 以下を .emacs に設定. C-\ で toggle できます。
# (load-library “anthy”)
# (setq default-input-method ‘japanese-anthy)

$ emacs

  • あとは initializer がセットアップしてくれます。とりあえずいつものパッケージは動きました。
  • いつもの、は挙げだすと切りがないので省略します。
  • 正確な時間を記録していなかったので体感になりますが、パッケージ読み込みが多いので crouton では起動はやや時間がかかっていたのですが早くなった印象です。
  • menu-bar, tool-bar は普段は表示しないのですがないとなんのアプリかわからないので本日限り公開です。
    pic2
 

python

  1. python は確かデフォルトで入っていたので ipython/numpy/sklearn を入れます。
  2. crouton では scipy のインストールに苦戦していたのですがあっさりインストールできました。

    $ apt-get install ipython python-sklearn

  3. インストールはできても動かない…というケースもあるのでとりあえず PCA してみました。エラーは出ませんでした。
    pic3
  4. matplotlib によるグラフの表示や、 OpenCV による画像の表示もできました。

crostini で作成したファイル

crostini で作成したファイルは ChromeOS のファイル(エクスプローラー)の左側のタブから選択することができます。 この辺も crouton より楽ですね。

pic4

終わりに

まだ構築してちょっと動かしてみたレベルで普段使いはしていないので、機会があればまた使い勝手等報告したいと思います。