Ubuntu 16.04 DesktopにMozc(Google日本語入力OSS)をインストール

# 概要

## 動機

Ubuntu 16.04 LTS Desktop(GNOME)を使用していて、日本語は日本語(Anthy)を使用しているのですが、とにかく誤変換が多いので、これを変更することにしました

変更するに際に調べると、Googleが作成した日本語入力ソフトのOSS版である `Mozc` があったので、それをインストールし設定してみました


![ubuntu-gnome-mozc-01.png](https://qiita-image-store.s3.amazonaws.com/0/25582/fb8366a4-cdcb-2d87-fbd0-c3873548d34f.png)


## Mozcとは

```
Mozcとは、Google 日本語入力のオープンソース版である。
これは2010年5月11日にGoogle日本語入力をGoogle Chrome OSに移植するために必要な部分をオープンソースしたものである


Wikipediaより抜粋
https://ja.wikipedia.org/wiki/Google_日本語入力
```

## ソースコード

+ GitHubに公開されています
    + https://github.com/google/mozc

# インストールしてみる in Ubuntu 16.04


## ターミナルでの操作

+ 参考にさせて頂いた記事
    + https://lab4ict.com/system/archives/820
    + https://www.karelie.net/install-ibus-mozc/


+ まずはUbuntuにてターミナルを起動します

```
$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="16.04.5 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.5 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
```

+ GNOMEデスクトップをインストールします
    + 途中の選択肢は以下を選択します
        + gdm3 <---- こっちを選択
        + lightdm

```
sudo apt-get install ubuntu-gnome-desktop
```

+ 再起動で反映させます

```
sudo shutdown -r now
```



+ 再びSSHログイン後、変換辞書として使用する `Mozc UT` のソースのダウンロードをし、展開します
    + https://ja.osdn.net/users/sicklylife/pf/mozc_ut_for_ubuntu/files/

```
cd /usr/local/src/
wget -O mozc_ut_for_ubuntu.201901.tgz https://ja.osdn.net/downloads/users/23/23237/mozc-2.18.2598.102%2Bdfsg-1~ut2-20171008d%2B20181231.tgz 
tar xavf mozc_ut_for_ubuntu.201901.tgz 
cd mozc-2.18.2598.102+dfsg-1~ut2-20171008d+20181231/
```

+ 上記のソースコードの中で、一部設定変更をします
    + `property_handler.cc` というファイルのL.83, 86あたりを修正しています

```
sed -i s/'const bool kActivatedOnLaunch = false;'/'const bool kActivatedOnLaunch = true;'/g mut/src/unix/ibus/property_handler.cc
```

+ Ubuntuの既存のパッケージのアップデートを行っておきます

```
sudo apt-get update
sudo apt-get upgrade

sudo apt-get dist-upgrade (※ こちらは必要に応じて)
sudo apt-get autoremove (※ こちらは必要に応じて)
```

+ 追加でMozcに必要なパッケージをインストールします
    + 既にインストールしてあるパッケージがあるかもしれませんが、まるっとやってしまいましょう

```
sudo apt-get install -y clang \
                        libdbus-1-dev \
                        libglib2.0-dev \
                        libgtk2.0-dev \
                        subversion \
                        tegaki-zinnia-japanese \
                        debhelper \
                        libibus-1.0-dev \
                        build-essential \
                        libssl-dev \
                        libxcb-xfixes0-dev \
                        python-dev \
                        gyp \
                        protobuf-compiler \
                        libqt4-dev \
                        libuim-dev \
                        libzinnia-dev \
                        fcitx-libs-dev \
                        devscripts \
                        ninja-build
```

+ 付属のビルドスクリプトを使用して、Mozcをビルドしていきます
    + MozcをUbuntuにインストールするためのパッケージを作ります = ビルドします

```
$ ls -1
build_mozc_plus_utdict
mut
```
```
sudo ./build_mozc_plus_utdict
```
```
※ 注意点
インストールの途中で1.8Gくらい使用する段階があるので、なるべくメモリを開放しておきましょう
少なくとも、2Gは確保しておいた方がいいです
```
```
$ free -h
              total        used        free      shared  buff/cache   available
Mem:           1.9G         41M        1.7G        3.5M        198M        1.8G
Swap:          1.0G        102M        919M
```

+ ビルドが終わると以下のように同ディレクトリにパッケージが作成されます

```
$ ls -1
build_mozc_plus_utdict
emacs-mozc-bin_2.18.2598.102+dfsg-1~ut2-20171008d_amd64.deb
emacs-mozc_2.18.2598.102+dfsg-1~ut2-20171008d_amd64.deb
fcitx-mozc_2.18.2598.102+dfsg-1~ut2-20171008d_amd64.deb
ibus-mozc_2.18.2598.102+dfsg-1~ut2-20171008d_amd64.deb
mozc-data_2.18.2598.102+dfsg-1~ut2-20171008d_all.deb
mozc-server_2.18.2598.102+dfsg-1~ut2-20171008d_amd64.deb
mozc-utils-gui_2.18.2598.102+dfsg-1~ut2-20171008d_amd64.deb
mozc_2.18.2598.102+dfsg-1~ut2-20171008d_amd64.build
mozc_2.18.2598.102+dfsg-1~ut2-20171008d_amd64.changes
uim-mozc_2.18.2598.102+dfsg-1~ut2-20171008d_amd64.deb
```

+ 容量に懸念がある場合は、不要なパッケージをアンインストールしましょう
  + :warning: 未検証です

```
tail -n 5 /var/log/apt/history.log | \
          grep Install: | \
          sed -e s/"Install: "// | \
          sed -e s/", automatic"//g | \
          sed -e s/"), "/"\n"/g | \
          sed -e s/" (.*$"/""/g | \
          tr '\n' ' ' | \\
          xargs sudo apt-get remove -y
```

+ 先ほど作成したパッケージをaptコマンドでインストールします

```
sudo apt-get install ./mozc-*.deb \
                     ./fcitx-mozc_*.deb \
                     ./ibus-mozc_*.deb \
                     ./emacs-*.deb
```

+ 最後にGNOMEにibusを統合させるためのコマンドを実行します

```
gsettings set org.gnome.settings-daemon.plugins.keyboard active true
```

## デスクトップにログインして操作

+ 右上のアイコンから `すべての設定` を開きます

![ubuntu-gnome-mozc-02_02.png](https://qiita-image-store.s3.amazonaws.com/0/25582/10cc3175-8cc1-f457-897f-e1be694af947.png)
![ubuntu-gnome-mozc-03.png](https://qiita-image-store.s3.amazonaws.com/0/25582/fbb8220c-06b9-abd0-e318-8d7016a84f60.png)

+ `地域と言語` を選択します

![ubuntu-gnome-mozc-04.png](https://qiita-image-store.s3.amazonaws.com/0/25582/2129f87f-a565-d417-a649-20aa1d66abd1.png)

+ 入力ソースの `+` を押します

![ubuntu-gnome-mozc-05.png](https://qiita-image-store.s3.amazonaws.com/0/25582/7915de34-fdb4-c7dd-74b3-f237ea4e11fb.png)


+ `日本語` を選択します

![ubuntu-gnome-mozc-06.png](https://qiita-image-store.s3.amazonaws.com/0/25582/99d5346d-43c4-3ea5-2252-18c9c100ea77.png)


+ `日本語(Mozc)` を選択し、右上の `追加` を押して反映させます

![ubuntu-gnome-mozc-07.png](https://qiita-image-store.s3.amazonaws.com/0/25582/71274800-0f52-b8e7-c090-ef27631cb6d4.png)
![ubuntu-gnome-mozc-08.png](https://qiita-image-store.s3.amazonaws.com/0/25582/84602c1e-dff6-7461-1158-1c399dd5292d.png)

+ 不要な `日本語(Anthy)` を選択し、左下の `-` を押してリストから削除します

![ubuntu-gnome-mozc-09.png](https://qiita-image-store.s3.amazonaws.com/0/25582/53152474-6430-614a-e14d-c86d5323fbff.png)
![ubuntu-gnome-mozc-10.png](https://qiita-image-store.s3.amazonaws.com/0/25582/40bb2bdb-5296-1480-8219-f7002da7f227.png)

作業は以上です :relaxed: