おかゆ++

IT業界の片隅で生き残るブログ

ChromebookにLinuxを入れてまともなターミナルを得る

Chromebookを買って持ち歩いたりしていると、

「ちょっとした開発なんかもこのマシンでできないかなー」

なんて思ったので、ターミナルの環境を整えてみました。

はじめに

今回の目的は、あくまでターミナルを得ることです。 なんでターミナルがほしいかというと、そっからメインPCなりクラウドなりにsshして作業したいからです。

最初はGoogle Chrome拡張機能とかでsshできればそれで済ませるつもりでしたが、 日本語入力に難があり、結局Linuxを入れることになりました。

でも、LinuxVSCode入れたり とかはせずに、あくまでsshで作業することを目的にしてます。 でないと、ただでさえChromebookはストレージ容量が少ないのに、Linux入れてRuby入れてNode.js入れて……なんてやってたら あっという間にストレージが枯渇してしまいます。 なので、あんまり余計なアプリを入れずにきれいな環境にしておいたほうが無難だと個人的には思います。

SecureShellじゃだめなのか?

Google Chrome拡張機能ssh クライアントに、SecureShellというのがあります。 最初はこちらを導入したんですが、どうも Ctrl + Space での日本語切り替えが動かないっぽいです。 日本語が打てないのは作業に支障が出るので、SecureShellは今回は不採用。

補足1:SecureShellのウィンドウからフォーカスを外して、別のアプリ上で日本語に切り替えてからSecureShellに戻ってくると、一応日本語が打てる。 けど日本語入力のたびにウィンドウを切り替えるのはさすがに……

補足2:私が使っているのはUSキーボードのChromebookなので、日本語切り替えは Ctrl + Space で行います。 JIS配列のChromebookだとどうなんでしょ? 知ってる方いたら教えてほしいです。

Linuxを有効にする

まずChromebookの設定画面からLinuxを有効にします。

f:id:okayu-moka:20200314110547p:plain
設定画面からLinuxの設定へ
f:id:okayu-moka:20200314105622p:plain
Linuxの有効化

有効にすると、Linuxのダウンロードとインストールが自動で進みます。 インストールが完了すると、ターミナルが立ち上がります。

f:id:okayu-moka:20200314110443j:plain
Linuxのインストールが完了すると自動でターミナルが立ち上がります

ただ、残念ながらこのターミナルだとSecureShellと同じように日本語が打てません。無念すぎる。 しょうがないので、Linuxアプリ向けの日本語入力アプリケーションをインストールして日本語が打てるようにします。

フォントの追加など

Linuxインストール直後は日本語対応など中途半端なので、色々やっときます。

$ sudo apt update
$ sudo apt upgrade -y
$ sudo apt install -y task-japanese locales-all fonts-noto-cjk
$ sudo localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
$ source /etc/default/locale

fcitx-mozcのインストールと設定

fcitx-mozc をインストールします。 インストール後、 fcitx-autostart で起動して、その状態で fcitx-configtool で設定を開きます。

$ sudo apt install -y fcitx-mozc fcitx-frontend-all
$ fcitx-autostart
$ fcitx-configtool

ここで、左下の+ボタンから mozc を追加して、日本語入力できるようにします。

f:id:okayu-moka:20200314110624p:plain
Mozcを追加

追加で、LinuxGUIアプリでfcitxが動作するように設定します。 /etc/systemd/user/cros-garcon.service.d/cros-garcon-override.conf環境変数を設定すればいいみたいです。

$ sudo sh -c 'echo Environment=\"GTK_IM_MODULE=fcitx\" >> /etc/systemd/user/cros-garcon.service.d/cros-garcon-override.conf'
$ sudo sh -c 'echo Environment=\"QT_IM_MODULE=fcitx\"  >> /etc/systemd/user/cros-garcon.service.d/cros-garcon-override.conf'
$ sudo sh -c 'echo Environment=\"XMODIFIERS=fcitx\"    >> /etc/systemd/user/cros-garcon.service.d/cros-garcon-override.conf'

最後に、fctixが自動起動するように、 ~/.sommelierrc に追記します。

$ echo '/usr/bin/fcitx-autostart' > ~/.sommelierrc

ターミナルを入れる

念願のターミナルを入れます。

インストール候補としては、

  • gnome-terminal
  • terminator
  • xfce4-terminal
  • hyper*1
  • mate-terminal

このあたりかなと思います。 色々試しましたが、どうも一部のアプリ*2だとfcitxの変換候補が表示されなかったり、 表示されても位置がおかしいことがありました。 今回は変換候補がちゃんと表示されるmate-terminalを使うことにしました。

mate-terminalをaptでさくっと入れます。

$ sudo apt install -y mate-terminal

インストールすると、ランチャーにアプリが追加されるので、そこから起動できます。

f:id:okayu-moka:20200314111005j:plain
mate-terminal

Ctrl + Space で日本語入力へ切り替えられます。

f:id:okayu-moka:20200314111151j:plain
日本語入力できるターミナルをゲット。やったぜ。

余談:Cicaフォントを導入する

いつも使っているCicaフォントにフォントを変更します。 Nerd Fonts や絵文字、アイコンなどがごっそり合成された便利フォントです。

wgetで取ってきて /usr/share/fonts の下にフォントファイルをコピーします。

$ mkdir ~/cica
$ cd ~/cica
$ wget https://github.com/miiton/Cica/releases/download/v5.0.1/Cica_v5.0.1_with_emoji.zip
$ unzip Cica_v5.0.1_with_emoji.zip
$ rm Cica_v5.0.1_with_emoji.zip
$ sudo mv Cica*  /usr/share/fonts/
$ fc-cache -f -v
$ cd ~/
$ rm -rf ~/cica

mate-terminalの設定からフォントをCicaに変更して、いつもどおりの環境を手に入れられました。

これで色々捗ります。

*1:hyperは色々プラグインがあって楽しいターミナルですよね。ただ、いかんせん重いのと、TrueColor未対応なのがネック。

*2:gtk3のアプリかな。多分。