Linuxをデスクトップ環境として利用する場合、選択肢として挙がるのはUbuntuやFedora、CentOSなど、いわゆるメジャーどころだ。このような選択肢の範囲では、日本語入力環境の有無を意識することは稀だろう。自らビルドすることはなく、提供されているパッケージを導入するだけで、ほとんどの場合は事足りるはずだ。しかし一部のディストリビューションの場合、そうではない。例えばClear Linuxだ。
Clear Linuxの場合、標準構成で提供される日本語入力はSKK*1のみだ。おそらく、ほとんどのユーザーは日本語入力としてMozcを使用することを期待しているはずだ。しかし、bundleと呼ばれるClear Linuxの標準パッケージ群にMozcは含まれず、ユーザーは自分でMozcをビルドするしかない。
そのようなディストリビューション上に、他のディストリビューションをコンテナとして稼働させ、そこに必要なデスクトップ環境を構築するのは一案だが、ホスト、コンテナ間でデスクトップ環境は合わせたいだろうし、可能ならば統合したいとも思うだろう。それを実現してくれるのがDistroboxだ。
Distroboxを用いることで、コンテナ上に導入したアプリケーションを、ホスト側から透過的に利用できるようになる。そのようなことがアプリケーションに適用できるならば、日本語入力にも応用できるのではないか?それは実現可能だった。
この投稿では、MoacをインストールしたUbuntuコンテナとDistroboxを利用して、Clear Linux上で日本語入力を実現するための手続きを紹介する。
ホストにClear Linuxを採用しているとはいえ、DistroboxとUbuntuコンテナにまつわる手続きは、他のディストリビューションでも同様に有効なはずだ。
ホスト側の準備
Clear Linuxのパッケージ更新
swupd check-update sudo swupd update
Dockerの導入、設定
ホストにDockerを導入する。ホストを再起動することなく、Dockerを動作可能な状態にしておく。
sudo swupd bundle-add containers-basic
sudo systemctl enable --now docker
root無しでDockerコマンドを利用できるよう、カレント・ユーザーを"docker"グループへ登録し、直ちに有効化する。
sudo usermod -aG docker $USER exec su -l $USER
Clear Linuxはstatelessと呼ばれる構成*5を採用しており、"/etc/hosts"を保持していない。次のコマンドで、それを補完する。
sudo touch /etc/hosts
Distrobox
インストール
公式サイトのインストール手順*6に沿って、Distroboxをインストールする。この投稿では、次のコマンドを実行した。
curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sudo sh
任意のフォルダへDistroboxをインストールすることもできる。その場合、忘れずに該当フォルダをPATHへ追加すること。次のコマンドは、"~/.local/bin"へインストールした場合のコマンドだ。
PATH=$PATH:~/.local/bin
Ubuntuコンテナの導入
Distroboxのコマンドを利用して、コンテナ・イメージを入手する。以下のコマンドは、次の環境を想定した場合のものだ。
イメージ | Ubuntu 22.04 |
コンテナ名 | ubuntu |
distrobox create --image docker.io/library/ubuntu:22.04 --name ubuntu
ユーザーはUbuntu以外、任意のイメージを用いることもできる。公式サイトにサポートしているイメージの一覧*7が掲載されている。
次コマンドを実行して、コンテナに入る。
distrobox-enter ubuntu
Mozcの導入
このセクションでの操作は全て、コンテナ内で実施する。ホストではないことに注意してほしい。
まずパッケージを更新する。
sudo apt update -y sudo apt upgrade -y
Mozcと関連パッケージをインストールする。
sudo apt install ibus-mozc mozc-data mozc-server mozc-utils-gui -y sudo apt install libcanberra-gtk* -y
Clear Linuxの設定
このセクションでの操作は全て、ホスト側で行う。コンテナではないことに注意してほしい。
ここまでの作業を完了すると、Clear Linuxの設定画面から、UbuntuのMozcが見えるようになっている。キーボード設定からMozcを登録する。Mozcを登録するまでの一連の操作は、以下のスクリーンショットを確認してほしい。
Settings > Keyboard > Input Sources
スクリーンショットが示すように、ホスト側でMozcを登録すると、タスクバーに日本語入力のアイコンが現れる。Ubuntu上のMozcを利用して、Clear Linux上でも日本語が入力できるようになった。
Screenshot: Mozc on Clear Linux
再起動後の日常利用
ホスト、コンテナの設定は再起動後でも保持されるとはいえ、ホスト側の日本語入力は、コンテナ無しでは機能しない。日本語入力を必要とする前に、コンテナ上でMozcが稼働している必要がある。
ホスト起動後、次のコマンドを実行することで対応できる。起動直後から日本語入力できるよう、".profile"に追記しておくと良いだろう。
Wayland環境の場合は、次の投稿で紹介する方法がある。
distrobox enter -n ubuntu -- ibus-daemon -drx
Screenshot: Mozc on Clear Linux