Archを実行している仮想マシンで私のロケールを変更したいと思います。
私はArchの文書に従っています。https://wiki.archlinux.org/index.php/localeそしてこうしました:
- 私が試したい言語のコメントを外すyi_US.UTF-8
/etc/locale.gen
他のすべての言語についてはコメントを残してください。 - 次のスクリプトを実行します。
#!/bin/bash
locale-gen
localectl set-locale LANG=yi_US.UTF-8
unset LANG
source /etc/profile.d/locale.sh
locale
スクリプトを実行すると、次の結果が表示されます。
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Camnot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8”
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES=
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIF ICATION="en_US.UTF-8"
LC_ALL=
私が知っている限り、上記の3つのエラーは次の理由で発生します。en_US.UTF-8でコメントを付けたため、そのロケールは使用できなくなりました/etc/locale.gen
。
私の出力localectl
:
System Locale: LANG=yi_US.UTF-8
私は/etc/locale.conf
持っています:
LANG=yi_US.UTF-8
スクリプトを実行しunset LANG
てsource /etc/profile.d/locale.sh
内部にある場合、変更は実行中のスクリプトにのみ影響を与えるため、変更は永続的ではありません。
LC_*
新しいロケールをどのように活用しますか?yi_US.UTF-8スクリプトを介して親シェルとすべてのシステムに永続的ですか?
私はrun:を実行する必要があることを読みましexport LC_ALL=yi_US.UTF-8
たが、それは正確ではないようで、現在のターミナルセッションでのみ機能します。
問題を解決するには、追加またはLC_ALL=yi_US.UTF-8
リストを作成する必要がありますか?LC_*
/etc/locale.conf