我在日本环境中安装了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。
谢谢。
答案 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)后,终端运行正常。