[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:31578] Re: 文字が表示されない



From: KATOH Yasufumi <karma@xxxxxxxxxxxxxxxx>
Subject: [plamo:31565] Re: 文字が表示されない
Date: Thu, 22 Aug 2013 15:56:01 +0900

お久しぶりです。だいぶ前にATOKの次候補の文字が表示されないと悩んでいた川島です。
お忘れのことでしょう。
>> 恥ずかしい話ですが、それがわかりません。以前は/etc/rc.d/init.dにIIim*
>> atokx2*を置いてそれで起動させていました。plamox86-64になってからは、
>> これらは/etc/rc.d/init.dで起動する以前にすでに起動しており、重複起動と
>> なって、起動中のコンソールの画面が止まるということがよくありました。
ATOK起動スクリプトは/etc/rc.d/rc.Mにありました。
if [ -x /opt/atokx2/sbin/atokx2mngdaemon ] ; then
  echo "Starting ATOKx2..."
  /opt/atokx2/sbin/atokx2mngdaemon
fi
if [ -x /usr/lib/im/htt ] ; then
  echo "Starting htt..."
  /usr/lib/im/htt &
fi
if [ -x /usr/lib64/im/htt ] ; then
  echo "Starting htt..."
  /usr/lib64/im/htt &
fi
こんな立派なスクリプトが書かれているのに、長期間全く知らなかったとは、不覚でした。
このスクリプトの文頭に#!/bin/shを付け、atokx2Sのファイル名で/usr/binに保存。
PANGO_RC_FILE=/etc/pango/pangorc32 /usr/bin/atokx2S
これを書いて起動させる場所ですが、

.xinitrc		Xの画面がかたまって起動しない。
.bashrc			起動しようとするが、エラーの文字を発して途中で止まる
/etc/rc.d/rc.local	無難に起動するが、環境変数が生かされない。

一般ユーザでは起動させるには荷が重いようです。
これは一時休止し、現在出ている不可解なメッセージの解読をすることにしました。

(jp.co.justsystem.atokx2.BasicAux:3546): Pango-WARNING **: /usr/lib64/
pango/1.8.0/modules/pango-basic-fc.so: \xb4?\xe3\xa4bbb\xbf ELF \xa5\
xaf\xa5?\xa4?\xb9: ELFCLASS64

(firefox:3551): Pango-WARNING **: /usr/lib/pango/1.6.0/modules/pango
-basic-fc.so: \xb4?\xe3\xa4bbb\xbf ELF \xa5\xaf\xa5?\xa4?\xb9: ELFCLASS32

これは日本語表示箇所の豆腐状態から、/etc/pango/pangorcを作成後豆腐は消えたが、
文字も表示されてない状態です。豆腐状態のときには、英語で「フォントが選択できない」
という意味のメッセージが出ていました。現在は、フォントは選択できたが、表示がうまく
いっていない。
その謎を解くカギは、pango-basic-fc.soにある。と解釈しました。
あくまでも、わたしの勝手な推理です。
そこでpango.modulesに記載・設定されているpathを比較してみることにしました。

表示できているplamo-5.0
64bit用 ModulesPath = /usr/lib64/pango/1.6.0/modules
32bit用 ModulesPath = /usr/lib/pango/1.6.0/modules

表示できないplamo-5.1 
64bit用 ModulesPath = /usr/lib64/pango/1.8.0/modules
32bit用 ModulesPath = /usr/lib/pango/1.6.0/modules

1.6.0とか1.8.0の意味するところはわかりませんが、plamo-5.0は64bit,32bitが、
1.6.0で一致してます。
plamo-5.1では違っています。plamo-5.1はpangoに関しては64bitでは1.8.0
でないと受けつけません。もしかしたら32bitもそうなのでは?
そこでfindコマンドでpango-basic-fc.soを検索。

/usr/lib64/pango/1.8.0/modules/pango-basic-fc.so
/usr/lib/pango/1.8.0/modules/pango-basic-fc.so
/usr/lib/pango/1.6.0/modules/pango-basic-fc.so

在りました。1.8.0のpathの通った32bit用のpango-basic-fc.soが。
そこで早速/etc/pango/i486-slackware-linux/pango.modulesの
書き替えです。1.6.0を1.8.0にするだけのことですが、多すぎるので、
emacsで一括置換しました。
これで表示されるようになったので、解決ということですが、わたしの推理が正しければ、
あのわけのわからぬメッセージは消えているはずですが、そうはなりません。
それどころか、ATOKで入力するアプリの種類が増えると、それに比例してメッセ−ジも増えます。
何かトラブルがあった場合に、謎を解くカギが表示される重要かつ神聖な場所に得体の知れぬ
文字がズラズラ表示されては、まずい、困る。
原因は、私がテキトーに書いた/etc/pango/pangorcにあるようです。削除をしたら、また表示で
きなくなります。
そこで、再び、加藤さんの言っておられた、環境変数設定直後に起動する方法です。
これが通れば、pangorcは不要です。
> .xinitrc の中に『ATOKX クライアントの起動』という文がありますね.
> 
>   if [ -x /opt/atokx2/bin/atokx2_client.sh ] ; then
>     /opt/atokx2/bin/atokx2_client.sh
>   elif [ -x /usr/lib64/im/locale/ja/atokserver/atokx_client ] ; then
>     . /usr/lib64/im/locale/ja/atokserver/atokx_client
>   fi
> 
> この辺りですかね? このどちらの処理が走ってるのかわかりませんが,このど
> ちらかの中のプログラム起動部分で先に紹介したように設定すれば良いかもし
> れません.
> 
これは先ほどのとはちがって、起動するでしょう。
if [ -x /opt/atokx2/bin/atokx2_client.sh ] ; then
   PANGO_RC_FILE=/etc/pango/pangorc32 /opt/atokx2/bin/atokx2_client.sh
elif [ -x /usr/lib64/im/locale/ja/atokserver/atokx_client ] ; then
  . /usr/lib64/im/locale/ja/atokserver/atokx_client
fi
これで起動しました。おかげさまでスッキリとしたコンソール画面となりました。
加藤さん、ありがとうございます。お世話になりました。



[検索ページ] [メール一覧]
Plamo ML 公開システム