Chromebook Linux(Crostini)に最新版NeoVimをインストールする

※ 下記はamd64についての内容です。

NeoVim最新版のダウンロードと配置
$ curl -OL https://github.com/neovim/neovim/releases/download/nightly/nvim-linux64.tar.gz
$ tar zxf nvim-linux64.tar.gz
$ sudo mv ./nvim-linux64/bin/nvim /usr/local/bin/
$ sudo -p /usr/share
$ sudo cp -r ./nvim-linux64/share/* /usr/share/

下記のファイルに追記 ~/. bashrc

...

export VIMRUNTIME=/usr/share/nvim/runtime 

ターミナルを再起動してNeoVimを起動

$ nvim

Ubuntu 18.10 で Microsoft Azure Storage Explorer を使う

Ubuntu 18.10 で Microsoft Azure Storage Explorer をインストールすると問題なく起動するのですが、いざAzureのアカウントを追加すると、「Waiting for authenication...」の表示が出て先に進めません。

Azure Account を追加しようとします。 f:id:AXON_K:20181114221644p:plain しかしアカウントの認証が終わって下記のダイアログが出た状態で先に進みません。 f:id:AXON_K:20181114221702p:plain 海外でもこの問題は話題になっているようですが、解決していないようです。

とりあえずは下記の「Use a connection string」でStorage単位で追加ができますので、それで使用しています。解決を待ちましょう。

「Use a connection string」と「Use a storage account name and key」は正常に追加が完了することを確認しました。

f:id:AXON_K:20181114221713p:plain Azure PotalのStorageのアクセス キーから「Use a connection string」の場合は接続文字列、「Use a storage account name and key」の場合はストレージアカウント名とキーを使用します。

Chromebookで0001docomoの自動ログインを使って快適ライフ

docomoで定額通信などの契約をしているとWi-Fi接続が無料でついてきますが、実際スマートフォンで利用していると勝手に電波の弱いWi-Fiに接続して通信ができなくなるなどストレスが多いです。 せっかくなのでスマホでは接続しないようにしてChromebookに設定することにしました。

契約の確認

最近のスマホは設定しなくてもSIM認証で自動的に接続されているはずですので、契約の有無はわかると思いますが、接続ができていない場合は契約の確認をしておいてください。 www.nttdocomo.co.jp

iPhoneAndroidWi-Fi切断

iPhoneAndroidの接続をWi-Fi設定から0001docomoを探して、自動接続をしない設定にします。iPhoneの場合は右の(!)マークから自動接続のチェックを外します。※初回はSIM認証を切断した直後は下記の重複ログイン扱いになり接続できない可能性があります。その場合は切断後しばらくしてから設定してみてください。

ChromebookWi-Fi設定

ChromebookWi-Fi設定から「0001docomo」を選択して下記の内容を設定します。
Wi-Fi設定の確認は下記を参考にしてください。

nttdocomo.support-menu.jp

EAP方式
PEAP
EAPフェーズ2認証
MSCHAPv2
サーバーのCA証明書
既定
ID
docomoの設定
パスワード
docomoの設定
署名ID
なし

スマホとは違ってChromebookは落ち着いた場所に座って使うので、開いたときに自動的にWi-Fiにつながっているのは快適です。

ChromeOSのLinux(Crostini)で日本語入力(自動起動対応)

ChromeOSのLinuxで日本語入力は、Crostiniの性質上、起動時に設定を読み込ませる方法が見つからなく、手動でFcitxを開始していましたが、ようやく自動起動の方法が見つかりました。

※ 下記の手順はamd64です。現時点でarm64のインストールパッケージは無いようです。

フォント

日本語フォントはインストールしておいてください

例として「源ノ角ゴシック Code JP」を入れます。

$ curl -OL https://github.com/adobe-fonts/source-han-code-jp/archive/2.011R.tar.gz
$ tar zxf 2.011R.tar.gz
$ sudo cp ./source-han-code-jp-2.011R/OTF/* /usr/local/share/fonts
$ sudo fc-cache -fv

MozcのインストールとFcitxの設定

fcitx-mozcをインストール
$ sudo apt-get install fcitx-mozc

ChromeOSのメニューにFcitxアイコンが追加されているのでタップして起動。これをしておかないと次のInput Methodに表示されません。

f:id:AXON_K:20181018083217p:plain

Input Method設定
$ fcitx-configtool

左下の「+」で追加 f:id:AXON_K:20181018082308p:plain 「Only Show Current Language」のチェックを外してJapaneseのMozcを選択 f:id:AXON_K:20181018082318p:plain Input MethodにMozcが追加されているのを確認して設定完了 f:id:AXON_K:20181018082322p:plain

日本語入力ができるようになりました。 f:id:AXON_K:20181018083444p:plain

FcitxをLinux(Crostini)の起動時に開始する

下記のファイルに環境変数の設定を追加します。

/etc/systemd/user/cros-garcon.service.d/cros-garcon-override.conf

Environment="GTK_IM_MODULE=fcitx"
Environment="QT_IM_MODULE=fcitx"
Environment="XMODIFIERS=@im=fcitx"
下記のファイルに自動起動の設定を用意します。

~/.sommelierrc

/usr/bin/fcitx-autostart
一度ログアウトしてログインし直してください。

ParallelsでDocker

Parallels driver for Docker Machine をインストールして、Dockerコンテナの操作までの備忘録

インストール

dockerをHomebrewでインストール

$ brew install docker

docker-machineをHomebrewでインストール

$ brew install docker-machine

docker-machineはホストOSからDocker仮想マシンを操作しやすくするためのものです。

docker-machine-parallelsをHomebrewでインストール

$ brew install docker-machine-parallels

docker-machine-parallelsは操作する先のDocker仮想マシンParallelsとするためのものです。

docker-machineを操作する

Docker MachineをParallelsのドライバーを使用して作成

$ docker-machine create --driver=parallels [machine name]

この時点でParallelsのコントロールセンターに[machine name]の仮想マシンが作成されています。 f:id:AXON_K:20181012080204p:plain

docker-machineを起動

$ docker-machine start [machine name]

Parallelsコントロールセンターの[machine name]の仮想マシンが起動します。 f:id:AXON_K:20181012080157p:plain

docker-machineを停止

$ docker-machine stop [machine name]

Parallelsコントロールセンターの[machine name]の仮想マシンが停止します。

仮想マシン上のdocker-machineをホストOSから操作する

上記の手順で仮想マシンを起動します。 続いて下記のコマンドで環境変数を設定します。

$ docker-machine env [machine name]

最後に「eval $(docker-machine env [machine name])」と表示されます。このコマンドを実行するとホストOSのターミナルから仮想マシン上のコマンドとして実行することができるようになります。 このコマンド以降の「docker [...]」のコマンドは仮想マシン上で実行しているのと同じことになります。

コンテナの操作

コンテナとイメージを簡単に説明すると、イメージは起動するOSの基本的なイメージです。コンテナはイメージを展開して実際に運用している状態のものです。

コンテナの表示

コンテナの表示(-aオプションは停止しているものも表示します。)

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

何も作成していないので表示されません。

イメージの表示

イメージの表示

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

まだ何も取得していので表示されません。

イメージの取得

まず試しにUbuntunのイメージを取得してみます。

$ docker pull ubuntu:latest

今度はUbuntuのイメージが表示されます。

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              cd6d8154f1e1        4 weeks ago         84.1MB

この時点でUbuntuのイメージが用意できました。まだコンテナはありません。
ではUbuntuイメージでコンテナを作成します。(-itオプションはホスト側とコンテナの入出力を繋ぐためものです。)

コンテナを作成

ubuntuイメージをもとにコンテナを作成します。

$ docker run -it ubuntu
root@0123456789ab:/#

これはコンテナID 0123456789ab にアタッチしているという状態です。(コマンド入力でコンテナIDを指定する場合は先頭の数文字だけで問題ありません)試しに ls コマンドを実行するとUbuntuイメージをもとに起動したコンテナ上のファイルとフォルダが列挙されます。

root@0123456789ab:/# ls
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

コンテナの状態とアタッチ・デタッチ

コンテナの状態を理解するためにコマンドオプションを使わずに順次実行しています。

コンテナの状態

コンテナの状態は、起動中(Up)・停止(Exited)があります。

コンテナの起動

$ docker start 0123456789ab

起動していることが確認できます。

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
0123456789ab        ubuntu              "/bin/bash"         21 minutes ago      Up 4 minutes                            kind_euler

コンテナの停止

$ docker stop 0123456789ab

停止コンテナも表示するために-aオプションとつけて確認すると停止しています。

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
0123456789ab        ubuntu              "/bin/bash"         11 minutes ago      Exited (0) 10 seconds ago                       kind_euler

コンテナへアタッチ

起動中のコンテナへアタッチすることでコンテナで操作が可能になります。

$ docker attach 0123456789ab
root@0123456789ab:/#

コンテナからデタッチ

CTRL+P,Qを入力するとデタッチします。

root@0123456789ab:/# read escape sequence

コンテナの起動とアタッチ

コンテナを起動してアタッチします。

$ docker start -ia 0123456789ab

コンテナの停止とデタッチ

コンテナを停止してデタッチします。

root@0123456789ab:/# exit
exit

WH-1000XM3のノイズキャンセルがすごい

WH-1000XM3を購入して通勤電車で使ってみました。

新開発のノイズキャンセリングプロセッサ「QN1」は、判通り素晴らしいノイズキャンセルを提供してくれます。

この体験を伝えたいけど難しいので、電車の騒音にノイズキャンセルした場合の自分の感じた音を作ってみました。 18秒目までぐらいまでがノイズキャンセル前のイメージですので、そこまでの間にノイズキャンセルなしの場合の漏れて入る音程度にボリュームをあわせておいてください。

音の違いなどは、なかなかはっきりとはわかりにくいですが、WH-1000XM3のノイズキャンセルに関しては、明らかに性能が向上しています。 もう少し涼しくなって毎日使うのが楽しみです。

Chromebook C101PA に VSCode をインストールして手軽なプログラミング環境を構築する

用意したもの

ここでの説明はChromeOSのLinux対応(Crostini)でARM系OP1搭載のものに関する説明になります。

事前準備

Chromebookを最新の状態にする

この記事では、Stable の バージョン69です。

Linux を有効にする

ChromeOSの設定からLinux(ベータ版)をオンにします f:id:AXON_K:20181007132926p:plain Linuxのインストールにはしばらく時間がかかります。 f:id:AXON_K:20181007132538p:plain

オープンソースVSCodedeb パッケージをダウンロードする

下記のページの Pre-built deb package にある Latest のパッケージをダウンロードしておきます。

www.reddit.com

日本語フォントをダウンロードする

ここでは「源ノ角ゴシック Code」を Latest release からダウンロードしておきます。

github.com

インストールを始める

VSCode のインストール

ChromeOS上で「ファイル」を開いてダウンロードした code-ossdeb ファイルを、「Linux ファイル」 へドラッグアンドドロップします。 deb ファイルを 「Linux ファイル」へ移動すると、コンテキストメニューに 「Linux(ベータ版)でのインストール」が表示されるのでクリックして、しばらく待つとインストールが完了します。 f:id:AXON_K:20181007133237p:plain

日本語フォントのインストール

ChromeOS上で「ファイル」を開いてダウンロードした source-han-code-jp の 圧縮 ファイルを開きOTFフォルダを「Linux ファイル」 へドラッグアンドドロップします。

Terminalを開いて下記のコマンドを入力してフォントをインストールします。

$ mkdir ~/.fonts
$ cp ./OTF/* ~/.fonts
$ sudo fc-cache -fv

インストールしたフォントは下記のコマンドで確認できます。

$ fc-list | grep "Source Han"
VSCode のフォント設定に「源ノ角ゴシック Code」を追加

VSCode で Settings を開き、「Search settings」に font と入力して、Editor: Font Family の先頭に「Source Han Code JP L」を追加します。(太さはお好みで)

Editor: Font Family
Controls the font family.
'Source Han Code JP L', 'Droid Sans Mono', ...
VSCode の Extension gallery を有効にする

Terminal の vi で下記のファイル開きます。

$sudo vi /usr/share/code-oss/resources/app/product.json

下記の内容をjsonファイルの最後(checksumsの次)に追加します。

    "extensionsGallery": {
        "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
        "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
        "itemUrl": "https://marketplace.visualstudio.com/items"
    }

github.com

設定後に VSCode を開くとExtension gellery が有効になっているはずです。

日本語メニューに変更する

VSCode の Extension gellery で 「japanese」と検索すると「Japanese Language Pack for Visual Studio Code」がありますので、インストールします。もしここで説明文の日本語が表示されていない場合は、フォントのインストールが間違っていますので、上記の日本語フォントのインストールを見直してください。

インストール後にUIを日本語にするかの確認がありますのでいずれかを選択します。

以上でVSCodeのインストールは終了です。

おまけ

VSCodeのアイコンを変更する

上記でオープンソース版のVSCodeをインストールした状態では、アイコンがCrostiniのデフォルトのものになっていると思いますが、任意のアイコンに変更することができます。

f:id:AXON_K:20181007133803p:plain

ChromeOSで適当にアイコンのPNGファイル探してダウンロードして 「Linux ファイル」へ保存しておきます。ここでは名前を vscode.png とします。

Terminal を開いて下記のコマンドでアイコンのPNGファイルをコピーします。

$ sudo cp ~/vscode.png /usr/share/pixmaps/

次にアイコンの設定を変更します。

$ sudo vi /usr/share/applications/code-oss.desktop

「Icon=」の箇所に上記のアイコンPNGファイルのパスを指定します。

Icon=/usr/share/pixmaps/vscode.png

ChromeOSをログアウトしてログインし直してVSCodeを開くとアイコンが更新されます。

f:id:AXON_K:20181007133807p:plain