gnome-terminal可能因为语言环境设置而无法工作

时间:2014-07-14 11:23:36

标签: locale gnome archlinux gnome-terminal

我在日本环境中安装了Antergos(简易版Arch)。 但是我希望将该语言修改为英语,所以我在#en_US.UTF-8 UTF-8中取消注释/etc/locale.gen并在/etc/locale.conf中编辑LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 LC_NUMERIC=en_US.UTF-8 LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=en_US.UTF-8 LC_ADDRESS=en_US.UTF-8 LC_TELEPHONE=en_US.UTF-8 LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=en_US.UTF-8 LC_ALL= 之后再执行the wiki article并运行一些命令:

gnome-terminal

问题从这里开始。

我重新启动计算机,发现gnome-terminal无法正常工作。 我在Emacs上替换eshell并运行(process:1202): 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

locale: Cannot set LC_ALL to default locale: No such file or directory LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC=ja_JP.utf8 LC_TIME=ja_JP.utf8 LC_COLLATE="en_US.UTF-8" LC_MONETARY=ja_JP.utf8 LC_MESSAGES="en_US.UTF-8" LC_PAPER=ja_JP.utf8 LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT=ja_JP.utf8 LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= 命令的输出如下:

{{1}}

将区域设置的某些部分更改为日语会有什么变化?还是存在终止gnome-terminal的其他原因?

我已尝试过这里提出的解决方案https://bbs.archlinux.org/viewtopic.php?id=180103

谢谢。

5 个答案:

答案 0 :(得分:5)

前段时间我遇到了同样的问题。我修复了运行此命令的locale配置

sudo localedef -f UTF-8 -i en_US en_US.UTF-8

答案 1 :(得分:1)

状态代码8的含义记录在gnome的网站here上:

  

gnome-terminal-server启动的环境没有   将语言环境正确设置为UTF-8语言环境。咨询你的   分发有关如何解决此问题的文档。请注意,不是   与检查来自不同终端的区域设置相关(例如,   的xterm);重要的是会话dbus-daemon的环境   传递到它开始的过程。

所以你说得对,这可能是由于语言环境设置造成的。我不太了解所有细节,但如果我将~/.xinitrc设置为exec gnome-session然后运行startx,我会收到类似的错误。

但是,如果不是运行startx,而是启动gdm显示管理器(通过Arch上的systemctl start gdm.service),我可以正确生成gnome-terminal。因此,如果您对使用gdm感到满意,那么这可能是一个解决方案。 Lightdm也有效,虽然SLiM没有(根据我的经验)。

过去,我还必须为vte3安装gnome-terminal包才能正常工作,因此请确保已安装。{}而FWIW,sudo gnome-terminal似乎总能奏效。

答案 2 :(得分:0)

您是否考虑在编辑/etc/locale.gen文件后重新生成区域设置?

  

区域设置根

我认为在您的解释中,您混合了/etc/locale.gen/etc/locale.conf文件。确保使用正确的值编辑了正确的文件。

答案 3 :(得分:0)

好的,这就是我解决的方法; sudo locale-gen --purge --no-archive

然后; sudo update-initramfs -u

答案 4 :(得分:0)

没有任何语言环境对我有用。更改回默认的python版本(在ubuntu16上为3.5)后,终端运行正常。