Linuxでkai(kai設定編) > kaiインストール > kaiengine.sh

Total: - (Today: - Yesterday: - )
最終更新日 2011/05/21 11:34

kaiengine実行について、基本的にはこんな感じで実行すればいいのですが、それだけでは不十分な場合もあったりします。
$ sudo LANG=ja_JP.SJIS /path/to/kaiengine               /path/to/はkaiengineのパス
  • ERROR発生してぜんぜん動かなかったり
  • 動くことは動くけどWARNINGがたくさん表示されたり
そういう場合、ディストリビューションやバージョン、32/64-bitカーネルなど環境の違いに応じた追加設定を施してkaiengineを実行しましょう。

前半は環境別の変数設定を中心に、後半をERROR/WARNINGなど症状と対策に分けました。


1.環境にあわせたkaiengine.shを作成する

kaiengine.shの基本形を次のように考えた場合、5~6行目を環境に合わせて調整しましょう。
その他の環境変数設定によって、別途設定ファイルを用意する必要があることにも注意してください。
1 #!/bin/bash
2 XLINKKAI_HOME=$HOME/.XLinkKai         <== "ユーザー設定ファイルを置く場所"
3 XLINKKAI_PATH=/usr/local/bin          <== "kaiengineプログラムを置く場所"
4 cd $XLINKKAI_HOME
5 "環境によっては事前に何か設定する"
6 sudo LANG=ja_JP.SJIS "その他の環境変数設定" $XLINKKAI_PATH/kaiengine
 
下記以外の環境で使用している場合は情報追加またはコメントへの投稿をお願いします。

1.1. ubuntuの例

Ver. 備考
10.04
10.10
11.04
i386 sudo LANG=ja_JP.SJIS $XLINKKAI_PATH/kaiengine
10.04 amd64 sudo LANG=ja_JP.SJIS GTK_IM_MODULE_FILE=/etc/gtk-2.0/gtk.immodules.32 $XLINKKAI_PATH/kaiengine
11.04 amd64 sudo LANG=ja_JP.SJIS GTK_IM_MODULE_FILE=/etc/gtk-2.0/gtk.immodules.32 GDK_PIXBUF_MODULE_FILE=/etc/gtk-2.0/gdk-pixbuf.loaders.32 $XLINKKAI_PATH/kaiengine
  • /etc/gtk-2.0/gtk.immodules.32と/etc/gtk-2.0/gdk-pixbuf.loaders.32は後半を参照してください

1.2. debianの例

Ver. 備考
5.0
6.0
i386 sudo LANG=ja_JP.SJIS $XLINKKAI_PATH/kaiengine
6.0 amd64 sudo LANG=ja_JP.SJIS GTK_PATH=/usr/lib32/gtk-2.0 $XLINKKAI_PATH/kaiengine

1.3. fedoraの例

Ver. 備考
11.3
11.4
i586
x86_64
sudo LANG=ja_JP.SJIS $XLINKKAI_PATH/kaiengine

1.4. opensuseの例

Ver. 備考
11.3 i586 xhost +local:
sudo DISPLAY=:0.0 LANG=ja_JP.CP932 $XLINKKAI_PATH/kaiengine
11.4 i586
x86_64
xhost +local:
sudo LD_LIBRARY_PATH=/usr/lib/wx-2.8-wxcontainer:$LD_LIBRARY_PATH DISPLAY=:0.0 LANG=ja_JP.CP932 $XLINKKAI_PATH/kaiengine

1.5. slackwareの例

Ver. 備考
13.1
13.37
i486
x86_64
sudo LC_ALL=ja_JP.SJIS $XLINKKAI_PATH/kaiengine

1.6. その他

1.6.1. archlinuxの例

Ver. 備考
- i686
x86_64
sudo LC_ALL=ja_JP.SJIS $XLINKKAI_PATH/kaiengine

1.6.2. puppyの例

Ver. 備考
4.3.1 - LC_ALL=ja_JP.SJIS $XLINKKAI_PATH/kaiengine



2.ERROR/WARNING別の症状と対策について

下記以外のERROR/WARNINGが発生している場合は情報追加またはコメントへの投稿をお願いします。

2.1. 文字化け、日本語

LANG指定しているのに日本語が文字化け #1

症状 日本語が文字化けする
環境 すべて
対策 ja_JP.SJISロケールを登録する。
sudo localedef -f WINDOWS-31J -i ja_JP ja_JP.SJIS
備考 locale -a | grep ja_JP として確認、ja_JP.SJISが一覧に表示されてますか。

LANG指定しているのに日本語が文字化け #2

症状 日本語が文字化けする
環境 slackware, archlinux
対策 kaiengine実行時に、LC_ALL=ja_JP.SJIS を設定
備考

[~](チルダ)が[‾](オーバーライン)に化ける

症状 [~](チルダ)が[‾](オーバーライン)に化ける
環境 openSUSE
対策 kaiengine実行時に、LANG=ja_JP.cp932を設定。openSUSEはOS導入直後からja_JP.SJIS定義済みなのだが、WINDOWS-31JではなくてSHIFT_JISでロケール生成されてるみたい。紛らわしいけど、ja_JP.SJISはそのまま残して、ja_JP.cp932の名前で登録しましょう。
備考 同様の症状は他環境でも確認できる。
ja_JP.SJISロケールを次にようにすると症状発生。
sudo localedef -f SHIFT_JIS -i ja_JP ja_JP.SJIS

LC_ALL指定しているのに日本語が文字化け #3

症状 Gdk-WARNING **: locale not supported by C library
Gtk-WARNING **: Locale not supported by C library. Using the fallback 'C' locale.
環境 slackware x86_64 multilib
対策 sudo localedef -f WINDOWS-31J -i ja_JP ja_JP.SJIS 後に、/usr/lib64/locale/locale-archiveファイルを/usr/lib/locale/へコピーします。
備考

2.2. Xサーバ

No protocol specified

症状 No protocol specified
環境 openSUSE, slackware, archlinux
対策 kaiengine実行前に xhost +local: を設定
備考 DISPLAYも確認するといいかも

DISPLAY未定義

症状 何も表示されず即終了してしまう
環境 openSUSE
対策 kaiengine実行時に DISPLAY:0.0 を設定
備考 何も表示されないため分かりにくい。動かないということだけはすぐに分かる

2.3. ライブラリ

GTK_PATH未定義

症状 Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so: wrong ELF class: ELFCLASS64
環境 debian
対策 kaiengine実行時に GTK_PATH=/usr/lib32/gtk-2.0を設定
備考

GTK_IM_MODULE_FILE未定義

症状 Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/immodules/im-xim.so: 間違った ELF クラスです: ELFCLASS64
Gtk-WARNING **: Loading IM context type 'xim' failed
環境 ubuntu 10.04, 11.04
対策 kaiengine実行時に GTK_IM_MODULE_FILE=/etc/gtk-2.0/gtk.immodules.32を設定
備考 /etc/gtk-2.0/gtk.immodules.32ファイルは次のように生成する。
sudo sh -c '/usr/lib32/libgtk2.0-0/gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules.32'

GDK_PIXBUF_MODULE_FILE未定義

症状 GdkPixbuf-WARNING **: Error loading XPM image loader: 画像ロード・モジュールを読み込めません: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so: /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so: 間違った ELF クラスです: ELFCLASS64
Gdk-CRITICAL **: IA__gdk_drawable_get_size: assertion `GDK_IS_DRAWABLE (drawable)' failed
Gdk-CRITICAL **: IA__gdk_drawable_get_depth: assertion `GDK_IS_DRAWABLE (drawable)' failed
kaiengine起動時スプラッシュ画像、パネルのkaiアイコンが灰色表示になる。
環境 ubuntu 11.04
対策 kaiengine実行時に GDK_PIXBUF_MODULE_FILE=/etc/gtk-2.0/gdk-pixbuf.loaders.32を設定
備考 /etc/gtk-2.0/gdk-pixbuf.loaders.32ファイルは次のように生成する。
sudo sh -c 'GDK_PIXBUF_MODULEDIR=/usr/lib32/gdk-pixbuf-2.0/2.10.0/loaders /usr/lib32/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders.32'

GDK_PIXBUF_MODULE_FILE不正

症状 GdkPixbuf-WARNING **: Cannot open pixbuf loader module file '/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache': そのようなファイルやディレクトリはありません
環境 slackware x86_64 multilib
対策 /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cacheを作成します。
備考

cannot open shared object file

症状 error while loading shared libraries: libwx_gtk2u_richtext-2.8.so.0: cannot open shared object file: No such file or directory
環境 openSUSE 11.4
対策 openSUSE 11.4の場合、kaiengine実行時 LD_LIBRARY_PATH=/usr/lib/wx-2.8-wxcontainer:$LD_LIBRARY_PATHを設定
備考 openSUSE 11.4の場合、3種類のwxGTKが提供されているので、さらに注意が必要

Pango-CRITICAL **: No modules found

症状 Pango-CRITICAL **: No modules found:
No builtin or dynamically loaded modules were found.
PangoFc will not work correctly.
This probably means there was an error in the creation of: '/etc/pango/pango.modules'
You should create this file by running: pango-querymodules > '/etc/pango/pango.modules'
Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='common'
Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='latin'
環境 slackware x86_64 32-bit chroot
対策 (1)pango.modulesファイルの作成(生成するパスは環境によって違うと思います)
/usr/bin/pango-querymodules > /etc/pango/i486-slackware-linux/pango.modules
(2)/etc/pango/pangorcファイルの作成
[Pango]
ModuleFiles=/etc/pango/i486-slackware-linux/pango.modules
[PangoX]
AliasFiles=/etc/pango/pangox.aliases
(3)kaiengine実行時に PANGO_RC_FILE=/etc/pango/pangorcを設定
備考 slackware x86_64 32-bit chrootにてこの症状と対策を確認

2.4. その他

Cannot convert from the charset 'Unknown encoding (-1)'!

症状 Error: Cannot convert from the charset 'Unknown encoding (-1)'!
環境 すべて
対策 なし
備考 ja_JP.SJISで実行するために表示されてしまう。
Kai画面での日本語チャットは問題ないため、このメッセージは無視しましょう。

以上でkaiengine起動スクリプトの作成は終わり。


コメント

  • PuppyLinuxの場合を追加 -- kar (2010-08-28 17:35:19)
  • debian 64-bit版の箇所を追加 -- kar (2011-04-12 21:12:53)
  • openSUSE 11.4を追加 -- kar (2011-04-22 21:37:25)
  • ubuntu 64-bit版のWARNING対策の内容を追加 -- kar (2011-05-04 11:56:09)
  • slackware x86_64追加、ページ後半によくある不具合をまとめました -- kar (2011-05-21 11:34:52)
名前:
コメント:
最終更新:2011年05月21日 11:34
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。