Google I/O 2018で発表された「Chrome OSでのLinuxのサポート」。ビットコインで買ってきたボクのASUS Chromebook Flip C101PAでもバージョン:69.0.3473.0(Official Build) dev (32ビット)からLinuxが使えるようになりました。
これまでもChromebookにLinuxをインストールする方法はありましたが、それらはChrome OSのセキュリティをスポイルしてしまうものでした。しかし、今回の公式対応(Project Crostini)はその心配はないようです。せっかくLinuxが動くようになったので記念にVisual Studio Codeを起動させてみました。手順をメモしておきます。誰かの何かの参考になれば幸いです。
注意
- 執筆時点ではC101PAをDevチャンネル(不安定な環境)にする必要があります。
- Linux自体も不安定でいきなり落ちるし、VS Codeもとりあえず起動しただけ。現時点かつこのメモの手順だけでは実用には程遠いです。
2018-11-07 追記
現在はStableチャンネル(安定版)でLinuxが動作します。また、「Chromebook C101PAでVSCodeを使う。(Crostini使用) - たねやつの木」にてビルド済みパッケージ、インストール、日本語入力などが紹介されています。この手順なら本格的に使えるようになるはず。この記事より実用的なのでぜひご覧くださいませ。ちなみにボクの手元にはもうC101PAがないのです...
C101PAをDevチャンネルに変更する
本記事執筆時点ではC101PAでLinuxを利用するには「Devチャンネル」に変更する必要があります。Devチャンネルは「新機能をいち早く公開することを優先しているので、不具合が発生することもあります。」とあるように一般の利用者が日常的に使うことを想定したものではありません。また、DevチャンネルからBataチャンネルもしくはStableチャンネルに戻すときにはPowerwash(データ全消し)が必要になることにも注意が必要です。チャンネルの切り替えについてはStable、Beta、Dev チャンネルを切り替える - Chromebookヘルプをご覧ください。
Linuxを使えるようにする
Linuxが使えるバージョンになると「設定」に「Linux(ベータ版)」が表示されます。「オンにする」をクリック。
「Error installing Linux... The Linux container didn't start.Please try agein.」と表示されますが無視して「キャンセル」をクリック。
ランチャーに「Terminal」が追加されているのでクリック。初回起動時は10分程度待ちました。
uname -aの結果はこんなん
1 |
Linux penguin 4.14.43-05062-g1048e72698de #1 SMP PREEMPT Thu May 31 11:14:21 PDT 2018 aarch64 GNU/Linux |
とりあえずNyancat
1 2 |
sudo apt install nyancat nyancat |
そしてテトリスクローン
1 2 |
sudo apt install bastet bastet |
VS Codeをソースからビルドして起動する
さて、本題。Running VS Code on Linux - Visual Studio Codeの手順でインストールできるのはamd64(intel 64)アーキテクチャのみ。C101PAに搭載されたOP1はARM系のCPU。arm64アーキテクチャなのでソースからビルドが必要です。ARM系のCPUを搭載したNVIDIA Jetson TX2向けにビルドしているフォーラムのやりとりを参考にビルドしていきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
#執筆時点でとりあ動いたよメモです。上手く行かないときはエラーをググる、対処する、もう一度試すの繰り返しです。 #必要なもの諸々をインストール sudo apt install git libx11-dev libxkbfile-dev libsecret-1-dev fakeroot rpm libnss3 apt-transport-https wget gnupg2 gedit build-essential libgconf-2-4 #node.js wget https://deb.nodesource.com/setup_8.x sudo bash setup_8.x sudo apt-get install -y nodejs nodejs -v #v8.11.3 #yarn wget https://dl.yarnpkg.com/debian/pubkey.gpg sudo apt-key add pubkey.gpg echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list sudo apt update sudo apt install yarn yarn --version #1.7.0 #clone code and install git clone https://github.com/microsoft/vscode cd vscode gedit package.json #テキストエディタが立ち上がるので以下を変更してSave #エディタはなんでも構いません。 "electron-mksnapshot": "~2.0.0", "gulp-atom-electron": "^1.17.0", gedit test/smoke/package.json #以下を変更してSave "electron":"2.0.0", yarn vi ./node_modules/gulp-atom-electron/src/download.js # code.shを実行するとelectron-v1.7.12-linux-arm64.zip/ffmpeg-v1.7.12-linux-arm64.zipを探しに行ってコケるので強制的にバージョン指定 # 65行目のvar version = 'v' + opts.vesion;を以下に書き換え var version = 'v2.0.0'; vi ./product.json #Extensionsを使えるようにするために、./product.jsonに以下を追加 "extensionsGallery": { "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery", "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index", "itemUrl": "https://marketplace.visualstudio.com/items" } #起動 ./scripts/code.sh #しばらくまっても起動しないのでChromebookを再起動。 #次はウィンドウは表示されるが操作を受け付けない。 #npm rebiuld #は最終的には失敗するけどもう一度起動すると...OK。 #./script/code.sh #日本語入力ができない...その前に操作していると落ちるのでとりあえずここまで。あとは誰か...頼む... #参考 #日本語フォントを追加 #sudo apt install fonts-noto #VS Code->User Settingsで以下を追加 #"editor.fontFamily":"Noto Sans CJK JP" |
なんとか起動しました。日本語入力できないし動作も不安定ですが、スクロールや入力といった基本操作にもたつきはありません。
ごちゃごちゃといじった後ではありますが結構ストレージを消費します(ホームディレクトリ以下はvscode 1.3GBを含む2.2GB使っています)。「ファイル」からLinuxのホームディレクトリに簡単にアクセスできるのは良いですね。
以上、タイトル通り"とりあえず起動した"レベルですがメモを残しておきます。VS CodeやAtomが安定して動けばChrome OS上の定番テキストエディタ/Markdownエディタにもなり得るので期待が膨らみます。
ちなみに...Google I/O 2016では「Chrome OSでのAndroidアプリのサポート」が発表されました。それから2年経ちAndroidアプリはChromebookで"たしかに"動いています。電子書籍アプリの「Kindle」(Google Play)や二段階認証コード管理アプリの「Authy」(Google Play)などはボクも便利に使っています。しかし、ファイルの扱いが面倒だったり、エディタアプリを使っているときにCtrl+wで確認なしにアプリが終了したりと"中途半端"と言わざるを得ません。
Linuxが動くChromebookも徐々に増えていくようですが、Androidアプリと同じように中途半端にならないといいなぁ。