Differences between revisions 5 and 6
Revision 5 as of 2006-11-18 07:49:36
Size: 7756
Editor: OsamuAoki
Comment:
Revision 6 as of 2006-11-18 10:28:47
Size: 8091
Editor: OsamuAoki
Comment:
Deletions are marked like this. Additions are marked like this.
Line 75: Line 75:
* UIMの場合 * UIMの場合
Line 84: Line 84:
* SCIMの場合 {{{uim-fep}}}パッケージを用いるとコンソールでの日本語入力ができます。(日本語表示のための{{{jfbterm}}}は私は良く分かりません)

* SCIM系の場合
Line 89: Line 91:
Line 113: Line 116:
<!> もしEMACSなどだけをXIMを経由せずに日本語入力したい際には、emacsを立ち上げる際の{{{MODIFIERS}}}の値を"none"としてやればいいということです。シェルからだと: <!> emacsの特殊な状況
  * emacsはXやFEPなどの外部ソフトに頼らない独自の日本語入力インフラが色々あるようです。(eggなど。)
  *
もしXIMを経由せずに日本語入力したい際には、emacsを立ち上げる際の{{{MODIFIERS}}}の値を"none"としてやればいいということです。シェルからだと:

日本語環境

Debianのetchでの日本語環境設定について記します。皆さんの設定の参考にしてください。

localeとは

LANG環境変数にあたえる、localeですがxx_YY.ZZZZと言う構造なっていて以下の意味があります。

  • xx

    言語

    yy

    地域 

    zzzz

    エンコーディング

日本の言語地域はja_JPで、これだけだとデフォールトの昔の ja_JP.eucJPの意味になります。 米国(ある意味で一番標準でサポートが良い)の言語地域はen_USで、これだけだとデフォールトの昔の en_US.ISO8859-1の意味になります。

ちなみに日本に御縁のあるエンコードシステムですが:

  • UTF-8

    最近の主流、多国語対応

    eucJP

    昔のUNIXの標準、日本語のみ対応

    Shift-JP

    昔のMicrosoftの標準、日本語のみ対応

    ISO-2022-JP

    日本語e-mailの主流、7-bitコードのみ、日本語のみ対応

    ISO-8859-1

    昔の西欧の主流、Ascii+西欧の文字対応、8ビット

    ASCII

    米国の主流、7ビット

これらはうまく工夫されていて、ASCIIのコード範囲に収まる文字だったら上記どのエンコーディング体系でも同じです。

もしja_JP.UTF-8のlocaleをなんらかの理由でまだ作成設定してないなら

$ sudo dpkg-reconfigure locales

をして作成してください。これが無ければUTF-8の日本語環境は無理です。

環境変数の設定

各種プログラムの挙動は環境変数(LANGやLC_ALL等)の設定によって変わります。

ここで注意が必要なのは、一部のプログラムはPAM(Pluggable Authentication Modules)を使っているので、PAMでの環境変数設定が優先するということです。

etchの標準日本語インストール(2006年11月現在のRC1の前のバージョンの情報)では、日本語でのインストールを選ぶと/etc/environment/etc/defaults/localeというファイルともに

LANG="ja_JP.UTF-8"

という内容を定義していると思います。

通常X環境だと気にならないのですがクラシュしたりしてコンソールを使う際やsuを使うときにも日本語なので私は嫌いです。そういうときは文字化けのない一番確実な環境がいいので、私は日本語表示しない設定にコンソールではすべくこれらのファイルのLANG定義内容を:

LANG="en_US.UTF-8"

としています。(フレームバッファーコンソールやkon2をuim-fepemacsとでUTF-8環境下でうまく動かす方はこれは必要ないだもしれません。基本的に趣味の問題です。)

ただこのままだとディスプレーマネージャーのgdmが英語です。X自体はこれでもLanguageでJapaneseを選べばちゃんと日本語でのメニュー等の表示に対応できます。

でも折角ですから私はディスプレーマネージャーのgdmを日本語メニューで立ち上げています。これにはPAMを使って対応します。 まず、/etc/pam.d/gdm/etc/pam.d/gdm-autologin(このファイルはお使いになっているディスプレーマネージャー次第ですが…)の中の

auth    required        pam_env.so read_env=1 envfile=/etc/default/locale

のlocale関連の環境変数を定義する行を

auth    required        pam_env.so read_env=1 envfile=/etc/default/locale-gdm

と直します。そして/etc/defaults/locale-gdmというファイルを作り、

LANG="ja_JP.UTF-8"

という内容にします。これでGDMは日本語になります。Xの中で使われる言語(LANGの値)はGDMのメニューから選べます。だからこうしておいてもXでは英語の環境も選べます。

Debianでのim-switchの設定の早分かり解説

日本語入力は、im-switchと各日本語変換ツールチェインに付随するGUIコンフィギュレーションツールバーを用いて設定していきましょう。

まず、im-switchパッケージとuimscimのどちらかのパッケージをインストールします。

詳しい設定のことは、/usr/share/doc/im-switch/README.Debian.gz/usr/share/doc/scim/README.Debian.gzに英語で書いてあります。以下に要点だけを日本語にします。

<!> im-switchコマンドは、コマンドがrootから実行されたかどうかで挙動が違います。

* UIM系の場合

  • uim と名の付く役に立ちそうなパッケージをインストールする。("l"をaptitudeで使って見付ける)uim, uim-anthy (Japanese), uim-gtk2.0, ...等。

  • ユーザーとして"im-switch -c" を実行し"uim"を選ぶ。

  • /usr/bin/uim-toolbar-gtkをgnomeのセッションスタートアップリスト(session start up list)に加える。

    • もし、シストレイに状況表示したい際は/usr/bin/uim-toolbar-gtk-systrayを代わりに選ぶ。

    • もし、KDEが好きな際には/usr/bin/uim-toolbar-qtを代わりに選ぶ。

  • ユーザーアカウントにリログインしてXセションを更新する。
  • 入力方法やモードはGUIのツールバーを叩いて設定する。

uim-fepパッケージを用いるとコンソールでの日本語入力ができます。(日本語表示のためのjfbtermは私は良く分かりません)

* SCIM系の場合

  • scim と名の付く役に立ちそうなパッケージをインストールする。("l"をaptitudeで使って見付ける) scim, scim-anthy (Japanese), ...等。

  • ユーザーとして"im-switch -c" を実行し"scim"を選ぶ。

  • ユーザーアカウントにリログインしてXセションを更新する。
  • 入力方法やモードはGUIのツールバーを叩いて設定する。

* MODIFIERSを設定せずen_US同様の挙動を得る。

  • "im-switch -c" を実行し"none"を選ぶ。

  • ユーザーアカウントにリログインしてXセションを更新する。

* デフォルト挙動を回復する

  • "im-switch -a" を実行する。

  • ユーザーアカウントにリログインしてXセションを更新する。

* 設定状況の確認方法

  • "im-switch -l" を実行する。

<!> im-switchによってスタートされる入力方法はlocaleの値に依存することは注意してください。

<!> 英語環境下ででも、im-switchによって日本語等の入力をスタートできる。

<!> SCIMはen_US.UTF-8やCJK以外のlocaleで起動するようにするには~/.scim/globalにあなたがSCIMを起動したいlocaleを

/SupportedUnicodeLocales = en_US.UTF-8,en_GB.UTF_8,fr_FR.UTF-8

等とと列記します。

<!> GTK_IM_MODULE変数に新規のimmodukleメカニズムを設定して使わないとと考えるかもしれませんが、現状はGTK_IM_MODULE変数にXIMに設定するのが最も安定するようです。詳しくは/usr/share/doc/scim/README.Debian.gzに英語で書いてあります

<!> emacsの特殊な状況

  • emacsはXやFEPなどの外部ソフトに頼らない独自の日本語入力インフラが色々あるようです。(eggなど。)
  • もしXIMを経由せずに日本語入力したい際には、emacsを立ち上げる際のMODIFIERSの値を"none"としてやればいいということです。シェルからだと:

$ MODIFIERS=none emacs

です。このようにDebianのmenuを触るのは、/usr/share/doc/menu/htmlの手順にしたがって/etc/menuにカスタマイズした定義を置いてください。