概要
ひょんなことから chromebook 衝動買いしました。
買ったのは、ASUSのC101PAというやつ。安いし小さくて軽いし、いいです。
最近、Googleから今後すべてのchromebookがlinux対応するというニュースがありました。
安いし、サクサク動くし、linuxとandroidアプリが動くなんて最高やんって感じで、linux対応してGoの環境をちょっと設定してみました。
linux(ベータ版)をオンにする
これも昔は、デベロッパーモードっていうのに移行して、その後に設定しないといけないものだったみたいですね。
最近のchromebookだと、デフォルトで「設定」開くと、「Linux (ベータ版)」って項目がありました。
これをONにするだけです。ONにすると、ダウンロードが始まってちょっとまったらターミナルが起動します。
これで後は好きにいじるだけです。
OSの確認
まずは、OSの確認
$ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 9 (stretch)" NAME="Debian GNU/Linux" VERSION_ID="9" VERSION="9 (stretch)" VERSION_CODENAME=stretch ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/"
もしくは
$ sudo apt install lsb-release $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 9.11 (stretch) Release: 9.11 Codename: stretch
debian 9 ですね。今のdebianの最新は 10 (buster) なので一つ前。 なので、パッケージ管理は apt
を使うことになりますね。
まあ、特に問題なしなんですが、vim-go使いたい場合は、これだとバージョンがちょっと古すぎてエラーでたりします。
現在(2019-11-08)の安定版である 10 (buster) にアップグレードする場合は、以下を参照ください。
パッケージを最新に更新
まずは、今入ってるパッケージ達を最新に
$ sudo apt clean
$ sudo apt update
$ sudo apt full-upgrade -y
ちょっと時間かかります。
gccとかをインストール
ここは、純粋にGoだけで遊ぶ場合は必要ないかもしれません。個人的にgccとmakeがないと不安なので入れます。
$ sudo apt install build-essential -y
$ sudo apt install exuberant-ctags
Goのダウンロード
私のchromebook(ASUS C101PA) のCPUはARMです。なので、Goのサイトでダウンロードできるリストにあるかを確認。
無かった場合は、ソースからインストールするか、aptの方にgo1.11はあったのでそれを使うかですね。
サイトのダウンロードリストみたら、arm64があったので、それを使いました。
$ wget https://dl.google.com/go/go1.13.4.linux-arm64.tar.gz $ tar zxf go1.13.4.linux-arm64.tar.gz $ sudo mv go /usr/local
GOの環境変数を設定
今のGoだと設定してなくても動くと思うのですが、どのみち シェルの設定ファイル にパスは追加する必要があるので、ついでに追加。
以下の3行を設定ファイルに追加。
export GOROOT=/usr/local/go export GOPATH=${HOME}/go export PATH=${GOROOT}/bin:${GOPATH}/bin:${PATH}
設定ファイルを読み込み直して、試してみます。
$ go version go version go1.13.4 linux/arm64
うん。オッケーですね。
go get で使うツール郡をダウンロード
この辺は個人の好みですね。私は以下のものをよく使うので go get しました。
$ go get -u golang.org/x/tools/cmd/goimports $ go get -u golang.org/x/tools/cmd/godoc $ go get -u golang.org/x/tools/cmd/gomvpkg $ go get -u golang.org/x/tools/cmd/gorename $ go get -u golang.org/x/tools/cmd/stringer $ go get -u golang.org/x/tools/cmd/cover $ go get -u golang.org/x/lint/golint $ go get -u golang.org/x/tools/cmd/guru $ go get -u github.com/jstemmer/gotags
git の設定
どのみち、gitは絶対使うので設定。
$ git config --global user.email "xxx@xxx.com" $ git config --global user.name "xxx"
日本語の設定
ターミナルだと普通に打てますね。vimを開いているときは少し変な挙動になりますが、打てないこともない。
ネットで情報を探すと、皆さん Fcitx-mozc とか をインストールされているみたいです。
私は、これがメインマシンでもないので日本語が使えなくても特に問題ないと判断して何もしてません。
Visual Studio Code は?
いろいろな方が VSCode を入れるための記事書いてくださっています。
私は元々 vim 使っていた人間なので、入れていません。
vim で ctrl-[ してもノーマルモードに戻らない
普段、Esc押す代わりに Ctrl-[ でノーマルモードに戻っていたのですが、これが効かない。。
と思ったら、Ctrl-@ でノーマルモードに戻れました。忘れないようにメモメモ。
rootアカウントでログイン
一応、rootアカウントでのログインも以下にメモメモ。使うことほぼないですが。
まず、Ctrl+Alt+Tでcrosh
という chrome os developer shell を起動します。ブラウザにターミナルが表示されます。
その後、以下を入力。
$ vsh termina $ lxc exec penguin -- bash
これでルートアカウントでコンテナのターミナルが表示できます。
大体こんな感じでちょこっと設定しました。普通に go 使える環境になったので、とりあえずこれで良しです。
ちゃんと作りたい場合とかがあったら、mac使うか github でリポジトリ作って Gitpod で開発でもいいですしね。
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。
- いろいろ備忘録日記サンプルソース置き場