Chrombook C101PAにVisual Studio Codeをインストールしてみる

##目標
まっさらなChromeOSにVisual Studio Codeの日本語入力環境を構築する

Linux初心者です。Amazonから届いたAsus C101PAでとにかくVisual Studio Codeを動かす事のみに目標を定めて、なんとか日本語入力できるまでにした手順です。(2019/07/13時点)
##参考にさせていただいたページ

- [Chromebook C101PAでVSCodeを使う。](https://www.taneyats.com/entry/vscode-on-c101pa)
- [C101PAにVS Codeをインストールする](https://qiita.com/iNaoki04/items/01fc0d5ecdbdc81df56c)
- [ChromeBookでVisual Studio Codeを設置](https://qiita.com/XeO3/items/1414f8091861f720943a)
- [Chrome OS（Chromium OS）にVisual Studio Codeをインストールしてみた](https://uepon.hatenadiary.com/entry/2019/02/03/192956)


##準備

- ChromeOSのバージョン
  - バージョン: 75.0.3770.129（Official Build） （32 ビット）
   
- Linux(ベータ版)のセットアップ
  - ChomeOS画面右下の時間が表示されている所をクリックし、表示された小画面の上部の歯車アイコンをクリック or ChomeOS画面左下「○」をクリックしてランチャーの中の「設定」をクリック 
  - 表示された「設定」ウィンドウの左上の横三本線をクリック
  - 上から10個目　ペンギンアイコンのLinux (ベータ版)をクリック
  - 「オンにする」(だったはず)をクリック
  - インストールがスタートして5分くらいで終了
  - ターミナルが自動で表示されます
  
- ChromeBookメモ
  - Chrome OSの右クリックは日本指でクリックorタップ
  - Deleteボタンが無いので、前方削除は alt+←キー
  
##apt-getのアップデート&アップグレード

Linux(ベータ版)はDebian系のディストリビューションらしく、APT（Advanced Package Tool）のパッケージ管理や操作をするコマンドらしい

  - ターミナル画面の初期表示は「ユーザー名@penguin:~$」となっており、現在地がホームという事らしい
  - ここに戻りたい場合は「cd #」で戻ってこれる
  - ここで以下のコマンドを1行ずつ実行します。
  - 「-y」は実行中にyes/noを聞かれた時にyesで続行させるオプションらしい(参考:IT専科)
    - http://www.itsenka.com/contents/development/unix-linux/apt-get.html
        
  - 「sudo」を先頭につける事でユーザ権限を変更、この場合スーパーユーザーとして「sudo」以降のコマンドを実行する事になる、らしい
  
```
$ sudo apt-get update
$ sudo apt-get -y upgrade
$ sudo apt-get dist-upgrade
```

##日本語入力のためのfcitx-mozcをインストール
  - fcitxはインプットメソッドフレームワークで、その上でgoogle日本語入力のOSSであるところのmozcが動いている
  - Chromebook C101PAのCPUは"arm64"という形式らしく、それ用のものを入れる必要がある
  - /etc/apt/sources.list に1行追加
    - デフォルトでLinuxに入っているエディタvimを使う事になるが、Windowユーザーにとっては鬼門ともいうエディタである
  - とにかくvimで編集

```
sudo vim /etc/apt/sources.list
```

  - sources.listの中身は2行しかない
  - 3行目にarm64用のfcitxのある場所を指定する行を追加します。

```sources.list
deb https://deb.debian.org/debian stretch main
deb https://deb.debian.org/debian-security stretch/updates main
```

  - 追加する内容は以下のサイトで好きな場所を選んでファイルに追加する
      - https://packages.debian.org/buster/arm64/fcitx-mozc/download
  - 私の場合は、「deb http://ftp.jp.debian.org/debian buster main」を追加した

  - vimの操作
    - vi、vimの起動時はコマンドモードなので入力状態になってません
    - カーソルを矢印キー↓で2行目に移動
    - 小文字「o」を押下　カーソルのある行の下に挿入するコマンドキーです
    - これで3行目にカーソル移動し入力モード状態になります
    - typoしないように、真剣に上記の「deb ...」を入力
    - 「esc」キーを押下して入力モードを抜けます
    - 今、コマンドモードです。「:wq」とキーを打つと画面左下に「:wq」と表示されたのを確認してエンターキー押下で保存終了
    - 文字を打ち間違えて慌てて、もうダメ　となった場合は、おちついて「esc」キーを押下。「:q!」を入力してエンターで強制終了。何もかも無かった事にできます。
    - 正しく1行追加されたか確認する場合は「cat」コマンドで確認できます。
    - ちなみに、コピー&ペーストしなかったのは、やり方がわからなかったからです。。。

```
cat /etc/apt/sources.list
```

  - 上記で追加した場所からパッケージリストを取得するために、もう一度「apt-get update」をします。

```
$ sudo apt-get update
```

  - これでインストール準備ができた事になるようです
  - 以下のコマンドを1行ずつ実行していきます
  - 途中でyes/noを聞かれても、とりあえず「y (yes)」でOK

```
$ sudo apt-get install fcitx
$ sudo apt-get install -y fcitx-mozc
$ sudo apt-get install fcitx-lib*
```

  - 終わったら以下のバージョン確認コマンドを実行して、バージョンが表示されたら成功です

```
$ fcitx -v
```

  - IMEの設定をfcitxにするため以下のコマンドを実行します

```
$ im-config
```

  - 画面が表示されたら「OK」→「YES」→で選択画面が現れるのでfcitxを選択して「OK」→「OK」で終了です
  - 次に日本語フォントをインストールします

```
$ sudo apt-get install fonts-noto
```

  - ここまでで基本はOKです。
  - 念の為、思い出したようにPCを再起動します。
  - ChromeOS画面の左下「○」をクリックしてランチャーを開くと「Linuxアプリ」というグループができていて「ターミナル」「fcitx」があるのが見つけられます
  - 「ターミナル」をクリックして起動します
  - 以下のコマンドを入力してfcitxを起動します

```
$ fcitx-autostart
```

  - ERRORとかWARNが出ますが無視して良いらしいです。
  - 以下のコマンドでプロセス確認

```
$ ps -fe | grep fcitx
```

  - grep fcitxの他にプロセスがあればOKです
  - 次に以下のコマンドでfcitxの設定です。設定画面が表示されます。

```
$ fcitx-configtool
```

   - 「Input Method」タブがアクティブな状態で画面が表示されます
   - 画面左下の「＋」ボタンをクリックして追加対象のリスト画面を表示させます。
   - チェックボックス「Only Show Current Language」のチェックを外します
   - チェックボックスの下に「Search Input Method」って書いてあります。実はこれ検索用の文字入力エリアです。ここに「mozc」と入力するとmozcが上部のリストに現れるので選択して「OK」で追加されます
   - 「Global Config」タブに移動して「Trigger Input Method」にIME切り替えのホットキーを登録します。私は「Ctrl+Space」と「Shift+Space」を登録しました。
   - 「Appearance」タブに移動して「Font」と「Menu Font」を設定します。クリックするとリスト画面が表示されるので「Noto Sans CJK JP Regular」を選択して「Select」ボタンで登録です。「Font」と「Menu Font」とも同じにします。
   - 以上でfcitxの最低限の設定終了です。
    

 
##fcitx起動設定＋アルファ
  - Linux起動時にfcitxが自動で起動するように設定します。
  - あと上記の「fcitx-autostart」時に出ていたWARNも消します。
  - ターミナルを起動して、ホームディレクトリ「ユーザー名@penguin:~$」にある「.profile」に以下を文末に追加します。

```.profile
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

fcitx > /dev/null 2>&1
```

  - ・・・・これをvimで?  無理。
  - nanoというエディタを使用する事にします。これも使い方がよくわからないけれどvimよりはましだろうという結論に達しました。
  - nanoをインストールします。

  
```
$ sudo apt-get install nano
```

  - いざ編集

```
$ sudo nano .profile
```

  - ターミナルもそうですがペーストする際は右クリック(二本指タップ)で行けます。
  - なので上記コマンドでファイルを開き、カーソルを一番下に移動
  - 二本指タップでペースト
  - 「Ctrl + X (終了)」→ 保存する?「y (yes)」 →　終了
  - PC再起動します。
  - ターミナルを起動してプロセス確認「ps -fe | grep fcitx」

##Visual Studio Code インストール
  - 以下のサイトよりarm64用のVSCodeをダウンロードします。私は「code-oss_1.32.0-1550644676_arm64.deb」をダウンロードしました。
     - https://github.com/headmelted/codebuilds/releases
    -　
  - ChromeOSのランチャーから「ファイル」アイコンをクリック
  - WindowsでいうところのExprolerみたいなものが起上がります。
  - 「↓ダウンロード」フォルダをクリックするとダウンロードしたファイルがあるのが見つかります。
  - そのファイルをドラッグ&ドロップで「Linuxファイル」にコピーします。この「Linuxファイル」がターミナルを起動した際のホームディレクトリにあたるようです。
  - ターミナルを起動して、以下のコマンドを実行します。


```
$ sudo apt -y install ./[ダウンロードしたファイル名]
```

  - これでインストール完了です。
  - 以下のコマンドで起動します。

```
$ code-oss
```

###Visual Studio Code 設定
  - 起動まで行ってしまえば、あとはいつものVSCodeなので日本語ランゲージパック等をインストールすれば日本語環境になります。
  - フォント設定するために「Font Family」を以下に設定すれば完了です。

Font Famiry

````
'Noto Sans Mono CJK JP', 'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'
````

###あとがき

ChromeOS版のVisual Studio Codeがあるものとばかり思っていたので、まさかのLinuxでapt-getを使う事になるとは思ってませんでした。
Windowsをメインに使ってきた人間にはなかなかに手間取り、Powerwashを5回ほどしてしまいました。
Windowsユーザーのみなさんの参考になればと思います。