`Gtk-WARNING **:C 库不支持区域设置。` 从命令行启动应用程序时

Dio*_*ern 42 gnome command-line apt locale

我没有得到答案,但我什么也没做,这是一个有趣的话题。在 Ubuntu 12.04 中,当在 gedit 中打开文件时,或者如果我在 dpkg 中的命令行上工作,我会返回错误“不支持语言环境,回退到默认的“C”库”,以及下面的错误,

Gtk-WARNING **: Locale not supported by C library.
    Using the fallback 'C' locale.
Run Code Online (Sandbox Code Playgroud)

Dio*_*ern 41

首先确保您的库语言已安装

sudo apt-get install language-pack-en-base,

例如。

然后,作为超级用户,通过允许 Ubuntu 自动配置它们来缩短工作:

sudo dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)

检查您的设置,如果正确则很好。但是,如果您的LANG=LANGUAGE=设置为空,请在命令行中运行:

locale -a
Run Code Online (Sandbox Code Playgroud)

这会生成已安装并可供您使用的语言环境。

从生成的输出中选择适合您情况的语言环境,然后导出该设置以替换您的语言环境,例如:

export LC_ALL="en.utf-8"
Run Code Online (Sandbox Code Playgroud)

对于手动安装使用手动export设置区域设置将手动安装自定义区域设置,首先运行上述设置。

然后,假设您要"en_us-8"针对语言进行安装,但需要为NUMERICand安装另一个语言环境TIME,您可能希望使用"en_NZ.utf-8"(记住:这些区分大小写) orLANGUAGE="en_GB.utf-8"NUMERIC="en.dk.ISO-8859-15"。去新西兰旅行,我可以改变语言环境LANGUAGE="en.NZ"。对于德国,我只需要为它安装语言环境 pkg 并在终端中输入,如下例所示:

export LC_ALL="en_US"
export LANG="en_US"
export LANGUAGE="en_NZ"
export C_CTYPE="en_US"
export LC_NUMERIC=
export LC_TIME=en"en_US"
Run Code Online (Sandbox Code Playgroud)

LC_ALL= 可能保持为空。


use*_*867 5

我在基于 Ubuntu 16.04 的 mint mate 18 上不止一次地遇到过这种情况,所以我想分享我找到的解决方案,以防有人需要。

脚步:

(这些步骤适用于 mint mate,但 Ubuntu 可能有类似的配置,不确定)

  • 打开“语言设置”。
  • 安装语言(如果缺少)。(对我来说,除了英语之外,我还会安装中文和日语)
  • 对于选项LanguageRegion,请确保它们的默认语言正确,例如设置为“英语,美国 UTF-8”,
  • 如果进行任何更改,请重新启动。
  • 检查一下是否正常。