長南です。たいへんな長文になってしまいました。 # まず忘れないうちに、お願いしておきます。 # できるだけ、スレッドをつないでおいてください。 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 起動スクリプトを読んだのは、 今回が初めてなんですから。 -- 長南洋一