私は25年間慣れていたDebianの代わりに新しいPCにOpenSuse Tumbleweedをインストールしました。
これでUTF-8に問題があります。たとえば、cat some_file
UTF-8でエンコードされたUnicode文字を含めると、いくつかのゴミが表示され、入力方法が正しく機能しません。
たとえば、これらの問題を解決するためにXTermを起動すると、LANG=C.utf8 xterm
新しいXTermはすべてうまくいきます。
私が望むのは私のLANG
グローバルを設定するC.utf8
ことですが、私が見つけたすべての(すべての)ガイドはYastを使って何をするかを説明し、Yastは何十もの異なる言語をリストしますC
。
構成ファイルには/etc/sysconfig/language
100行を超える行があるため、非常に混乱しており、変更に適した場所にいるかどうかはわかりません。
LANG=C.utf8
Yastを永久に使用したり、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.utf8
LANG
~/.config/plasma-localerc