とうとうChromiumOSに手を出してしまった!(その2:Linux導入編)

基本的にやりたい放題です。だって、もとのマシンがジャンクですから(笑)。

概要

そもそも「開発サブ機」という扱い

ChromiumOSをインストールしたマシンについての顛末は次のとおりですが、 ※リンク 普段は自宅で仕事をしていて、Webで完結する仕事はChromebox(メールやSaaSの設定などが該当します)、Windowsでしかできない仕事はWindowsデスクトップ(VBA開発が相当します)、それ以外の開発はMac、とだいたい使うマシンが決まっているのですが、出張であったり旅行であったりの出先で何かしたいときに、WindowsマシンでMac用の開発ができないことがあります。例えばFlutterアプリ開発の場合、ファイルはgitでリモートサーバーに最新版を入れてあるのでそこから引き出せばいいのですが、WindowsMacで、ディレクトリの使い方が異なるようでいろいろと余計なファイルができてしまっているようで、精神衛生上イマイチ*1

croutonによるLinuxの導入計画(失敗)

2代目ChromebookであるASUS C300MAには実はcroutonを導入してありました。ただし、ディスク容量の関係でLinux環境はすべてSDカードに入れていたのでとてつもなく動きが重く、実用に耐えるレベルではありませんでした。どちらかというと緊急避難的なイメージでしたが、使い勝手はそこそこでしたので、今回も「まずは導入してみましょう」とcrouton開発者のサイトに行ってみたわけですが。

github.com

「croutonがなんか変わってしまった」という印象を受けます。README.mdもなんか歯切れが悪いですし。そういえば(READMEにも書いてあるんですが)ChromeOSは2018年に正式にLinux対応(というかLinuxをChromeOSの中で動かすことができるような仕組み提供)をしたんですよね。crostini、と言うんですか。デアゴスティーニみたい。

Linuxを直接インストールできた

インストール方法は「設定」から数クリックでできるとのこと、ダメ元でcloudready版ChromiumOSの設定画面を見ると、

まさかのLinuxインストールが可能になっている!!

インストールできてしまいました。この辺(crostini)の詳しい話はこの辺のが詳しいです。

jp.techcrunch.com

www.youtube.com

(ちなみにYoutubeリンクは2019年のGoogle I/Oでの説明。この下書きはその動画を見ながら書いています。) インストールボタンを押すと、「Linuxコンテナを起動」と書いてあるので、ITエンジニア的理解で解釈をするなら、ChromiumOSでコンテナを起動させ、コンテナでLinuxを起動させる、ということなのか。DockerというよりはVagrantに近いイメージというか、Linuxのアプリがアイコンで起動できるという感じらしいのでもっとVDI的というかVirtual Appsというか*2

有線LANに接続してさくっとインストール完了

インストールボタンを押してしばらく経っても動かない、というかフリーズをしているような雰囲気。どうやらメモリ不足も影響しているっぽいのですが、一度キャンセルしてマシンを再起動、有線LAN接続後にもう一度インストールしたらさくっと終わり。インストール完了後にターミナルが出てくるのはWSLに似てる感じだなぁ、と。このLinuxディストロがDebianだ、ということを覚えておかないとたまに調べものとかで躓く可能性はあるかもしれないですね。

まずWSLの導入時にも躓いた「どうすればいい?」を解決する

racchie.hatenablog.com

この投稿でも書いたのですが、インストールできたのはいいが使い方(活用方法)がわからない、という状態になります。とはいえ、もともと考えていたことは「このマシンを開発サブマシンにする」ことですから、『開発環境』を粛々とインストールすればいいわけです。ざっくり書けば、 • git • dart • flutter sdkAndroid Studio*3 • VisualStudio Code(ちょっとしたエディタ代わりに)

あたりがまず基本で入っていて、あとは、 • go(lang) • python/jupyter notebook • docker/kubernetes • nodejs/npm • ungit なんかがインストールできたらいいなぁ、という妄想をすればいいんじゃないでしょうか。

粛々と

git

流石に最初からインストールされてました。

スマホアプリ開発

Android Studio...ダウンロードして展開。有線LANが無いとSDKとかのインストールに時間がかかる • flutter SDK...同じくダウンロードして展開する。

その他

随時入れてみます。最低限必要なのはAndroid StudioとFlutter/Dartですので、インストールが終わった時点でとりあえず一安心。 それ以外も随時入れてみて、という感じになりそうですね。

*1:以前1回だけ自宅のローカルリポジトリを使って、Macで作ったコードをWindowsで開いてみたのですが、パスの変更やらなんやらでコードが書き換わり、またMacに戻って書き換えられて、という経験をして、それ以来「そういうのはやったらイケナイことなんだな」と刷り込まれています。

*2:詳しく調べてみると、まさにコンテナを使ったVirtual Appの仕組み。仮想化ってちょっと見ない間にずいぶん進化してるなぁ、と。

*3:IntelliJ IDEAでもいいかな、と一瞬思いましたが、スマホアプリがメインなのでまぁAndroid Studioで用が足ります。