概要
Ubuntu 19.10 Eoan Ermine にて日本・日本語ロケール環境に適した言語パックのインストール、ロケール設定、タイムゾーン設定、日本語対応パッケージのインストールなどを実施する
日本語言語パックのインストール
language-pack-ja-base と language-pack-ja パッケージをインストールする。
language-pack-ja を指定すれば依存関係で language-pack-ja-base もインストールされる。
$ sudo apt install language-pack-ja language-pack-ja-base
Ubuntu – eoan の language-pack-ja パッケージに関する詳細
Ubuntu – eoan の language-pack-ja-base パッケージに関する詳細
日本・日本語ロケールの設定
アメリカ・英語の設定になっている状態では以下のようになっている。
/etc/default/locale はシステム全体のデフォルト・ロケールが記述されているファイル。
$ cat /etc/default/locale
# File generated by update-locale
LANG="en_US"
LANGUAGE="en_US:"
環境変数。
$ env | grep LANG
LANGUAGE=en_US:
LANG=en_US
locale コマンドによるロケール情報。
$ locale
LANG=en_US
LANGUAGE=en_US:
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=
update-locale コマンドで LANG=ja_JP.UTF-8 を指定することでシステムのデフォルトのロケールを日本・日本語に設定できる。LANGUAGE は自動的に無効にされる。
$ sudo update-locale LANG=ja_JP.UTF-8
*** update-locale: Warning: LANGUAGE ("en_US:") is not compatible with LANG (ja_JP.UTF-8). Disabling it.
/etc/default/locale ファイルが更新される。
$ cat /etc/default/locale
# File generated by update-locale
LANG=ja_JP.UTF-8
#LANGUAGE="en_US:"
現在のシェルからログアウトし、再ログインすることで現在のデフォルト・ロケールがシェルに適用される。
(今回の場合は source /etc/default/locale でも LANG が更新され LANGUAGE が削除されないままになるので再ログインするのが最適。ただし LANGUAGE の値が問題となることがあるかどうか不明)
環境変数の LANG が更新され、LANGUAGE が削除されているのを確認できる。
$ env | grep LANG
LANG=ja_JP.UTF-8
locale コマンドによるロケール情報を見ると ja_JP.UTF-8 が設定されている。LANGUAGE は無指定になる。
$ locale
LANG=ja_JP.UTF-8
LANGUAGE=
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=
Ubuntu Manpage: locale - get locale-specific information
Ubuntu Manpage: update-locale - Modify global locale settings
タイムゾーンを日本時間に設定
timedatectl コマンドでタイムゾーンを確認できる。
$ timedatectl
Local time: 土 2020-01-11 06:58:50 UTC
Universal time: 土 2020-01-11 06:58:50 UTC
RTC time: 土 2020-01-11 06:58:51
Time zone: UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
timedatectl list-timezones で設定可能なタイムゾーンの一覧を確認できる。
$ timedatectl list-timezones | grep Tokyo
Asia/Tokyo
timedatectl set-timezone でタイムゾーンを設定できる。
ここでは日本時間のタイムゾーンである Asia/Tokyo を設定。
$ sudo timedatectl set-timezone Asia/Tokyo
timedatectl でタイムゾーンを確認すると日本時間になっている。
$ timedatectl
Local time: 土 2020-01-11 15:59:18 JST
Universal time: 土 2020-01-11 06:59:18 UTC
RTC time: 土 2020-01-11 06:59:19
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Ubuntu Manpage: timedatectl - Control the system time and date
日本語対応パッケージのインストール
check-language-support コマンドで指定した言語の環境に不足しているパッケージのリストを取得できる。
$ check-language-support -l ja
fcitx fcitx-frontend-gtk2 fcitx-frontend-gtk3 fcitx-frontend-qt4 fcitx-frontend-qt5 fcitx-mozc fcitx-ui-classic fonts-noto-cjk fonts-noto-cjk-extra language-pack-ja mozc-utils-gui
試しに以下のコマンドを打ったら使っていないパッケージの日本語対応パッケージなどもインストールされてしまうように見える。
$ sudo apt install $(check-language-support -l ja) -s
(apt install の -s オプションは実際にはパッケージをインストールを変更せず、インストールしたら何が起きるかのシミュレーションができる)
必要なパッケージだけを選択してインストールするのが良いかもしれない。
Ubuntu Manpage: check-language-support - returns the list of missing packages in order to provide a