結論的にはださいがこれでいけた:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sudo ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so /opt/HipChat/lib/plugins/platforminputcontexts |
今回はこうだったが、実際は環境によっていろいろだと思うので、進め方を残しておく。
環境
- Distribution
- Ubuntu 14.04 Japanese Remix (amd64)
- Desktop 環境
- Cinnamon →第342回 デスクトップ環境Cinnamonを使用する:Ubuntu Weekly Recipeを参照
Qt5での日本語入力に必要なこと
Qt5でbuildされた QtCreatorで日本語入力をできるようにする(@Linux環境) によると、どうやら2つのことが必要らしい。- 環境変数QT_IM_MODULEの設定
- platforminputcontextsプラグインの配置(or 環境変数でプラグインパスの変更)
対象アプリケーションの構成の確認
HipChatのインストール方法はHipChat - Downloadsに書いてある通り、apt-lineを追加してapt-get install。つまり、公式ではない野良アプリケーション。以下のコマンド出力からわかるように、自前でQt5ライブラリを抱えており、シンボリックリンク"/usr/bin/hipchat"からのbash script "/opt/HipChat/bin/hipchat"からの/opt/HipChat/lib/hipchat.binで起動するようになっている。
$ dpkg -L hipchat /usr /usr/bin /usr/share /usr/share/applications /usr/share/applications/hipchat.desktop /usr/share/icons /usr/share/icons/hicolor /usr/share/icons/hicolor/256x256 /usr/share/icons/hicolor/256x256/apps /usr/share/icons/hicolor/256x256/apps/hipchat.png (略) /opt /opt/HipChat /opt/HipChat/bin /opt/HipChat/bin/linuxbrowserlaunch /opt/HipChat/bin/hipchat /opt/HipChat/bin/HipChatNowPlaying.rb /opt/HipChat/lib /opt/HipChat/lib/libvorbis.so.0.4.5 /opt/HipChat/lib/libvorbisfile.so.3.3.4 (略) /usr/bin/hipchat (略) /opt/HipChat/lib/hipchat.bin (略) /opt/HipChat/lib/libQt5Network.so.5 /opt/HipChat/lib/libvorbis.so /opt/HipChat/lib/libQt5Sql.so.5 /opt/HipChat/lib/libdbusmenu-qt5.so.2 $ file /usr/bin/hipchat /usr/bin/hipchat: symbolic link to `/opt/HipChat/bin/hipchat' $ file /opt/HipChat/bin/hipchat /opt/HipChat/bin/hipchat: Bourne-Again shell script, ASCII text executable $ tail -1 /opt/HipChat/bin/hipchat exec -a "$0" $commandtorun "$hipchatRoot/lib/hipchat.bin" $arguments
環境変数QT_IM_MODULEの設定
QT_IM_MODULEが設定されていることを確認する。$ env | grep IM_ CLUTTER_IM_MODULE=xim QT_IM_MODULE=fcitx QT4_IM_MODULE=fcitx GTK_IM_MODULE=fcitx
fcitxに設定されているようだ。
platforminputcontextsプラグインの確認
先ほどの記事によると、platforminputcontextsプラグインが重要らしい。ということでパッケージを調べてみると$ dpkg -L hipchat | grep platforminput /opt/HipChat/lib/plugins/platforminputcontexts /opt/HipChat/lib/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so /opt/HipChat/lib/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so
ということで、fcitxはない。ibusはあるので、おそらくibusだったらそのまま入力できたのだろう。
Ubuntu側にあればもらってこようと思って調べたら、
$ dpkg -S fcitxplatform fcitx-frontend-qt5:amd64: /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.soということで、存在していた。なければapt-get install fcitx-frontend-qt5で入りそうである。
そのため、以下のようにシンボリックリンクを張ることで日本語入力を行うことができるようになった。
$ sudo ln -s /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so \ /opt/HipChat/lib/plugins/platforminputcontexts/それぞれビルドされた環境が異なるし、いつまでこれができるかわからないので、いっそcpでコピーしたほうがいいかもしれない。
番外:環境変数QT_PLUGIN_PATHの設定
先ほどの記事からするとQT_PLUGIN_PATHを/usr/lib/x86_64-linux-gnu/qt5/pluginsに向ければいけそうであるが、そうはいかない。というのも、/opt/HipChat/bin/hipchatがunsetしているからである。/opt/HipChat/bin/hipchat抜粋:
thisfile="`readlink -f "$0"`" thisdirectory="`dirname "$thisfile"`" hipchatRoot=$thisdirectory/../ export HIPCHAT_LD_LIBRARY_PATH=$LD_LIBRARY_PATH export HIPCHAT_QT_PLUGIN_PATH=$QT_PLUGIN_PATH export LD_LIBRARY_PATH=$hipchatRoot/lib unset QT_PLUGIN_PATH exec -a "$0" $commandtorun "$hipchatRoot/lib/hipchat.bin" $arguments
自前のほうに向けないとあらぬプラグインを読んだりするかもしれないものね。こういうケースもあるので、野良アプリケーションでは起動するときの流れを確認されたい。