Differences between revisions 3 and 4
Revision 3 as of 2006-11-18 01:38:55
Size: 6899
Editor: OsamuAoki
Comment:
Revision 4 as of 2006-11-18 05:37:56
Size: 7622
Editor: OsamuAoki
Comment:
Deletions are marked like this. Additions are marked like this.
Line 42: Line 42:
通常X環境だと気にならないのですがクラシュしたりしてコンソールを使う際や{{{su}}}を使うときにも日本語なので私は嫌いです。そういうときは文字化けのない一番確実な環境がいいので。そこで私はコンソールでは普通日本語表示しない設定にすべくこれらファイルの内容を: 通常X環境だと気にならないのですがクラシュしたりしてコンソールを使う際や{{{su}}}を使うときにも日本語なので私は嫌いです。そういうときは文字化けのない一番確実な環境がいいので私は日本語表示しない設定にコンソールではすべくこれらファイルのLANG定義内容を:
Line 46: Line 46:
としています。(フレームバッファーコンソールやkon2を{{{uim-fep}}}や{{{emacs}}}とでUTF-8環境下でうまく動かす方はこれは必要ありません。) としています。(フレームバッファーコンソールやkon2を{{{uim-fep}}}や{{{emacs}}}とでUTF-8環境下でうまく動かす方はこれは必要ないだもしれません。基本的に趣味の問題です。)
Line 48: Line 48:
ただこのままだとディスプレーマネージャーの{{{gdm}}}が英語です。X自体はこれでもLanguageでJapaneseを選べばちゃんと対応できます。 ただこのままだとディスプレーマネージャーの{{{gdm}}}が英語です。X自体はこれでもLanguageでJapaneseを選べばちゃんと日本語でのメニュー等の表示に対応できます。
Line 50: Line 50:
でも折角ですから私はディスプレーマネージャーの{{{gdm}}}を日本語で立ち上げています。これにはPAM対応します。 でも折角ですから私はディスプレーマネージャーの{{{gdm}}}を日本語メニューで立ち上げています。これにはPAMを使って対応します。
Line 55: Line 55:
の行を のlocale関連の環境変数を定義する行を
Line 63: Line 63:
という内容にします。これでGDMは日本語になります。Xの中で使われる言語(LANGの値)はGDMのメニューから選べます。 という内容にします。これでGDMは日本語になります。Xの中で使われる言語(LANGの値)はGDMのメニューから選べます。だからこうしておいてもXでは英語の環境も選べます。
Line 67: Line 67:
日本語入力は、{{{im-switch}}}とGUIコンフィギュレーションツールバーを用いて設定していきましょう。 日本語入力は、{{{im-switch}}}と各日本語変換ツールチェインに付随するGUIコンフィギュレーションツールバーを用いて設定していきましょう。
Line 110: Line 110:

<!> もしEMACSなどだけをXIMを経由せずに日本語入力したい際には、emacsを立ち上げる際の{{{MODIFIERS}}}の値を"none"としてやればいいということです。シェルからだと:
{{{
$ MODIFIERS=none emacs
}}}
です。このようにDebianのmenuを触るのは、{{{/usr/share/doc/menu/html}}}の手順にしたがって{{{/etc/menu}}}にカスタマイズした定義を置いてください。

日本語環境

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コンフィギュレーションツールバーを用いて設定していきましょう。

詳しい設定のことは、/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のツールバーを叩いて設定する。

* 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などだけをXIMを経由せずに日本語入力したい際には、emacsを立ち上げる際のMODIFIERSの値を"none"としてやればいいということです。シェルからだと:

$ MODIFIERS=none emacs

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