プログラミングなんてわからないんですけど〜

元プログラマによるプライベートでのプログラミング日記。1/3のつもりだけどソフト関連はここがメイン

Ubuntu 20.10にMozc UT2をインストールする

「Mozc UT2をインストールする - Ubuntu 20.04編」というページで公開されているUbuntu用のMozc UT2のパッケージがあります。

sicklylife.jp

Ubuntu 20.10では以下の不具合によりそのままではパッケージを作れません。

github.com

ここでリンクされている以下のパッチを見てみました。

gitweb.gentoo.org

これをもとに、Mozc UT2 for Ubuntuのソースに当てるパッチを作りました。こちらです。

mozc-2.23.2815.102-protobuf_generated_classes_no_inheritance.patch · GitHub

さて、念のため私の環境でパッケージを作ったときのコマンドなどを書いておきます。なお、英語環境ですので、フォルダ名は英語になります。

まずは、ソースをダウンロードします。

ja.osdn.net

のtar.xzファイルをダウンロードします。

ja.osdn.net

私はブラウザでリンクをクリックしてDownloadsフォルダにダウンロードしました。
次にターミナル(terminal)を起動して、Downloadsフォルダに移動してファイルを展開します。

cd Downloads
tar xavf ./mozc-2.23.2815.102+dfsg_ut2-20171008d+20200423focal.tar.xz && cd mozc-*/

これでパッケージを作るフォルダに移動できました。私の場合、試行錯誤をする関係で「build_mozc_plus_utdict」の中のパッケージ作成後mutフォルダを削除する処理を削っています。一応、使ったファイルをgistに上げておきます。

build_mozc_plus_utdict · GitHub

今回のソースに当てるパッチをダウンロードします。

wget https://gist.githubusercontent.com/kaias1jp/daca2870921a71a14227d186b0262e5d/raw/bf2f4ec8271c7aa933315d3dcb8999d0dcd9b79a/mozc-2.23.2815.102-protobuf_generated_classes_no_inheritance.patch

これで「mozc-2.23.2815.102-protobuf_generated_classes_no_inheritance.patch」というファイルが保存されると思います。このファイルを使ってパッチを当てます。

patch -p0 < mozc-2.23.2815.102-protobuf_generated_classes_no_inheritance.patch

特にエラーにならないはずです。パッチ当てが終了したらパッケージ作成作業を始めますが、私は「mozcのデフォルトをひらがな入力モードにする」の記事を参考にソースに手を入れています。

dakusui.hatenablog.com

vi mut/src/unix/ibus/property_handler.cc

でviエディタにて該当ファイルを開いて「kActivatedOnLaunch = false;」の行を「kActivatedOnLaunch = true;」に変更して保存しました。

次に、Mozc UT2パッケージ作成に必要なパッケージ類をインストールします。

sudo apt update && sudo apt upgrade -y && sudo apt install -y devscripts debhelper libibus-1.0-dev pkg-config libxcb-xfixes0-dev libgtk2.0-dev python3-dev gyp protobuf-compiler libprotobuf-dev qtbase5-dev libqwt-qt5-dev libgwengui-qt5-dev libuim-dev libzinnia-dev fcitx-libs-dev gettext desktop-file-utils ninja-build

あとは「build_mozc_plus_utdict」ファイルを実行して各パッケージを作成します。

./build_mozc_plus_utdict

うまくいけば、ファイル実行終了後のフォルダにdebファイルがいくつかできているはずです。今回は以下のコマンドは実行していませんが、不要なパッケージを削除する場合は、Mozc UT2をインストールする前に実行しておいたら良いと思います。

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

今回は新規インストールしたUbuntu20.10を対象としていますので、以下のコマンドを実行します。

sudo apt install -y mozc-utils-gui

sudo dpkg -i ./mozc-data_*.deb ./mozc-server_*.deb ./mozc-utils-gui_*.deb ./ibus-mozc_*.deb

これでMozc UT2がインストールされます。Ubuntuを再起動して、Settingsの「Region & Language」を開いて「Input Sources」の「+」をクリックすると、「Add an Input Source」というダイアログが出ますので「Japanese」を選択してください。

f:id:kaias1jp:20201127205230p:plain

「Japanese (Mozc)」をクリックすると右上の「Add」が押せるようになるので押してください。

f:id:kaias1jp:20201127205623p:plain

そうすると「Japanese (Mozc)」が追加されます。

f:id:kaias1jp:20201127205711p:plain

あとは、「Manage Installed Languages」ボタンをクリックすると不足しているフォントとかをインストールするか聞かれるのでインストールを選択すると終わりです。

私の環境では「Windowsキー+Spaceキー」で日本語入力と英語が切り替わりました。

googleとかできちんと検索していないのでもしかしたらUbuntu20.10対応版とかあるかもしれませんが、上記の方法で私は使えています。