Open Suse Tumbleweedでデフォルトの言語を変更する

Open Suse Tumbleweedでデフォルトの言語を変更する

私は25年間慣れていたDebianの代わりに新しいPCにOpenSuse Tumbleweedをインストールしました。

これでUTF-8に問題があります。たとえば、cat some_fileUTF-8でエンコードされたUnicode文字を含めると、いくつかのゴミが表示され、入力方法が正しく機能しません。

たとえば、これらの問題を解決するためにXTermを起動すると、LANG=C.utf8 xterm新しいXTermはすべてうまくいきます。

私が望むのは私のLANGグローバルを設定するC.utf8ことですが、私が見つけたすべての(すべての)ガイドはYastを使って何をするかを説明し、Yastは何十もの異なる言語をリストしますC

構成ファイルには/etc/sysconfig/language100行を超える行があるため、非常に混乱しており、変更に適した場所にいるかどうかはわかりません。

LANG=C.utf8Yastを永久に使用したり、Yastを使用したくない場合はどうすればよいですか?

答え1

使用localectl(1):

localectl set-locale LANG=C.UTF-8

コマンドのマニュアルページから:

localectl は、システムのロケールとキーボードのレイアウト設定を照会および変更するために使用できます。

システムロケールは、ユーザーがログインする前のシステムサービスとUI(ディスプレイマネージャなど)の言語設定と、ユーザーがログインした後のデフォルト設定を制御します。

LANGこのコマンドはファイルを変更します/etc/locale.conf。マニュアルページからlocale.conf(5)

/etc/locale.conf ファイルは、システム全体のロケール設定を構成します。初期起動時に systemd(1) から読み込みます。

ウィンドウマネージャとサービスは以前のロケールを使用して開始されたため、この変更を適用するにはシステムを再起動する必要があります。

答え2

実際、無差別代入が時々役に立つことがあります。私はホームディレクトリ内のすべてのファイルLANG=と私が見つけた多くのジャンクファイルを「探索」しました。

$ find . -type f -print0 | xargs -0 grep LANG= 2>/dev/null
...
./.config/plasma-localerc:LANG=C
...
$ 

(小文字、ダッシュなし)に変更してLANG=C.utf8ログアウトしてログインしたところ、今は幸せな人になりました。

したがって、システムレベルで、たとえば新しいユーザーに伝播するには変更する必要があり、内容は/etc/locale.conf(小文字、ダッシュなし)でなければなりません。LANG=C.utf8LANG~/.config/plasma-localerc

関連情報