[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:44181] Re: 日本語入力ができません
長南です。たいへんな長文になってしまいました。
# まず忘れないうちに、お願いしておきます。
# できるだけ、スレッドをつないでおいてください。
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 起動スクリプトを読んだのは、
今回が初めてなんですから。
--
長南洋一