更改 Open Suse Tumbleweed 中的默认语言

更改 Open Suse Tumbleweed 中的默认语言

我在新 PC 上安装了 OpenSuse Tumbleweed,而不是我已经熟悉了 25 年的 Debian。

现在,我遇到了 UTF-8 问题,例如,当我cat some_file包含 UTF-8 编码的 Unicode 字符时,我看到一些垃圾,而且输入法也无法正常工作。

为了解决这些问题,例如,我可以启动一个 XTerm LANG=C.utf8 xterm,在新的 XTerm 中一切都很好。

我想做的是将我的设置LANGC.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

事实上,蛮力有时会有所帮助。我已经“grepped”到我的主目录中的所有文件中,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(小写,无破折号),并且对于图形等离子 shell 的用户,其LANG环境变量不同于系统范围默认,要修改的文件是~/.config/plasma-localerc.

相关内容