ArchLinuxのロケールの問題を修正

どういうわけか、まだよく分かりませんが、新しい KDE 5 インストールで es_ES 言語を設定するという通常の手順を実行した後、いくつかのアプリケーションが動作しなくなりました。ターミナルで実行してエラーログを確認したところ、次のようになりました。

'std :: runtime_error'のインスタンスをスローした後に呼び出された終了what():locale :: facet :: _ S_create_c_locale name not valid

これは何を意味するのでしょうか?

システムが「捕捉」されていない、またはまったく受け入れられていない言語が構成されていること。

それを解決する方法は?

シンプルですが、システムのロケールまたは言語を正しく設定する必要があります。その方法については、後ほど説明します 

1.まず、どの言語を使用するかを知る必要があります(当然のことですが)。ここでは、es_ES を使用すると仮定しましょう。

2.それでは、会場一覧ファイルを開いてみましょう。

sudo nano /etc/locale.gen

3.次に、ファイル内で次の行を探し、コメントを解除します。

#en_ES.UTF-8 UTF-8

コメント解除とは、その行の先頭からポンド記号(#)を削除することを意味します。

つまり、次のようにします。

en_ES.UTF-8 UTF-8

4.では、もう一度位置情報を生成してみましょう。

sudo locale-gen

5.この操作を行った後、/etc/locale.conf ファイルを確認してみましょう。

sudo nano /etc/locale.conf

次のようになります。

LC_ALL = C LANG = es_ES.UTF-8 LC_COLLATE = es_ES.UTF-8

最初の行(LC_ALL = C)が自動的に追加されなかった場合、追加されなかったことがありました。 アプリケーションは動作しません!

他のいくつかのサイトでは、次のコマンドを推奨していることがわかります。

エクスポートLC_ALL = C

それは今でも完全に有効です 

終わり!

まあそれは何も。 LC_ALL = Cを参照する行が.confファイルに書き込まれていなかったため、昨日自宅でかなりの頭痛の種になりました。理由はわかりません...まあ、TeamSpeakやGPartedなどのアプリケーションが機能しませんでした。 多分それはKDE5が何であるかと関係があります...しかし多分そうではありません(私はそれがKDEのせいではないと思います)。

とにかく、誰かの役に立つことを願っています


Googleで優先ソースとして追加する