はじめに
ソフトウェアを使っていると、意図しない挙動に遭遇することがあります。 ソフトウェアによっては、ディストリビューションで配布されているものが最新とは限りません。 そのため、場合によってはアップストリームではすでに修正済みということもあります。1 せっかく報告しても最新版ですでに直っていたりすると、悲しいですね。そんなことのないように最新版でも確認するのがおすすめです。
そこで今回は IBus を例に、不可解な挙動に遭遇したときに最新版の IBusを使っても再現するかどうか確認する方法を紹介します。
問題の詳細について
Ubuntu 18.04上のibus-mozcを使っているときに、プロパティパネルから文字種を切り替えると、文字種の変更が追従しないことがあることに気づきました。 Xfce4のパネル1に表示されるアイコンをクリックしたときに表示されるメニューから文字種を変更したときにはそのような挙動はありません。2
Xfce4のパネル1に表示される IBus のメニューとプロパティパネルに表示されるメニューはどちらも同じ IBusProperty で実装されているので基本的には挙動に違いはないはずです。そこで IBus の最新版で挙動を確認することにしました。
IBus の最新版をビルドするには
まずは IBus が依存しているパッケージをインストールします。build-depを使うと依存関係をまるごとインストールできるので便利です。
$ sudo apt build-dep ibus
次に、 IBus が必要としているファイルをあらかじめダウンロードして配置します。3
$ sudo mkdir -p /usr/share/unicode/ucd
$ wget https://www.unicode.org/Public/UNIDATA/NamesList.txt
$ wget https://www.unicode.org/Public/UNIDATA/Blocks.txt
$ sudo cp NamesList.txt Blocks.txt /usr/share/unicode/ucd
次に、 IBus のソースコードを入手して、./autogen.shを実行します。
$ git clone https://github.com/ibus/ibus.git
$ cd ibus
$ ./autogen.sh
最後に、make を実行した後にインストールします。
$ make
$ sudo make install
これで /usr/local 以下へと IBus の最新版がインストールされました。
最新版のIBusを動かす手順
パッケージで IBus をすでに導入している場合、古いライブラリーを見に行ってしまうことがあります。
そこであらかじめ、ライブラリーのパスを環境変数にて指定しておきます。
$ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBLARY_PATH
これで準備ができたので最新版の IBus を試せるようになりました。
次のコマンドを実行すると、ibus-daemon を起動できます。
$ /usr/local/bin/ibus-daemon -x -r
今回追試したいのはパネル1上に表示されるメニューの挙動です。 それを有効にするには、次のコマンドを実行します。
$ /usr/local/libexec/ibus-ui-gtk3
これでパネル1に表示されるメニューの挙動を確認できるようになりました。 実際に試したところ、最新版でも同様の問題を抱えていたため、アップストリームに報告しておきました。
まとめ
今回は IBus の最新版を使って問題の切り分けを行う方法を紹介しました。