chlang コマンド
目的
システムまたはユーザーの言語設定を変更します。
構文
デフォルトの言語設定を変更して、環境ファイルまたはプロファイル・ファイルを修正する場合。
chlang [ -u UID | Uname ] [ -m MsgTransLst | -M ] Language
デフォルトの言語設定を変更することなく、環境ファイルまたはプロファイル・ファイルを変更する場合。
chlang [ -u UID | Uname ] -m MsgTransLst | -M
環境ファイルまたはプロファイル・ファイルから NLSPATH 設定を除去する場合。
chlang -d [ -u UID | UName ]
説明
chlang コマンドは、システム全体または個々のユーザーについて言語設定を変更する高水準シェル・コマンドです。 呼び出し元の実効 ID が root であるときに、-u オプションを使用しなかった場合は、システム全体について /etc/environment ファイル内の言語設定が変更されます。 呼び出し元の実効 ID が root ではない場合、または -u オプションを使用した場合は、個々のユーザーについてそのユーザーの .profile ファイル内の言語設定が変更されます。
言語を指定してもオプションは指定しないで chlang を実行すると、LANG 環境変数は、指定した言語に設定されます。
-m オプションを指定して chlang を実行すると、LANG 環境変数と NLSPATH 環境変数が設定されます。 また、-m フラグの MsgTransLst に指定した最初の値が Language パラメーターとは異なり、Language パラメーターでシステム提供の変換が可能になっている場合は、LC_MESSAGES 変数は、その最初の値に設定されます。
-d オプションを指定して chlang を実行すると、NLSPATH 環境変数が除去されます。
注:
- chlang で NLS 環境を変更しても、/etc/environment またはユーザーの .profile のいずれもすぐには変更されません。 /etc/environment を変更するには、システムをリブートすることが必要です。 ユーザーの .profile を変更するには、ログインし直すか .profile ファイルを実行することが必要です。
- ユーザーの構成ファイルを変更するとき、 そのユーザーが C シェル (/usr/bin/csh) を使用していると、 .profile ファイルではなくそのユーザーの .cshrc ファイルが変更されます。
フラグ
| 項目 | 説明 |
|---|---|
| -d | NLSPATH 環境変数を除去するときに使用します。このオプションは、/etc/environment またはユーザーの .profile のいずれかから NLSPATH を除去します。 変更しようとするファイルに現在 NLSPATH が入っていないと、警告メッセージが表示されます。 |
| -m MsgTransLst | NSLPATH 環境変数を変更するときに使用します。MsgTransLst は、 システムまたはユーザーに必要なメッセージ変換階層を示す、コロンで区切ったメッセージ変換値 (ロケール名) のリストです。 このリストの最初の言語が Language パラメーターと異なり、Language パラメーターに システム提供の変換値があるときは、LC_MESSAGES 環境変数は、 その最初の値に設定されます。 リストの最初の言語テリトリーが設定しようとする言語と同じなら、LC_MESSAGES 環境変数は除去されます。 リスト内のすべてのエントリーは、NLSPATH 環境のハードコーディングされた ディレクトリーになります。 |
| -M | LC_MESSAGES 環境変数をリセットし、次のようなデフォルトの変換階層に NLSPATH 環境変数を設定するときに使用します。
|
| -u UID または UName | 個々のユーザーについて変更するときに使用します。 ユーザー ID 番号かユーザーのログイン名のいずれでもユーザーを指定できます。 chlang の実効 ID が root の場合は、root 自体も含めて特定のユーザー ID の言語環境を変更するには、-u パラメーターを使用する必要があります (この場合に -u パラメーターを使用しないと、root の .profile ではなく /etc/environment ファイルが更新されます)。 実効 ID が root でない場合は、-u パラメーターは不要です。 -u パラメーターを指定するときは、呼び出し元の実効 ID と等しいものにする必要があります。 |
| Language | これは、LANG 環境変数のロケール設定値になる言語テリトリー (ロケール名) です。 |
終了状況
| 項目 | 説明 |
|---|---|
| 0 | 正常に完了したことを示します。 |
| >0 | エラーが発生したことを示します。 |
例
- 優先するロケールはノルウェー語であり、
メッセージ言語の優先順位がノルウェー語、スウェーデン語、英語の順であると仮定します。ユーザー amcleod のためにこのように設定するコマンドは、次のとおりです。
ユーザー amcleod の .profile 内に次のように設定されます。 Language パラメーターとしてメッセージ変換リストの最初の言語はノルウェー語であるので、LC_MESSAGES が chlang によって設定されることはありません。 LC_MESSAGES が設定されていると除去されます。chlang -u amcleod -m no_NO:sv_SE:en_US no_NOLANG=no_NO NLSPATH=/usr/lib/nls/msg/%L/%N: /usr/lib/nls/msg/no_NO/%N: /usr/lib/nls/msg/sv_SE/%N: /usr/lib/nls/msg/en_US/%N: /usr/lib/nls/msg/%L/%N.cat: /usr/lib/nls/msg/no_NO/%N.cat: /usr/lib/nls/msg/sv_SE/%N.cat: /usr/lib/nls/msg/en_US/%N.cat - 優先するロケールはフランス語であり、
メッセージ言語の優先順位はカナダ・フランス語、英語の順であると仮定します。root ユーザー以外のユーザーのためにこのように設定するには、次のように入力します。
chlang を起動するユーザーの .profile 内に次のように設定されます。メッセージ変換リストの最初の言語は国/地域別情報 (ロケール) と異なるので、LC_MESSAGES は chlang によって設定します。chlang -m fr_CA:en_US fr_FRLANG=fr_FR LC_MESSAGES=fr_CA NLSPATH=/usr/lib/nls/msg/%L/%N: /usr/lib/nls/msg/fr_CA/%N: /usr/lib/nls/msg/en_US/%N: /usr/lib/nls/msg/%L/%N.cat: /usr/lib/nls/msg/fr_CA/%N.cat: /usr/lib/nls/msg/en_US/%N.cat - スペイン国内のシステム管理者 (root 権限) が他の国から来たシステムを構築していて、
新しい土地でマシンが正しく動作するようデフォルトの言語環境を変更することが必要になったと仮定します。/etc/environment ファイル内のデフォルトを変更するために、次のように入力します。
/etc/environment ファイル内に次のように設定されます。chlang -m es_ES es_ESLANG=es_ES NLSPATH=/usr/lib/nls/msg/%L/%N: /usr/lib/nls/msg/es_ES/%N: /usr/lib/nls/msg/%L/%N.cat: /usr/lib/nls/msg/es_ES/%N.cat
ファイル
| 項目 | 説明 |
|---|---|
| /usr/bin/chlang | 言語コマンドを変更します。 |
| /etc/environment | すべてのプロセスの基本環境を指定します。 |
| $HOME/.profile | 特定のユーザーの条件に合う環境を指定します。 |