Show Table of Contents
第2章 システムロケールおよびキーボード設定
システムロケール では、システムサービスおよびユーザーインターフェースの言語設定を指定します。キーボードレイアウト の設定では、テキストコンソールおよびグラフィカルユーザーインターフェースで使用するレイアウトを管理します。
これらの設定は、
/etc/locale.conf 設定ファイルを修正するか localectl ユーティリティーを使用して行います。グラフィカルユーザーインターフェースを使用して設定することもできます。詳細は 『Red Hat Enterprise Linux 7 インストールガイド』 を参照してください。
2.1. システムロケールの設定
システム全体にわたるロケール設定は
/etc/locale.conf ファイルに保存され、systemd デーモンが初期ブート時に読み取ります。/etc/locale.conf で設定されたロケール設定は、個別のプログラムやユーザーが上書きしない限り、すべてのサービスやユーザーに継承されます。
/etc/locale.conf の基本的なファイル形式は、改行で区切られた変数割り当ての一覧です。たとえば、ロケールがドイツ語でメッセージが英語の場合、/etc/locale.conf は以下のようになります。
LANG=de_DE.UTF-8 LC_MESSAGES=C
ここでは LC_MESSAGES オプションを使用して、標準エラー出力に書き出される診断メッセージ用ロケールを決定します。
/etc/locale.conf でさらにロケール設定を指定するには、いくつかのオプションが使用でき、関連性の高いものが 表2.1「/etc/locale.conf で設定可能なオプション」 にまとめられています。これらのオプションの詳細については、man ページ locale(7) を参照してください。/etc/locale.conf には、すべてのオプションを可能にする LC_ALL オプションは 設定しないように注意してください。
表2.1 /etc/locale.conf で設定可能なオプション
| オプション | 詳細 |
|---|---|
| LANG | システムロケールのデフォルト値になります。 |
| LC_COLLATE | ローカルのアルファベット文字列を比較する機能の動作を変更します。 |
| LC_CTYPE | 文字処理、分類機能、マルチバイト文字機能の動作を変更します。 |
| LC_NUMERIC | 数値が通常出力される方法を設定します (小数点を表すコンマなど)。 |
| LC_TIME | 24時間表記か12時間表記かという現在の時間表記を変更します。 |
| LC_MESSAGES | 標準エラー出力に書き出される診断メッセージに使用されるロケールを決定します。 |
2.1.1. 現行ステータスの表示
localectl コマンドを使うと、システムロケールとキーボードレイアウト設定に対してクエリーを行ったり変更することができます。現行設定を表示するには、status オプションを使用します。
localectlstatus
例2.1 現行ステータスの表示
上記のコマンドを実行すると、ロケールの現行設定と、コンソールおよび X11 ウィンドウシステム用に設定されているキーボードレイアウトが出力されます。
~]$localectlstatusSystem Locale: LANG=en_US.UTF-8 VC Keymap: us X11 Layout: n/a
2.1.2. 利用可能なロケールの一覧表示
ご使用のシステムで利用可能なロケールを一覧表示するには、以下を入力します。
localectllist-locales
例2.2 ロケールの一覧表示
英語ロケールをさらに細かく選択したい場合に、それがシステムで利用可能かどうかを確認するには、以下のコマンドを実行すると英語ロケールの一覧が表示されます。
~]$localectllist-locales|grepen_en_AG en_AG.utf8 en_AU en_AU.iso88591 en_AU.utf8 en_BW en_BW.iso88591 en_BW.utf8 output truncated
2.1.3. ロケールの設定
デフォルトのシステムロケールを設定するには、
root で以下のコマンドを使用します。
localectlset-localeLANG=locale
locale を、
localectl list-locales コマンドで見つかったロケール名に置き換えます。上記の構文は、表2.1「/etc/locale.conf で設定可能なオプション」 のパラメーター設定にも使用できます。
例2.3 デフォルトロケールの変更
たとえば、イギリス英語をデフォルトのロケールに設定する場合は、まず
list-locales を使ってこのロケール名を見つけます。その後に、root で以下の形式のコマンドを入力します。
~]#localectlset-localeLANG=en_GB.utf8
2.1.4. Kickstart インストール時にシステムロケールの設定を永続化
Red Hat Kickstart のインストール方法を使用して Red Hat Enterprise Linux をインストールすると、オペレーティングシステムをアップグレードした後にシステムロケールの設定が永続化されないことがあります。
Kickstart ファイルの
%packages セクションに --instLang オプションが含まれていると、_install_langs RPM マクロでこの値が使用され、それに応じてインストール済みのロケールが設定されます。ただしこの設定は今回のインストールのみに影響し、その後のアップグレードには影響しません。アップグレードの際に glibc パッケージを再インストールすると、インストール中にユーザーがリクエストしたロケールを含む、ロケール全体がアップグレードされます。
これを回避するには永続化させるロケールを選択します。次のような方法があります。
- Kickstart のインストールをまだ開始していない場合は、手順2.1「Kickstart のインストール中に RPM マクロの設定」 の手順に従って Kickstart ファイルを修正し、RPM マクロをグローバルに設定する指示を追加します。
- システムをすでにインストールしているときは、手順2.2「RPM マクロのグローバルへの設定」 の手順に従って RPM マクロをシステムにグローバルに設定します。
手順2.1 Kickstart のインストール中に RPM マクロの設定
- Kickstart ファイルの
%postセクションを変更します。LANG=en_US echo "%_install_langs $LANG" > /etc/rpm/macros.language-conf awk '(NF==0amp amp!done){print "override_install_langs='$LANG'";done=1}{print}' \ < /etc/yum.conf > /etc/yum.conf.new mv /ec/yum.conf.new /etc/yum.conf
手順2.2 RPM マクロのグローバルへの設定
- 以下の設定を追加した RPM 設定ファイルを
/etc/rpm/macros.language-confに作成します。%_install_langs LANG
LANG はinstLangオプションの値です。 - 以下を使用して
/etc/yum.confファイルを更新します。override_install_langs=LANG

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.