set-language-env(1) 基本的な自然言語環境を構築する

書式

set-language-env [-l language] [-hvsrNcCRE]

説明

set-language-env は、初心者ユーザーのために、ドットファイルに書き込みを行うことによって 基本的な言語環境を構築する。ドットファイルに書き込みを行うので、 set-language-env を実行したユーザーの個人的な環境のみが設定される。システム全体の 設定はまったく変更されない。(ただし、root ユーザーは、/etc/skel に対して書き込むことができる)。

このバージョンは、言語として日本語、韓国語、タイ語、ドイツ語、 フランス語、スペイン語、ロシア語、ベラルーシ語、ブルガリア語、 マケドニア語、セルビア語、ウクライナ語、ポーランド語、デンマーク語、 リトアニア語、トルコ語をサポートしている。

set-language-env は、最後に、インストールすべき Debian パッケージの一覧を表示する。 設定した内容を生かすため、表示された Debian パッケージを手動で インストールする必要がある。自分でインストールするか、 システム管理者に頼んでインストールしてもらうこと。

ドットファイルに書き込んだ内容は、 set-language-env が独自に加えたコメント行によって囲まれている。この行は set-language-env が使うので、変更を加えてはならない。しかし、その前後や、 set-language-env によって加えられた「中身」を改変/追加/削除するのはかまわない。 このとき、「中身」を改変した場合には、 set-language-env を再び実行するとその改変した内容は消されてしまう。しかし、「前後」 を改変した場合には、 set-language-env を再び実行しても消されないし、「前」に書いたものは そのまま「前」に、「後」に書いたものはそのまま「後」に残される。 したがって、 set-language-env が行った設定を上書きしたい場合で、かつ、 set-language-env をバージョンアップして set-language-env を実行した際にもその上書きが無効にされたくないなら、それは「後」 に書くべきだ、ということになる (ただし、これは、その設定ファイルが どのような方法で読まれるかに依存する。たとえば .bashrc ならこの通りに なる)。

オプション

-l language
設定したい言語を指定する。現在サポートされている言語は、
be ベラルーシ語
bg ブルガリア語
ca カタルーニャ語
da デンマーク語
de ドイツ語
es スペイン語
fr フランス語
ja 日本語
ko 韓国語
lt リトアニア語
mk マケドニア語
pl ポーランド語
ru ロシア語
sr セルビア語
th タイ語
tr トルコ語
uk ウクライナ語
である。
-h
ヘルプメッセージを表示する。
-v
実行時に詳しい情報を表示する。おもにデバッグ用である。
-s
サポートされている言語の一覧を表示する。
-r
set-language-env によってドットファイルに書きこまれた全ての設定を削除する。
-N
別の set-language-env を起動しない。内部で使用するためのオプションであり、 一般ユーザーが使うためのものではない。
-c
set-language-env の実行時に、言語固有の (ASCII 以外の) 文字 (漢字や ISO-8859-1 など) を 使わない。内部で使用するためのオプションであるが、 言語固有の文字を使えるかどうかの自動チェックがうまく働かないときに それを無効にするために用いることもできる。
-C
set-language-env の実行時に、言語固有の (ASCII 以外の) 文字 (漢字や ISO-8859-1 など) を 使う。内部で使用するためのオプションであるが、 言語固有の文字を使えるかどうかの自動チェックがうまく働かないときに それを無効にするために用いることもできる。
-R
set-language-env は、root ユーザーの設定を変更することを推奨していないため、 root ユーザーが set-language-env を実行すると警告を表示して終了する。このオプションは、 そのチェックを無効にし、/root ディレクトリへの設定を可能にするための ものである。
-E
ユーザーのホームディレクトリではなく、 /etc/skel ディレクトリに対して設定を行う。 root ユーザーのみが指定することができる。

日本語について

ここでは、言語に日本語を選んだときの設定内容について説明する。

現在のバージョンでは、.bashrc、.bash_profile、.cshrc、.emacs 、.inputrc、.nexrc、.xsession、.Xresources、.canna の設定を行う。 また、.nexrc-m17n、.nexrc-m17n-canna というファイルも作るが、 これは、.bashrc と .cshrc の中で行われている vi の設定によって 使われるものである。

日本語入力

現在のところ、 language-env は、XIM (X Input Method) 及び emacs 用に、 CANNA、WNN、SKK による日本語入力の設定をすることができる。まず、 set-language-env は実行されると CANNA、WNN、SKK の存在を検出する。ローカルに 存在する場合は自動的に検出するが、検出に失敗した場合、リモートに 存在するかどうかを尋ねてくる。次に、デフォルトで どれを用いるかを尋ねてくる。

.xsession にかんする特記事項

シェル変数 $WINDOW_MANAGER を設定すると、システムのデフォルトのウィンドウマネージャーではなく、 $WINDOW_MANAGER をパス名とするウィンドウマネージャーを起動する。この設定は、.xsession 中の、 set-language-env が書き込んだ位置よりも前に書けばよい。また、 $WINDOW_MANAGERNONE に設定すると、ウィンドウマネージャーを起動しない。 この場合、.xsession はすぐに終了してしまう、すなわち、 ログインしたと思ったらすぐにログアウトしてしまい全く 使えないという状況に陥るので、 set-language-env が書き込んだ位置よりも後に、ターミナルエミュレーターを起動するなど、 なにか書き込みを行う必要がある。

シェル変数 $PASS_THROUGH になんらかの文字が設定されていたら (なんでもよい)、 ウィンドウマネージャーはフォアグラウンドではなくバックグラウンドで 起動される。これは、ウィンドウマネージャー以外のプログラムを起動し、 そのプログラムの終了をもってログアウトのタイミングとしたい場合に使う。

シェル変数 $TERMINAL_EMULATOR を設定すると、 language-env によって決められるターミナルエミュレーターではなく、 $TERMINAL_EMULATOR をパス名とするターミナルエミュレーターを起動する。また、 $TERMINAL_EMULATORNONE に設定すると、ターミナルエミュレーターを起動しない。

ただし、 gnome-session がインストールされている場合、 上記のシェル変数はすべて無効となり、 gnome-session が実行される。

nvi/nvi-m17n/nvi-m17n-canna にかんする特記事項

language-env では、nvi、nvi-m17n、nvi-m17n-canna のそれぞれに異なった設定を 行うために、次のようなことを行っている。

まず、.bashrc と .cshrc の中で、vi を関数 (.bashrc) または alias (.cshrc) として定義する。そこでは、/usr/bin/nvi-m17n-canna が存在 すれば .nexrc-m17n-canna を設定ファイルとして用いて nvi-m17n-canna を実行し、/usr/bin/nvi-m17n が 存在すれば .nexrc-m17n を設定ファイルとして用いて nvi-m17n を実行し、それ以外の場合はふつうに vi を実行する、というふうになっている。一方、 .nexrc-m17n-canna では、 .nexrc-m17n を読んでから Canna の設定だけを行うという内容、 .nexrc-m17n では、 .nexrc を読んでから日本語関係の設定だけを行うという内容になっている。さらに、 .nexrc-m17n で、 .nexrc の読み込みがエラーにならないように、からの内容の .nexrc を作っている。

emacs にかんする特記事項

language-env は、emacs20、emacs20-dl、mule2、xemacs21 をサポートしている。 ただし、emacs20 を使いたい場合、emacs20 の代わりに emacs20-dl が推奨される。emacs20 では、Wnn が使えない。

拡張

新しい言語のサポートを追加したい場合は、 /usr/share/doc/language-env/README.i18n に説明がある。簡単に言えば、
(1) 具体的なサポートの内容となるドットファイル
(2) サポートファイル
(3) ドキュメント
(4) tklanguage 用の画像ファイル
を書くことが必要となる。 language-env の作者に連絡すること。

参照

/usr/share/doc/language-env/README* ユーザー向けの詳しい説明がある。

ファイル

/usr/share/language-env/*
ドットファイルに追加すべき内容が書かれているプロトタイプ。

バグ

Debian メニューの日本語化を行っていない。 XEmacs21 のフォントの設定は難しく、16ドットフォントのみしか使えない。

著者

久保田 智広 <[email protected]>