【 localectl 】コマンド――ロケール設定の確認と変更:Linux基本コマンドTips(262)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、ロケール(locale)設定を確認、変更する「localectl」コマンドです。
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、ロケール(locale)設定を確認、変更する「localectl」コマンドです。
localectlコマンドとは?
「localectl」はロケール(locale)設定の確認と変更を行うコマンドです。
言語と地域の設定を「ロケール設定」(locale、ロカールとも表記)と呼びます。Linuxでは環境変数「LANG」と「LC_*」(通貨はLC_MONETARY、日時はLC_TIMEなど)を使って設定します。以前はロケールで言語だけを指定していましたが、現在は言語と地域と文字コードを組み合わせて「言語_地域.文字コード」と指定します。例えば、日本語は「ja」、日本は「JP」と表すので、「日本語」「日本」「UTF-8」という設定なら、「ja_JP.UTF-8」となります。
localectlコマンドの書式
localectl [オプション] [コマンド]
※[ ]は省略可能な引数を示しています。
localectlの主なオプション
短いオプション | 長いオプション | 意味 |
---|---|---|
--no-convert | キーボードのマッピングを変換しない(※1) | |
--no-pager | 実行結果の表示にmoreコマンドなどのページャーを使用しない | |
-P | --privileged | 特権を取得して実行する(※2) |
--no-ask-password | パスワード入力を求めない | |
-H [ユーザー@]ホスト | --host=[ユーザー@]ホスト | リモートホストで実行する |
※1 localectlのコマンドである「set-keymap」の実行時にX11用の設定に影響を与えたり、同じく「set-x11-keymap」の実行時にコンソールの設定に影響を与えたりしないようにする。
※2 Ubuntu 18.04 LTSの初期状態では利用できない。
localectlの主なコマンド
コマンド名 | 意味 |
---|---|
status | 現在のロケール設定を表示する(デフォルト) |
set-locale ロケール | システムのロケールを設定する(本文参照) |
list-locales | 使用できるロケールを表示する |
set-keymap 配列 | キーボード配列を設定する |
list-keymaps | 使用できるキーボード配列を表示する |
set-x11-keymap 配列 [MODEL] [VARIANT] [OPTIONS] | X11用のキーボード配列を設定する(※3) |
※3 オプションで指定できる「MODEL」「VARIANT」「OPTIONS」は次のコマンドで確認できる。「list-x11-keymap-models」「list-x11-keymap-layouts」「list-x11-keymap-variants [配列]」「list-x11-keymap-options」
現在のロケール設定を確認する
「localectl」または「localectl status」で、現在のロケール設定を表示します(画面1)。
仮想コンソールとX11環境でのキーボードレイアウトの他、言語を表示します。
コマンド実行例
localectl
(現在のロケール設定を表示する)
システムのロケール設定を変更する
ロケールの一部を変更するには、「localectl set-locale LANG=ロケール」のように指定します。使用できるロケールは「localectl list-locales」で確認できます。
一般ユーザーで実行する場合、パスワード入力が必要な場合もあります。変更結果は即座に反映されません。いったんログアウトしたのち、再度ログインした時点などで有効になります(※4)。
※4 /etc/locale.confが変更されるため、再ログインではなく「source /etc/locale.conf」でも反映される。
なお、コマンドの実行結果などの表示を一時的に変更したい場合は、環境変数LANGを変更する方が手軽でしょう。
画面2では、「localectl list-locales」で使用できるロケールを一覧表示し、「grep」コマンド(第9回)で絞り込んでいます。「-i」はアルファベットの大小文字を区別しないというオプションです。画面3では実際に一部のロケールを変更し、画面表示がどのように変わったのかを確認しています。
コマンド実行例
localectl list-locales
(使用できるロケールを一覧表示する)
localectl set-locale LANG=ロケール
(システムのロケールを変更する)
キーボードの配列を変更する
キーボードの配列は「localectl set-keymap 配列」で変更できます。使用できる配列は「localectl list-keymaps」で確認できます。
一般ユーザーで実行する場合、パスワードを求められることがあります。端末で実行した場合、変更はすぐ反映されますが、X11環境の場合、デスクトップマネージャーの設定が優先されることがあります(※5)。
※5 CentOSの場合、設定は/etc/vconsole.confに反映される。
画面4では、「localectl list-keymaps」で使用できるキーボード配列を一覧表示し、「grep」コマンド(第9回)で絞り込んでいます。「-i」はアルファベットの大小文字を区別しないというオプションです。
「localectl set-keymap 配列」でキーボード配列を変更した場合、X11環境側の設定も指定に近い配列設定へと変換されます(画面5)。これを防ぐには「--no-convert」オプションを指定します(画面6)。
画面7はCentOSの端末で実行しています。「localectl set-keymap us」実行直後からUSキー配列になっています。なお、キーボード配列を一時的に変更したい場合はloadkeyコマンドを使用することもできます。
コマンド実行例
localectl list-keymaps
(使用できるキーボード配列を確認)
localectl set-keymap 配列
(キーボード配列を変更)
筆者紹介
西村 めぐみ(にしむら めぐみ)
PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.