chlang コマンド
目的
システムまたはユーザーの言語設定を変更します。
構文
デフォルトの言語設定を変更して、環境ファイルまたはプロファイル・ファイルを修正する場合。
chlang [ -u UID | Uname ] [ -m MsgTransLst | -M ] 言語
デフォルトの言語設定を変更することなく、環境ファイルまたはプロファイル・ファイルを変更する場合。
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 と等しいものにする必要があります。 |
| 言語 | これは、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 | 特定のユーザーの条件に合う環境を指定します。 |