ASUS Chromebook C100PAでEmacsを使えるまで

[ASUS Chromebook Flip C100PA](https://www.asus.com/jp/Notebooks/ASUS_Chromebook_Flip_C100PA/)に[crouton](https://github.com/dnschneid/crouton)をインストールし、Emacsを使えるようにする手順です。

前回[「ChromebookでEmacs」](http://qiita.com/sambatriste/items/1c0238b3d8284cd8e6d8)ということで概要を紹介しましたが、今回はASUS C100PAでEmacsを使えるまでの**インストール手順**を紹介します。普段WindowsやMacを使っていてUbuntuに不慣れな人（私もです）向けに書きました。C100PAであればほぼ同じような手順でEmacsが使えるところまでできるのではと思います。Emacsを使わない人も途中までは参考になるかと思います。
![C100PA](https://www.asus.com/media/jp/products/65UuToZj6oi4AKw4/S5uwK2Ymwztf9as0_setting_fff_1_90_end_500.png)
![desktop.png](https://qiita-image-store.s3.amazonaws.com/0/91520/6a06ab41-0aa5-6987-79fb-2f5003161bac.png)



## 前準備

Chrome上で<kbd>Ctrl+Alt+T</kbd>でcroshが起動しますので、必須というわけではないですが、以下の２つをいれておくと便利です。

* [Secure Shell](https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo)
* [Crosh Window](https://chrome.google.com/webstore/detail/crosh-window/nhbmpbdladcchdhkemlojfjdknjadhmh)

参考URL
http://qiita.com/monamour555/items/5ed73c1d22a7d76cc9d1

## croutonインストール

[crouton](https://github.com/dnschneid/crouton)をインストールします。

ここでは、

* ubuntu (Trusty)
* xfce

を使用します。

crosh上で
``` 
$ sudo sh ~/Downloads/crouton -r trusty -t xfce,keyboard,audio,extension,touch
```
とします。

暗号化はしないので`-e`はつけていません。
（USBメモリにインストールの場合は暗号化をつけたほうがよいかも）

### 動作確認

chrootするだけの場合は、croshで、

    $ sudo enter-chroot

とします。この時点でCUIでUbuntuが使えます。

GUIを起動する場合は、croshで、

    $ startxfce4

とします。Ubuntu+Xfceの画面が起動します。ここから先はChromeOSではなくUbuntuでの作業となります。

ChromeOSとUbuntuの画面を切り替えるには、<kbd>Ctrl+Alt+Shift+←</kbd>を押します。
<kbd>←</kbd>はカーソルキーではなく、escキーの右隣りにあるキーです（F1）。

キーの押し方に少しコツがあって、

* 先に<kbd>Ctrl+Alt+Shift</kbd>を押した状態を作る
* （<kbd>Ctrl+Alt+Shift</kbd>を押したまま）<kbd>←</kbd>を押す
* （<kbd>Ctrl+Alt+Shift</kbd>を押したまま）<kbd>←</kbd>を離す
* <kbd>Ctrl+Alt+Shift</kbd>を離す
 
というようにしてください。


## キーボードレイアウトを変更

`Settings`->`keyboard`ｰ>`Layout`で
`Keyboard Layout`に`Japanese`を追加し、`English`を削除します。

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

任意の日本語フォントをダウンロードして、`~/.fonts/`にコピーします。
フォントが認識されない場合は、下記コマンドを実行します。

    fc-cache -fv

## 検索キーをCtrlキーに

<kbd>A</kbd>キーの左隣にある検索キーを<kbd>Ctrl</kbd>キーにします。

参考URL
http://d.hatena.ne.jp/kenbeese/20120214/title


### 検索キーのキーコードを調べる

C100PAでは<kbd>A</kbd>のとなりにあるのは<kbd>Ctrl</kbd>キーではなく、検索キーです。
`xev`コマンドを実行して、表示されるウィンドウで調べたいキー（検索キー）を押します。

結果、「検索キー」キーコードが`133`であることがわかりました。

```
KeyPress event, serial 37, synthetic NO, window 0x2000001,
    root 0xe7, subw 0x0, time 89254763, (-290,235), root:(621,544),
    state 0x0, keycode 133 (keysym 0xfe78, Overlay1_Enable), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x2000001,
    root 0xe7, subw 0x0, time 89254900, (-290,235), root:(621,544),
    state 0x0, keycode 133 (keysym 0xfe78, Overlay1_Enable), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

```

xmodmapコマンドで現在の設定を表示します。

     $ xmodmap -pke

表示された内容を元に、`~/.Xmodmap`ファイルを作成します。
今回は以下の3行のファイルになります。

```
keycode 133 = Control_L NoSymbol Control_L 
clear Lock
add Control = Control_L
```

## fcitx-mozcをインストール

apt-getするだけです。


     $ sudo apt-get install fcitx-mozc


## Input Methodの設定

`Settings`->`Input Method`でfcitxを選択します。
![Screenshot - 080716 - 14:31:31.png](https://qiita-image-store.s3.amazonaws.com/0/91520/da156fad-9a69-65a2-e828-475263ab25b5.png)



## fcitxの設定

`Settings`->`Fcitx Configuration`->`Input Method Configuration`を開きます。`Input Method`タブでMozcを追加します。
![input-method-configuration.png](https://qiita-image-store.s3.amazonaws.com/0/91520/0107325b-3b0b-40ef-2794-f6da28b8569e.png)


### 日本語入力の切り替え設定

`Global Config`タブで変換キーの割り当てをします。
`Show Advance Option`にチェックをして、以下のキー設定をします。

| キー                        | 割り当て                               |
|----------------------------|--------------------------------------|
|かな↔英数(`Alt`+`Kanji`)     |日本語入力をON/OFF(Trigger Input Method)|
|かな↔英数(`Zenkakuhankaku`)  |日本語入力をON/OFF(Trigger Input Method)|
|英数(`Muhenkan`)             |日本語入力をOFF(Inactivate Input Medhot)|
|かな(`Henkanmode`)           |日本語入力をON(Activate Input Method)   |

![hotkey.png](https://qiita-image-store.s3.amazonaws.com/0/91520/d5238c8c-ea54-2ff1-a553-f0f49e6c0519.png)


## Emacs

参考URL
http://nkenbou.hatenablog.com/entry/2015/06/30/051408

apt-getだと少し古いので、自分でビルドします。
configure,make,make installするだけです。


### Emacsでmozcを使う

Emacsを自分でビルドしたので、mozc-emacsのインストールにはapt-getを使わないようにします。`apt-get mozc-emacs`すると、依存パッケージemacs24がインストールされ、Emacsが２つになってしまいます。

     $ sudo apt-get mozc-emacs-bin

で、`/usr/bin/mozc_emacs_helper`がインストールされる（はず）。

https://github.com/google/mozc/blob/master/src/unix/emacs/mozc.el
を適当なload-path上にコピーします。

Emacsをaptでインストールした場合は、mozc-emacsもaptでインストールするのがいいと思います。

     $ sudo apt-get mozc-emacs mozc-emacs-bin


## cmigemo
    
apt-getするだけです。

     $ sudo apt-get install cmigemo

## おしまい

C100PAであれば、以上の手順でだいたいEmacsが実用的に使えるようになっていると思います。私の場合、だいたいこれくらいの手順で手持ちのinit.elがエラーなく動作するようになりました。

これで普段からEmacsを持ち運べるようになります！