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

[debian-users:44182] Re: 日本語入力ができません



NANAです。

長南さん 蝦名さん、

ご返答頂き、ありがとうございます。
私は、UNIX歴は5年ほどなのですが、LPICの資格を取るた めに、 今回初めてLinuxを入れてみて見ました。(MLにメールす るのも初めてです・・・) X-System を使うのも今回が初めてすので、こんなに複雑な仕組みに なっているとは
思いもよりませんでした。
現在は、Kinput2 + Canna の組み合わせでなんとか日本語入力が できるように なっていますので、今の設定を保持しながら、長南さんがおっしゃった ように、
/etc/gdm/Xsession から解読してゆっくり理解していきたいと思います。
debian の書籍はあまり見かけずやはり他のディストリビューションより
情報が少ないかと思いますので(気づいていないだけかもしれません が・・)
このようなMLがあることがとても心強いです。

この度は本当にいろいろ助言を頂きどうもありがとうございました!





On 2005/07/22, at 21:59, 長南洋一 wrote:

長南です。たいへんな長文になってしまいました。

# まず忘れないうちに、お願いしておきます。
# できるだけ、スレッドをつないでおいてください。

NANA さんのメールより [debian-users:44179]



何と何を入れて、どういうことをなさったのですか。そのへんをも う少し
詳しくお書きになってください。


インストールしたのは以下のものです。
libuim0
libuim0-nox
uim-canna
uim-common
uim-gtk2.0
uim-utils
uim-xim
そして、~/.xsession に以下のような uim の設定をし ました。
XMODIFIERS=@im=uim-anthy ; export XMODIFIERS
GTK_IM_MODULE=uim-xim ; export GTK_IM_MODULE
exec uim-anthy &
exec uim-helper-toolbar-gtk-systray &


かな漢字変換システムに canna ではなく anthy を、イ ンプットメソッドに
kinput2 ではなく uim を使おうとなさったのですか。

私は anthy を使ったことがないので、その使用法に深入りす ることは できません。でも、上の .xsession の記述の場合、 exec という文字を 消さないと、.xsession の実行がそこから先に進まないと思い ます。 exec については、シェルの内部コマンドですから、man bash で調べてください。

一応ここでは canna + kinput2 の組み合わせで使うことにし て、話を 進めます。私はそれしか知りませんから(uim をちょっと使っ たことが
ありますけれど)。


kinput2 ... を実行したユーザは誰なのですか。root、一般 ユーザ?


root ユーザーで実行していました。


kinput2 は一般ユーザでも実行できますが、root ユーザで日 本語入力を なさりたいということなのでしょうか。それならば、すでに日本語変 換が できる一般ユーザから su で root になるのが、一番簡 単だと思います。 思い切って root で set-language-env -R を実行する 手もありますけれど (man set-language-env 参照)、set-language-env が推 奨していない 方法ですし……(どんば不都合があるんだろう)。もし実 行するのなら、 その前に /root にあるドット・ファイルをバックアップして おいた方が
よいかもしれません。


いろいろなサイトを閲覧して、少し混乱しているので、認識を確認
させてください。

デスクトップ環境を使うには、
【 ディスプレイマネージャー 】 と 【 startx 】、2つの方法が
あり、
・ディスプレイマネージャー(xdm gdm kdm)は、 ~/.xsession なけ
れば、/etc/X11/Xsession
 ※gdm は ~/.gnomerc なければ、/etc/X11/Xsession
・startx は、~/.xinitrc なければ、/etc/X11/xinit/ xinitrc
をそれぞれ読み込んで起動


startx で X を起動する場合については、おっしゃるとおりで す。 でも、ディスプレイマネージャ経由で X を使用する場合の方 は、
ちょっと違います。

このへんはディストリビューションによってかなり様々です。
ですから、Web で調べて、かえって混乱なさったのも、もっと もな
ことだと思います。バージョンによっても違うかもしれませんし。

debian sarge の gdm の場合は、/etc/gdm/gdm.conf に 「BaseXsession= /etc/gdm/Xsession」と書いてあります。つまり、まず /etc/gdm/ Xsession を実行しているわけです。そこで /etc/gdm/Xsession から進 行を たどってみると、/etc/gdm/Xsession が /etc/X11/ Xsession.d にある スクリプトを読み込み、そのスクリプトの中で $HOME/.xsession を (存在する場合は)実行しているのです。 $HOME/.gnomerc が存在する場合も、 やはり /etc/X11/Xsession.d 中のスクリプトで読み込まれて います。 実際には gdm から Xsession に与えられる引数があっ て、話はもっと
複雑なのですけれど。

# gdm で Default System Session 以外を意図的に選ぶと、 $HOME/.xsession # が実行されないようです。X 起動時に(と言うか、グ ラフィック・ログイン # 時に)、kinput2 が動いていないとしたら、これが原 因かもしれません。

xdm の場合は、/etc/X11/xdm/Xsession --> /etc/X11/Xsession -->
/etc/X11/Xsession.d/* --> $HOME/.xsession という流れになります。

kdm については知りません。

ついでに言うと、/etc/X11/xinit/xinitrc も /etc/X11/ Xsession を 読みに行っています。ですから、$HOME/.xsession が存在すれ ば、
この場合も実行されます。

わかりにくい説明になってしまいましたし、私が何か誤解しているかも
しれません。ご自分で /etc/gdm/Xsession から追ってみてく ださい。


さらに日本語環境にするには、
一般ユーザーで set-langurege-env を実行し、
使用したいインプットメソッドと変換エンジンを決め、
~/.xsession(~/.gnomerc) または ~/.xinitrc の始めに、

LANG=ja_JP.eucJP
export LANG
XMODIFIERS=@im=kinput2; export XMODIFIERS
exec kinput2 -canna &

を記述し、インプットメソッドと変換エンジンを指定する

というような理解でよろしいのでしょうか?


ちょっと揚げ足取りめいていますが、kinput2 を使うなら、上 の記述は set-language-env がやってくれるわけですね。それから、 kinput2 を
exec してはいけません。

canna + uim というのを試してみたことがあります。その場合は
$HOME/.xsession をこんなふうに書き換えました。

  XMODIFIERS=@im=uim; export XMODIFIERS
  uim-xim &

それから、$HOME/.Xresources を次のように変更。

!#define XIM kinput2 # 行頭に ! を付けて、コメ ントアウトし、
  #define XIM uim             # この行を付け加えた。

$HOME/.bashrc に次の行があるのですが、これは放っておいても問題 ない
ようです。

  # XIM サーバーの名前を定義する
  # (XIM は、language-env だけで使うシェル変数です)
  XIM=kinput2

もし、canna 以外の変換エンジンも入れているのなら、 $HOME/.uim を
作って、こう書き込む必要があるらしい。試したことはないのですが。

  (define default-im-name 'canna)

以上です。

あちこちに説明しきれなかったり、私自身がよくわかっていなかった りする ところがあります。なにしろ、debian の X 起動スクリ プトを読んだのは、
今回が初めてなんですから。

--
長南洋一