Japanese Environment

I hereby describe methods to set up Japanese environment under Debian etch for your reference. (This should give good reference to other non-European languages.)

Each command is not explained here in detail. Please refer to the manpages.

<!> In order to setup and use not only Japanese environment but also multilingual environment smoothly, please select the locale with UTF-8 encoding.

Required packages for Japanese environment

Following lists required packages for Japanese environment.

== What is locale ==The best supported language region is U

The locale is used for LANG environment variable to define language environment. It has structureof xx_YY.ZZZZ and has following meanings:

The language region of Japan is ja_JP but if it is used alone it is treated as tradional ja_JP.eucJP . The language region of US (the best supported) is en_US but if it is used alone it is treated as tradional en_US.ISO8859-1.

For example, the encoding system often used for Japanese are:

These encodings are well thought out to keep them compatible within ASCII code ranges.

If you happen not to created ja_JP.UTF-8 locale, please execute followings to enable Japanese UTF-8 environment.

$ sudo dpkg-reconfigure locales

Each program behaves differently depending on the set up of language related environment variables.

Here, you have to pay attention to the fact that some program uses PAM (pluggable Authentification Module) and the environment variable set by PAM has priority.

Both /etc/environment and /etc/defaults/locale files define

LANG="ja_JP.UTF-8"

when Japanese is selected during the etch installation processunder etch (as of December 2006).

Under normal X environment, this is OK with me. But I do not like to use Japanese for console session after system crash or for su session. For such session, I like most robust environment for console thus I set LANG definition for them as:

LANG="en_US.UTF-8"

There may be a way to work around this problem using kon2 or frame buffer console. This is purely my taste issue.

But this will make gdm to be in English. (X session itself can be set to Japanese from gdm menu.)

I use PAM to start gdm with Japanese menu as follows. First Let's change the following line defining language environment variable in /etc/pam.d/gdm or /etc/pam.d/gdm-autologin (the actual file depends on display manager and its setup):

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

into

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

.Then create a file /etc/defaults/locale-gdm containing:

LANG="ja_JP.UTF-8"

.Then GDM becomes Japanese. Actual language (value for LANG) can be set through GDM menu. So you can still use English environment in X.

Setup of Japanese input in Debian

Setup of Japanese input in Debian is simplified by using im-switch.

For complicated setups specific to the each Japanese input method is best handled by the accompanying GUI configuration tool for each input method. For these configuration tools can be activated by clicking icon for the setup in the toolbar of Japanese input methods or clicking configuration tool icon on Gnome toolbar as [Desktop] -> [Configuration].

First you install im-switch and one of the Japanese input tool chain packages, uim or scim.

For the detail of setup, see /usr/share/doc/im-switch/README.Debian.gz, /usr/share/doc/scim/README.Debian.gz or /usr/share/doc/uim/README.Debian.gz. Here key points are described.

<!> im-switch command behaves differently if command is executed from root or not.

$ cd ~/.xinput.d
$ ls -l
lrwxrwxrwx 1 osamu osamu 28 2006-11-25 00:50 ja_JP -> /etc/X11/xinit/xinput.d/scim
$ cat ja_JP | sed 's/XIM_PROGRAM=.*/XIM_PROGRAM=/;s/XIM_ARGS=.*/XIM_ARGS=/'>ja.JP.file
$ mv ja.JP.file ja.JP

上記のUIMの設定の変化形として、セッションマネージャーに起動を登録する代わりに、shellから"uim-toolbar-gtk >/dev/null 2>dev/null &"としてツールバーを起動し、シャットダウン時に自動登録され再起動時に立ち上がるのにたよるのも方法してあります。(uim-ximが安定してからの遅延起動がうまくいくかどうかはまだテストせず。)

上記ではセッションマネージャーに頼らずツールバーが起動されます。再ログインするときなどにセッションマネージャーにもよってツールバーが起動され複数起動になる場合などは、Desktop->Preferences->Session でセッションマネージャーが"uim-toolbar-gtk" を(再)起動しないように登録するとよいです。

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

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

<!> 英語環境下ででも、im-switchによって日本語等の入力できる環境をスタートできます。en_US.UTF-8環境で日本語での入力は意外と便利です。

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

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

等と列記します。

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

各プログラムとの連携

emacsの状況

$ XMODIFIERS=none emacs

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

vimの状況