【#ChromeOS】Chromebookを Crostini(Linuxコンテナ)を使って Go言語 / Visual Studio Code の開発環境としてセットアップする #Chromebook #Go言語 #golang #golangjp #VSCode #環境構築


Chromebook(ASUS Chromebook Flip C101PA)をGo言語などの開発環境として使用するために Visual Studio Code などをセットアップした際の手順を自分用のメモとしてまとめました。

環境情報

OS/ソフトウェア バージョン 入手元
ChromeOS バージョン: 75.0.3770.129(Official Build) (32 ビット) Google
Visual Studio Code 1.32.0 https://code.headmelted.com/
mozc(fcitx-mozc) 2.23.2815.102 -
go 1.11.6 -

1. Crostini(Linuxコンテナ)の有効化

Crostini は ChromeOS で Linux アプリケーションを簡単に使えるようにする機能/プロジェクトの総称です。
実体は Linuxコンテナ(lxc) です。まずは、この Crositini を有効化します。

□手順 1-1: ランチャーから設定アプリケーションを起動します

□手順 1-2: Linux(ベータ版)オンにするボタンをクリックします

□手順 1-3: インストールボタンをクリックします

□手順 1-4: ターミナルが起動されれば成功です

□手順 1-5: sources.list に Debian JP Project のミラーサイトURLを追記します

$ sudo vi /etc/apt/sources.list
/etc/apt/sources.list
deb http://ftp.jp.debian.org/debian stretch main contrib non-free #追記
deb http://ftp.jp.debian.org/debian stretch-updates main contrib non-free #追記
deb https://deb.debian.org/debian stretch main
deb https://deb/debian.org/debian-security stretch/updates main

□手順 1-6: 次のコマンドを実行しLinuxコンテナを最新バージョンにアップグレードしておきます

$ sudo apt clean
$ sudo apt update
$ sudo apt full-upgrade -y

参考: 1'.Linuxコンテナ(lxc)にrootユーザーでログインする方法

起動したLinuxコンテナ(lxc)には次の手順でrootユーザーでログイン可能です

□手順 1'-1: ctrl + alt + Tcroshを起動します

□手順 1'-2: termina仮想マシンに接続します

$ vsh termina

□手順 1'-3: penguinコンテナに接続します

$ lxc exec penguin -- bash

2. Visual Studio Code(VS Code)のインストール

ASUS Chromebook Flip C101PA は ARMアーキテクチャーベースのプロセッサを搭載しています。

有志のコミュニティが下記サイトにて Visual Studio Code ビルド済みの debファイル を公開してくれているため今回これを利用します。

■Community builds of Visual Studio Code for Chromebooks, Raspberry Pi and other ARM and Intel systems
https://code.headmelted.com/

□手順 2-1: ランチャーからターミナルを起動します

□手順 2-2: debパッケージファイルwgetでダウンロードします

$ wget https://github.com/headmelted/codebuilds/releases/download/20-Feb-19/code-oss_1.32.0-1550644676_arm64.deb

□手順 2-3: ダウンロードしたdebパッケージファイルaptを使ってインストールします

$ sudo apt install ./code-oss_1.32.0-1550644676_arm64.deb -y

□手順 2-4: 不要になったdebパッケージファイルを削除します

$ rm -i ./code-oss_1.32.0-1550644676_arm64.deb

3. mozc(fcitx-mozc)のインストール

このままでは日本語が使用できないためmozc(fcitx-mozc)をインストールします。

mozc(fcitx-mozc)についてDebian GNU/Linux 9 (「stretch」リリース)のバイナリが公開されていない状況であるため代わりにDebian GNU/Linux 10(「buster」リリース)のバイナリを使用します。

□手順 3-1: デフォルトリリースを stretch リリースであることを明示的に設定します

$ sudo tee -a /etc/apt/apt.conf.d/99target <<EOF
APT::Default-Release "stretch"; 
EOF

□手順 3-2: その上で buster リリースのソースリストも sources.list に追記しパッケージ情報の更新を行います

$ sudo tee -a /etc/apt/sources.list <<EOF
deb http://ftp.jp.debian.org/debian buster main contrib non-free
deb http://ftp.jp.debian.org/debian buster-updates main contrib
EOF

$ sudo apt clean
$ sudo apt update

□手順 3-3: fcitx-mozc をインストールします

$ sudo apt install fcitx-mozc/buster -y

□手順 3-4: 日本語フォント fonts-noto をインストールします

$ sudo apt install fonts-noto -y

□手順 3-5: fcitx を起動します

$ fcitx-autostart

□手順 3-6: fcitx の設定画面を起動します

$ fcitx-configtool

□手順 3-7: Input Methodにて+ボタンをクリックします

□手順 3-8: Only Show Current Languageチェックボックスのチェックを外した後、検索ボックスにMozcと入力、Mozcを選択後、OKボタンをクリックします

□手順 3-9: AppearanceにてFontMenu Fontの値をNoto Sans CJK JP Regularに変更し右上のボタンでウィンドウを閉じます

□手順 3-10: .bashrcを編集しfcitxが自動起動するように設定します

$ echo "fcitx-autostart > /dev/null 2>&1" >> .bashrc

4. Visual Studio Code 日本語化

□手順 4-1: ランチャーからvscodeと検索するとCode - OSS (headmelted)が表示されるのでこれを起動します

□手順 4-2: 画面左のExtentionアイコンをクリックします

□手順 4-3: Japaneseで検索して出て来るJapanese Language Pack for Visual Studio Codeエクステンションをインストールします

□手順 4-4: 画面右下に再起動を確認する通知が表示されたらYesボタンをクリックしてVisual Studio Code(vscode)を再起動します

□手順 4-5: Visual Studio Code(vscode)再起動後、日本語化されたことを確認します

5. go のインストール

□手順 5-1: ランチャーからターミナルを起動します

□手順 5-2: golang-1.11パッケージをインストールします

$ sudo apt install golang-1.11 -y

□手順 5-3: Go言語に関する各種環境変数の設定を~/.bash_profileに追記します

$ vi ~/.bash_profile
~/.bash_profile
# golang
export GOROOT=/usr/lib/go-1.11
export GOPATH=$HOME/gocode
export PATH=$GOROOT/bin:$GOPATH/bin:$PATH

□手順 5-4: ~/.bash_profileの内容を読み込みます

$ source ~/.bash_profile

□手順 5-5: $GOPATH/srcディレクトリを作成します

$ mkdir -p $GOPATH/src

□手順 5-6: go versionコマンドで正常にGoがインストールされてパスが通っていることを確認します

$ go version
go version go1.11.6 linux/arm64

□手順 5-7: ランチャーからVisual Studio Code(vscode)を起動します

□手順 5-8: 画面左のExtentionアイコンをクリックします

□手順 5-9: Goエクステンションをインストールします

□手順 5-10: ファイルメニューからNew Fileを選択し新規ファイルを作成します

□手順 5-11: ファイルメニューからSave As...を選択し任意のフォルダ(例:$GOPATH/src/)にtest.goという名前でファイルを保存します

□手順 5-12: 画面右下にGo analysis toolをインストールする旨の通知が表示されるのでInstall Allボタンをクリックします

dlvのみインストールに失敗してしまいますが以上で終了です

Installing github.com/uudashr/gopkgs/cmd/gopkgs SUCCEEDED
Installing github.com/ramya-rao-a/go-outline SUCCEEDED
Installing github.com/acroca/go-symbols SUCCEEDED
Installing golang.org/x/tools/cmd/guru SUCCEEDED
Installing golang.org/x/tools/cmd/gorename SUCCEEDED
Installing github.com/go-delve/delve/cmd/dlv FAILED
Installing github.com/stamblerre/gocode SUCCEEDED
Installing github.com/rogpeppe/godef SUCCEEDED
Installing github.com/sqs/goreturns SUCCEEDED
Installing golang.org/x/lint/golint SUCCEEDED

1 tools failed to install.

dlv:
Error: Command failed: /usr/lib/go-1.11/bin/go get -u -v github.com/go-delve/delve/cmd/dlv
github.com/go-delve/delve (download)
github.com/go-delve/delve/pkg/proc
# github.com/go-delve/delve/pkg/proc
gocode/src/github.com/go-delve/delve/pkg/proc/disasm.go:12:14: undefined: archInst
github.com/go-delve/delve (download)
github.com/go-delve/delve/pkg/proc
# github.com/go-delve/delve/pkg/proc
gocode/src/github.com/go-delve/delve/pkg/proc/disasm.go:12:14: undefined: archInst

以上、Chromebook(ASUS Chromebook Flip C101PA)をGo言語などの開発環境として使用するために Visual Studio Code などをセットアップした際の手順でした。