[前][次][番号順一覧][スレッド一覧]

sylpheed-jp:665

From: SATO Satoru <ssato@xxxxxxxxxx>
Date: Sat, 16 Jun 2001 17:20:01 +0900
Subject: [sylpheed-jp:00665] Re: Sylpheed が起動しなくなった

佐藤です。


# 説明するのが下手なのでえらい長くなってしまいました。すみません :X

On Sat, 16 Jun 2001 03:55:14 +0900
Takashi Nanao <unchi@xxxxxxxxxx> wrote:

> 七尾です。
> 
> 岩井さん、三嶋さん、佐藤さん、誠にありがとうございます。
> 
> ソースからインストールしてみたのですが(sylpheed-0.4.66.tar.gz)
> なにぶん、恥ずかしながら初めてのソースからのインストールで
> ./configure,make,make install
> をしまして、特にエラーらしきものは出なかったのですが、ktermでsylpheedと
> 打っても
> command not found
> となってしまいまして

./configure を実行する際に標準では /usr/local/bin に sylpheedの
実行バイナリがインストールされると思います. そして七尾さんのユーザの
環境変数 PATH に/usr/local/bin が含まれていないのではないでしょうか?

でもこれは今七尾さんが直面している問題にはまったく関係ありません。

> sylpheed-0.4.66-1.i386.rpm
> を入れたら、入りました。
> しかし、あいかわらず起動しようとすると、gtkなんたらかんたらのエラーが出
> ること 
> に変わりがありません(泣)。

...
> >$ echo $LANGUAGE
> >ja
> >と表示されています。
> >
> >もし、コレと同じになっていたら、もしかしたらフォント関連でしょうか?
> >/etc/X11/XF86ConfigのFontPathと書かれている所はどの様になっていますか?
> >
> >また、英語モードで起動するとどうなりますか?
> 
> ロケールの確認というものをしてみましたら、三嶋さんのものとまったく同じで
> した。
> 
> また、/etc/X11/XF86ConfigのFontPathと書かれている所は、
> 
...
>      FontPath   "/usr/X11R6/lib/X11/fonts/TrueType"
>      FontPath   "unix/:-1"
>      ModulePath "/usr/X11R6/lib/modules"
> 
> EndSection

これを見ると TrueType/* 以外のフォントは font server (xfs?) によって
取得していることがわかりますが、私はxfsについてはあまりよくしらないのでパ
ス.

(でもおそらくここを何とかすればうまくいくのかも. 場当り的な方法としては
xfs を使わないで、FontPath に一行目の TrueType と同じように他のフォント
パスを片っ端から書いてみるとか?)


> また、英語モードでの起動、ですが、bootの際に、
> linux lang=en
> で、いいのでしょうか?

えーと、そういうことではありません。簡単にはしょって(*)説明しますと、

* 正確でない、おおよその話ということ. 鵜呑みにするべからず. 詳細については
  "I18N ハンドブック"という本を参照されたし. (あ、でもまちがってもこの本あ
  わてて買ったりする必要はないです. 高いし、ユーザとしては必要なし)

まず、linux カーネルの言語環境(というものがあるとして)とシステム起動後、ロ
グイン後のユーザの言語環境は関係ありません。というより、言語環境はユーザに
対応して存在するのでカーネル起動時の言語指定というものがあったとしてもナン
センスです。

KDEを除く(*)と、普通の国際化された unix のアプリケーションでは、起動時にシ
ステムの locale を読みにいき、その設定にしたがってアプリケーションの振舞を
変えるようになっています。アプリケーションの振舞とは、真にi18n化されていれ
ば、通貨や時間の単位、yes/no の返事、入力まわりなどあらゆる面でローカライ
ズされなければおかしいですが、実際のところはほとんどの場合で LC_MESSAGES
に対応する、メッセージまわりのローカライズにとどまっています。メッセージま
わりのローカライズとは具体的にはメッセージやメニューなどがその locale での
言語に切り替わる、つまり、LC_MESSAGES=ja_JP.eucJP なら日本語のメニューにな
る、ということです。そして locale の設定は環境変数 LC_* と LANG の指定で行
ないます。ほとんどのディストリビューションでは locale はログイン時に
export LANG=... と .bash_profile や /etc/profile などで指定、export 
され (bash の場合)、ログイン後にはその locale 設定下ですべてのアプリケーシ
ョンが動作するようになっています。

* KDE アプリケーションは、ユーザ毎の設定ファイルの static な locale の設定
  を参照します.

locale の設定が環境変数によるので、システムにグローバルに指定された locale
以外の一時的な locale 環境下でアプリケーションを動作させることも簡単にでき
ます(個人的にはこの柔軟さがとても好き)。例えば、次のように直接指定します:

$ LC_ALL=ja_JP.eucJP sylpheed &

まずこのようにした場合に起動できるでしょうか? 
(おそらく何も問題なく起動すると思うけれど)

でも locale の設定は正しいようですので問題は FontPath や gtkrc まわりでし
ょう。と、ソース見ていたら、sylpheed の gtkrc の初期化はちょっと他の gtk+
アプリケーションとは作法が異なるようですが、理由は何でしょう? gtk_init()
あたりで面倒みてくれるので、明示的に ~/.gtkrc や ~/.gtk/gtkrc を見る必要は
ないと思いますし、同じ gtk+ アプリケーションなのに他と違う振舞をするとこう
いう問題がおきた場合に面倒ではないかと思います。/* parse gtkrc files */ か
らいろいろ gtkrc を読み込んでいるところはばっさり全部削ってしまってもよい
のでは? > 山本さん


ちょっと話がそれてしまったので元に戻しますと、

メニューなどメッセージまわりの国際化については locale で話しが済みますが、
gtk+ アプリケーションの場合はさらに locale に応じた gtkrc ファイルなる初
期化ファイルを読み込むようになっています。このファイルにはどのフォント_セ
ット_を使うか、どのテーマを使うかなどが指定されています。フォントセットと
いうのは X のマルチバイトフォントを扱う仕組がそうなっていて、... 面倒なの
で以下略(ようするに日本語を表示するためには複数のフォントを_セット_にして
指定しなければならないということ)。ほとんどの gtk+ アプリケーションは、フ
ァイル読み込みを明示してソースコードに記述しなくても標準で
/etc/gtk/gtkrc[.{lang}]、~/.gtkrc[.{lang}]
などを読み込むようになっています。sylpheed の場合は ~/.sylpheed/gtkrc
~/.gtkrc などを明示的に読み込んでいるので、それらの初期化ファイルを参照、
その中で指定されたフォント群を表示の際に使うわけです。

つまり、七尾さんの gdk何ちゃらというのはこれらの初期化ファイルで指定された
フォントがみつからないので起動できないよぉ! といってるわけです(だと思う)。

で、対策ですが、~/.sylpheed を消すというのは全然本質的でなくて
~/.sylpheed/gtkrc あるいは ~/.gtkrc などに X 上で利用できるフォントを指定
すればよいのでは?

例えば、他の gtk+ アプリケーションは動くということなので、それらと同じフォ
ントを使うようにしてみる(

~/.sylpheed/gtkrc のフォント指定部分をばっさりコメントアウトして、代りに次
を挿入する

include "/etc/gtk/gtkrc.ja"

か、またはフォント指定部分を書き変える、例えば、

style "gtk-default-ja" {
       fontset = "-*-fixed-medium-r-normal--12-90-75-75-c-50-iso8859-1,\
                 
-*-fixed-medium-r-normal--12-90-75-75-c-100-jisx0208.1983-0,\
                 
-*-fixed-medium-r-normal--12-90-75-75-c-50-jisx0201.1976-0,\
                  -*-fixed-medium-r-normal--*-*-*-*-*-*-*-*,\
                  *-r-*"
}

) のはいかがでしょう?

あ、というか今見たら ~/.sylpheed/sylpheedrc の中でもフォントの設定をし
ていますね。ということは gtkrc でなくてこちらのフォント指定で利用不可なフ
ォントが指定されているのかも。そちらもgtkrcのフォント指定と同じように確認
してみて下さい。(それでももしだめなら次は FontPathをいじると)

# まちがっているところはフォローよろしくお願いします > 識者の方
---
SATO Satoru


[前][次][番号順一覧][スレッド一覧]

       650 2001-06-15 02:25 [unchi@xxxxxxxxxx    ] Re: Sylpheed   が起動しなくなった       
       651 2001-06-15 08:56 ┣[zero@xxxxxxxxxx     ]                                       
       652 2001-06-15 09:41 ┗[tmishima@xxxxxxxxxx ]                                       
       656 2001-06-15 15:13  ┗[unchi@xxxxxxxxxx    ]                                     
       657 2001-06-15 15:43   ┗[iwaim@xxxxxxxxxx    ]                                   
       659 2001-06-15 17:02    ┣[tmishima@xxxxxxxxxx ]                                 
       660 2001-06-15 19:22    ┃┗[ssato@xxxxxxxxxx    ]                               
       662 2001-06-16 03:55    ┗[unchi@xxxxxxxxxx    ]                                 
       663 2001-06-16 09:24     ┣[zero@xxxxxxxxxx     ]                               
->     665 2001-06-16 17:20     ┗[ssato@xxxxxxxxxx    ]                               
       671 2001-06-17 19:18      ┗[unchi@xxxxxxxxxx    ]