64bitのFedora 15にSkypeを入れたら日本語の入力が出来なかった

結構前の話ですが、Fedora15にSkypeを入れたら、チャットで日本語が入力出来ませんでした。どうもiBusSkypeの入力欄を認識出来ない様で、右上のiBusのアイコンをクリックしても「入力ウィンドウがありません」と表示されてしまいます。

なんとか解決出来たので、メモしておきます。

解決方法

$ sudo yum install qt.i686 qt-x11.i686

どうやらSkypeが配布するバイナリが32bit依存なようで、32bit版のqtなどをインストールしてないといけないみたいです。まっさらなFedoraじゃないので、もしかしたら他にも必要なパッケージがあるかもしれません。

補足

Skypeは、Fedoraだと3種類のバイナリがあります。

  1. Fedora13用のrpm
  2. Dynamicと呼ばれるバイナリ
  3. Staticと呼ばれるバイナリ*1

もしかしたら、rpmを入れておけば困らなかったのかもしれませんが、13用だったのでDynamicとStaticを試しました。依存するライブラリを内包しているらしいStaticの方は、とりあえず起動は出来るが日本語が入力できず。Dynamicの方はライブラリが足りず起動しないという状況でした。
ちなみに、日本語が入力出きるようになったのは、Dynamicのほうです。Staticの方は変わらず、日本語の入力が出来ません。

作業ログ

$ /usr/local/bin/skype
/usr/local/bin/skype: error while loading shared libraries: libQtDBus.so.4: cannot open shared object file: No such file or directory

$ yum provides libQtDBus.so.4
1:qt-4.7.2-8.fc15.i686 : Qt toolkit
リポジトリー        : fedora
一致          :
その他        : libQtDBus.so.4

1:qt-4.7.3-8.fc15.i686 : Qt toolkit
リポジトリー        : updates
一致          :
その他        : libQtDBus.so.4

$ yum info qt
インストール済みパッケージ
名前                : qt
アーキテクチャ      : x86_64
エポック            : 1
バージョン          : 4.7.3
リリース            : 8.fc15
容量                : 15 M
リポジトリー        : installed
提供元リポジトリー  : updates
要約                : Qt toolkit
URL                 : http://www.qtsoftware.com/
ライセンス          : (LGPLv2 with exceptions or GPLv3 with exceptions) and ASL 2.0 and BSD and FTL and MIT
説明                : Qt is a software toolkit for developing applications.
                    : 
                    : This package contains base tools, like string, xml, and network
                    : handling.

利用可能なパッケージ
名前                : qt
アーキテクチャ      : i686
エポック            : 1
バージョン          : 4.7.3
リリース            : 8.fc15
容量                : 4.2 M
リポジトリー        : updates
要約                : Qt toolkit
URL                 : http://www.qtsoftware.com/
ライセンス          : (LGPLv2 with exceptions or GPLv3 with exceptions) and ASL 2.0 and BSD and FTL and MIT
説明                : Qt is a software toolkit for developing applications.
                    : 
                    : This package contains base tools, like string, xml, and network
                    : handling.

$ sudo yum install qt.i686
=====================================================================================================================================
 パッケージ                         アーキテクチャ            バージョン                          リポジトリー                  容量
=====================================================================================================================================
インストールしています:
 qt                                 i686                      1:4.7.3-8.fc15                      updates                      4.2 M
依存性関連でのインストールをします。:
 keyutils-libs                      i686                      1.2-7.fc15                          fedora                        19 k
 krb5-libs                          i686                      1.9.1-5.fc15                        updates                      713 k
 libcom_err                         i686                      1.41.14-2.fc15                      fedora                        35 k
 openssl                            i686                      1.0.0d-1.fc15                       fedora                       1.3 M

トランザクションの要約
=====================================================================================================================================
インストール         5 パッケージ

$ /usr/local/bin/skype
/usr/local/bin/skype: error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory

$ yum provides libQtGui.so.4
1:qt-x11-4.7.2-8.fc15.i686 : Qt GUI-related libraries
リポジトリー        : fedora
一致          :
その他        : libQtGui.so.4



1:qt-x11-4.7.3-8.fc15.i686 : Qt GUI-related libraries
リポジトリー        : updates
一致          :
その他        : libQtGui.so.4

$ sudo yum install qt-x11.i686
=====================================================================================================================================
 パッケージ                        アーキテクチャ            バージョン                           リポジトリー                  容量
=====================================================================================================================================
インストールしています:
 qt-x11                            i686                      1:4.7.3-8.fc15                       updates                       12 M
依存性関連でのインストールをします。:
 lcms-libs                         i686                      1.19-4.fc15                          fedora                       101 k
 libXcursor                        i686                      1.1.11-3.fc15                        fedora                        35 k
 libXdamage                        i686                      1.1.3-2.fc15                         fedora                        18 k
 libXinerama                       i686                      1.1.1-2.fc15                         fedora                        19 k
 libXxf86vm                        i686                      1.1.1-2.fc15                         fedora                        21 k
 libdrm                            i686                      2.4.26-1.fc15                        updates                       71 k
 libmng                            i686                      1.0.10-5.fc15                        fedora                       172 k
 libpciaccess                      i686                      0.12.1-1.fc15                        fedora                        24 k
 mesa-libGL                        i686                      7.11-1.fc15                          updates                      146 k
 mesa-libGLU                       i686                      7.11-1.fc15                          updates                      177 k

トランザクションの要約
=====================================================================================================================================
インストール        11 パッケージ

そういえば、実行してみては、エラーメッセージが要求するライブラリを入れてたけど、lddコマンドで見ればよかったかも。

その他の情報

おそらく日本語版を使っている場合には、skypeで初めからibusが使えるのだろうと思うのだが(想像)、英語版を使っていると、skypeibusが使えないという問題が起こる。日本語入力にはibusを使っているわけだから、ibusが使えないと日本語が入力できない。

skypeを起動するシェルスクリプトを書いて、xim=とかをexportすればいいみたいな書き込みを見つけてトライするも、日本語入力できなくて、しかもできたとしてもちとダサい。

そこで見つけたのがコレ。
http://.google.com/p/ibus/issues/detail?id=613

要するに、/etc/X11/xinit/xinput.d/defaultを以下の内容にすればOK

ubuntuのskypeでibusがつかえない問題[解決済]:きっとそこには何かある:So-netブログ

FedoraじゃなくてUbuntuでの話だけど、こういう話もあるみたい。

#!/bin/sh
export XMODIFIERS="@im=ibus"
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
/usr/local/bin/skype_s $*

ページを見失っちゃったけど、同じような事を書いてるエントリーを参考に、こんなシェルスクリプトから起動するようにしてみたけど、この方法だと改善出来ませんでした。ちなみにskype_sはStatic版へのシンボリックリンクです。
/etc/X11/xinit/xinput.d/defaultとかはあまり良く知らないので、あまり触るのは止めておきました。

環境

Linux Fedora 15
Skype skype-2.2.0.35.tar.bz2

*1:依存するライブラリをある程度内包するらしい