Puppy Linuxの日本語入力はAnthyなので変換効率がいまいちである。
先日は辞書を強化してみた。
今回はPuppy Linux用のMozcをビルドしてみようと思う。
上の記事を参考にした。
bazelというものが必要になるようだ。
バージョンは2026/02/21現在8.5.1が出ているようだ。
バージョン9.0.0ではMozcはビルドできないらしいのでこちらを使う。
https://github.com/bazelbuild/bazel/releases/download/8.5.1/bazel-8.5.1-installer-linux-x86_64.sh
上のスクリプトをダウンロードし、以下を実行する
bash bazel-7.3.2-installer-linux-x86_64.sh --user source ~/.bazel/bin/bazel-complete.bash export PATH="$PATH:$HOME/bin" bazel --version
これで
bazel 8.5.1
と出れば、インストール成功である。
ソースパッケージのダウンロードを有効にしておきます。 Debianの場合は、/etc/apt/sources.list.d/debian.sourcesのTypesにdeb-srcを加えて、apt-get updateしておきます。 Ubuntuの場合は、/etc/apt/sources.listのdeb-srcのコメントアウトを取り除いて、apt-get updateしておけばOKです。 Ubuntu-24.04(noble)の場合は、/etc/apt/sources.list.d/ubuntu.sourcesのTypesにdeb-srcを加えて、apt-get updateしておきます。
と書いてある。
Linux Mintではスタートメニューの「システム管理」の「ソフトウェアソース」を選択して、ウィンドウが開いたら「任意のソース」の「ソースコードリポジトリ」をオンにすると同様の効果がある。
すると自動的にapt updateされる。
以下のコマンドを実行する。
sudo apt-get build-dep mozc sudo apt-get install qt6ct qt6-base-dev libfcitx5-qt6-dev
さらに次のコマンドを実行し、最新のソースをダウンロードする。
mkdir -p build cd build git clone --recursive --filter=tree:0 https://github.com/google/mozc.git mozc git clone --filter=tree:0 -b main https://github.com/phoepsilonix/mozc-deb.git mozc-deb
ビルドする前にソースの一部を書き換える。
ひとりよがりのモバイルPC ( その9 SC-03Gでも Mozc が使いたい ) - TORIO's blog
上のリンクの記事を参考に、build/mozc/src/base/run_level.ccをテキストエディタで開き、「root」というワードで検索。
以下の部分を見つけたらコメントアウトする。つまり/* */で囲む。
if (type == SERVER || type == RENDERER) {
if (::geteuid() == 0) {
// This process is started by root, or the executable is setuid to root.
// TODO(yusukes): It would be better to add 'SAFE' run-level which
// prohibits all mutable operations to local resources and return the
// level after calling chroot("/somewhere/safe"), setgid("nogroup"),
// and setuid("nobody") here. This is because many novice Linux users
// tend to login to their desktop as root.
return RunLevel::DENY;
}
if (::getuid() == 0) {
// The executable is setuided to non-root and is started by root user?
// This is unexpected. Returns DENY.
return RunLevel::DENY;
}
return RunLevel::NORMAL;
}
// type is 'CLIENT'
if (::geteuid() == 0 || ::getuid() == 0) {
// When mozc.so is loaded into a privileged process, deny clients to use
// dictionary_tool and config_dialog.
return RunLevel::DENY;
}
ビルドする。
cd mozc cp -a ../mozc-deb/debian ./ ls debian/patches/*.patch|xargs -n1 patch -p1 -i fakeroot debian/rules binary
ビルドが完了するとbuildディレクトリの下に複数のdebファイルができる。
fcitx-mozcというディレクトリを作り、各種debファイルを解凍する。
dpkg-deb -x mozc-data_3.33.6089.2+dfsg-2.2build1.1_all.deb ./fcitx-mozc dpkg-deb -x mozc-server_3.33.6089.2+dfsg-2.2build1.1_amd64.deb ./fcitx-mozc dpkg-deb -x mozc-server-dbgsym_3.33.6089.2+dfsg-2.2build1.1_amd64.ddeb ./fcitx-mozc dpkg-deb -x mozc-utils-gui_3.33.6089.2+dfsg-2.2build1.1_amd64.deb ./fcitx-mozc dpkg-deb -x mozc-utils-gui-dbgsym_3.33.6089.2+dfsg-2.2build1.1_amd64.ddeb ./fcitx-mozc dpkg-deb -x fcitx-mozc-data_3.33.6089.2+dfsg-2.2build1.1_all.deb ./fcitx-mozc dpkg-deb -x fcitx-mozc-dbgsym_3.33.6089.2+dfsg-2.2build1.1_amd64.ddeb ./fcitx-mozc dpkg-deb -x fcitx-mozc_3.33.6089.2+dfsg-2.2build1.1_amd64.deb ./fcitx-mozc
できたら、これをsfs(SquashFS)ファイルにする。
mksquashfs fcitx-mozc/ fcitx-mozc.sfs
このsfsファイルをPuppy Linuxに読み込ませるとMozcが有効になるはずである。
しかし、結果としては失敗した。
sfsファイルを読み込ませても、入力メソッドにMozcが現れない。
debファイルを直接インストールしようと試みたが、libqt6gui6t64というライブラリが足りないという。
どうやらDebianでは使われていないようだ。
もしかするとUbuntuベースのPuppyならできるかもしれないが、現在、日本語版や日本語化パッチが提供されているもののうちUbuntuベースはFossaPupしかない。
これも古いものなのでこれから使うには適していない。
今回は失敗ということであきらめるしかないようだ。
2026/02/22 追記
Puppy Linuxで使えるsfsファイルを使うためにdebファイルをインストールせずにディレクトリの中にdpkg-debを使って解凍したのだが、これでは良くないかもしれない。
chrootを使って/(ルートディレクトリ)を変えて、debファイルをインストールする必要があるかもしれない。
Puppyで使えるsfsファイルを作る方法が書かれた記事がすでに古いもので、make && make installする方法しか書かれていない。
Mozcの場合、ビルドするとdebファイル(パッケージファイル)が作られてしまうため、この方法が使えない。
今回はいずれにしろ、ライブラリが足りないエラーで使えないので意味はないのだが、今後のために方法を知りたい。
2026/02/23 追記
Puppy Linux日本語フォーラムのこんなスレッドがあった。
mozc ut2組み込みキット(Fossapup64 9.5 日本語化版向け)β版 - Puppy Linux 日本語 フォーラム
#8つのdebパッケージを./wokに展開
ls *.deb | xargs -i -t dpkg-deb -x {} ./wok
#mozcの設定がメニューに出るようにsetup-mozc.desktopファイルの書き換え
sed -i -e 's/^Categories=Settings/Categories=X-Desktop/' ./wok/usr/share/applications/setup-mozc.desktop
#sfsの作成
mksquashfs ./wok ./mozc-fossapup~ut2.0a.sfs -comp xz -b 1048576
これを見るとdebファイルをインストールするのではなくて、dpkg-debで解凍するのは正しいようだ。
そして、FossaPup用だということを考えれば、やはりUbuntuベースのPuppyなら成功する可能性は高いということだろう。
また、折を見て挑戦したい。
2026/03/04 追記
技術を持っている人はちゃんとPuppy Linux用のMozcを作れるようだ。