2021-03-30追記
こちらに、日本語環境からcode-serverの構築までの記事をまとめました。
よろしければこちらもどうぞ。
Chromebookでコードを書くときに、Crostini(ChromeOSのLinuxコンテナ)で、code-serverを立ち上げて、Chromeブラウザからアクセスすることで、スタンドアロンのVS-Codeのように使うのがとても相性がよいです。
興味ある人は 参考サイト 1 をどうぞ
自動起動が便利だったので設定メモ
Crostini を起動したときに自動的に開始するようにサービスに登録します。
起動コマンドを作る
# !/bin/bash
/usr/bin/code-server /home/[ユーザー名] --port=任意のポート番号 --config="/home/[ユーザー名]/.config/code-server/config.yaml"
- コマンド含めてフルパスで指定
- 初期ディレクトリはとりあえずホームを指定しましたが他のでも良いと思います。
- 任意のポートは指定しなければデフォルトのになります(8080)
-
--configは設定ファイルの位置。初回起動したときに作られていると思います。
ポート: 8081 ユーザー名: myname だとしたら
# !/bin/bash
/usr/bin/code-server /home/myname --port=8081 --config="/home/myname/.config/code-server/config.yaml"
作ったら実行権限を付与
$ sudo chmod +x /opt/code-server.sh
サービスを作る
[Unit]
Description = code-server daemon
[Service]
ExecStart = /opt/code-server.sh
Restart = always
Type = simple
User = [ユーザー名]
Group = [ユーザーグループ名]
[Install]
WantedBy = multi-user.target
-
UserとGroupはユーザー名で良いと思います。これを設定しないとcode-server内でターミナルを開いたときにrootユーザーで開いてしまい色々不便です。
サービスの起動
systemctl start code-server
systemctl enable code-server
停めたくなったら。
systemctl stop code-server
systemctl disable code-server
(※)あくまでChromebook内でお手軽&ローカルに使うことを前提としていますので、公開サーバでやるときは、ちゃんとした設定が必要です!
使った感想をメモ
よかったところ
- 日本語入力:通常ChromebookでLinux版VS-Codeを使うと、日本語入力もLinuxのMozcなどに頼ることになりますが、code-serverならChromeOSのデフォルトの日本語入力が使えます。地味に嬉しいです。
- 画面:PWAとしてインストールすることでデスクトップアプリのように動きます。Chromeブラウザでの表示なので、ディスプレイ環境によってはLinux版よりも解像度がきれいに表示されて見やすいです。
よくないところ
- 拡張機能が少ない:公式のVS-Codeよりも拡張機能が無い/古いです。ただ、やリ方はあるみたいで、リモートサーバー上でvscodeを動かしてブラウザからアクセスする ―code-serverのススメでいろいろ学べるのでいろいろチャレンジしてみたい。
- キーバインド:キーボードショートカットの設定ができるんですが、ChromeOSのキーバインドに邪魔されたりしてちょっと大変です。使い心地よくなるまで地道に設定していくしかないかな。
- 設定の反映:PWAだからなのか、キーバインドの設定画面で、新しいキーを登録してもすぐに画面に反映されず再起動が必要なことがありました。PWAだから画面キャッシュみたいのが効いているのかな。(ただ、画面の再読み込みするだけなのでそれほど気になりません)
いろいろ不便はありますが、自分は拡張機能とかをあまり入れない派なので、いまのところ快適に使えています。
参考
以下の記事を参考にしました。ありがとうございました。
code-server関連の情報をいただいた参考サイトです。
- 本家リポジトリ
- Chromebookには、VS Code より code-server がオススメ
- リモートサーバー上でvscodeを動かしてブラウザからアクセスする ―code-serverのススメ
- ブラウザ上でVScodeが使えるcode-serverを試してみる
Linuxのサービスについて
- (systemdの.serviceファイルで、実行ユーザーを指定する)[https://qiita.com/todanano/items/f66f1a3ad76f76de0772]
-
↑に参考サイトに非常に詳しく書いてあります ↩