奇怪的语言环境问题

最近我的侏儒terminal停止工作。 使用xterm启动后,我看到以下内容:

(process:3975): Gtk-WARNING **: Locale not supported by C library. Using the fallback 'C' locale. Error constructing proxy for org.gnome.Terminal:/org/gnome/Terminal/Factory0: Error calling StartServiceByName for org.gnome.Terminal: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.gnome.Terminal exited with status 8 

它似乎与我的区域设置有关,如下所示:

 locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory LANG=en_GB.utf8 LC_CTYPE="en_GB.utf8" LC_NUMERIC="en_GB.utf8" LC_TIME="en_GB.utf8" LC_COLLATE="en_GB.utf8" LC_MONETARY="en_GB.utf8" LC_MESSAGES="en_GB.utf8" LC_PAPER="en_GB.utf8" LC_NAME="en_GB.utf8" LC_ADDRESS="en_GB.utf8" LC_TELEPHONE="en_GB.utf8" LC_MEASUREMENT="en_GB.utf8" LC_IDENTIFICATION="en_GB.utf8" LC_ALL= 

我的locale -a看起来像这样:

 locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_COLLATE to default locale: No such file or directory C POSIX en_US.utf8 fr_CA.utf8 pl_PL.utf8 

我真的不知道在哪里所有的en_GB.utf8来自语言环境的输出。

我尝试了locale-gen,就像在post中提到的类似的问题一样,但是这并没有解决问题。 我该如何修复? 这台电脑上的其他帐户没有这个问题,只有我的。 我不记得做了什么特别的事情会导致这一点。

有两种方法可以解决这个问题。

  1. 生成缺少的语言环境 。 打开/etc/locale.gen并取消注释缺少语言环境的行( en_GB.utf8 )。 然后以root身份运行locale-gen
  2. 找到语言环境设置为不正确的值的位置。 试试grep LANG ~/.*profile ~/.bashrc ~/.pam_environment ~/.xinitrc 。 用错误的导出命令对行进行注释。

可以肯定的是,这些更改是应用的,重新登录或重新启动。