我有语言环境问题。和其他程序中
的整理顺序nautilus已更改。
当我启动 GUI 应用程序时,终端中出现区域设置错误。
Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
Run Code Online (Sandbox Code Playgroud)
该locale命令产生错误消息
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_AU
LANGUAGE=en_AU:en
LC_CTYPE="en_AU"
LC_NUMERIC="en_AU"
LC_TIME="en_AU"
LC_COLLATE=en_AU.UTF-8
LC_MONETARY="en_AU"
LC_MESSAGES=en_AU.UTF-8
LC_PAPER="en_AU"
LC_NAME="en_AU"
LC_ADDRESS="en_AU"
LC_TELEPHONE="en_AU"
LC_MEASUREMENT="en_AU"
LC_IDENTIFICATION="en_AU"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)
正如askubuntu question 中所建议的,我已经运行了以下命令,但没有任何变化。
sudo apt-get install language-pack-en-base
sudo dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)
我也尝试了askubuntu 问题中的建议......也没有改变。
apt-get install --reinstall locales
Run Code Online (Sandbox Code Playgroud)
我想它是从我通过IBus..临时安装和卸载乌尔都语输入法编辑器开始的。它肯定发生在同一天。
也许它与 IBus 相关,但在此之前我没有遇到任何问题。
Pet*_*r.O 28
我已经设法让事情再次“正常”运行。
在尝试了很多软件包重新安装等之后,包括完全删除 IBus(都没有效果),我开始认为这可能是由重新安装不会修改的配置设置引起的。
我注意到localeUTF-8 分配的输出相当遗漏,所以我在最近安装的 VM 中检查了这一点...... LC_* 的所有条目(除了 LC_ALL,它覆盖了所有其他条目)都设置了.UTF-8后缀。所以我手动设置 LC_* 值,如下所示。
我可能刚刚使用过LC_ALL="en_AU.UTF-8",但在阅读有关此内容的过程中,我发现了如何自定义系统日期和时间格式,并且LC_ALL会覆盖我的自定义设置。
我不知道我是否使用了最合适的方法,但它有效!
修改后的文件是: /etc/default/locale
这显示了mod之前的内容:
LANG="en_AU.UTF-8"
LANGUAGE="en_AU:en"
LC_MESSAGES="en_AU.UTF-8"
Run Code Online (Sandbox Code Playgroud)这显示了 mod之后的内容:
LANG="en_AU.UTF-8"
LANGUAGE="en_AU:en"
LC_CTYPE="en_AU.UTF-8"
LC_NUMERIC="en_AU.UTF-8"
LC_TIME="en_AU.UTF-8"
LC_COLLATE=en_AU.UTF-8
LC_MONETARY="en_AU.UTF-8"
LC_MESSAGES=en_AU.UTF-8
LC_PAPER="en_AU.UTF-8"
LC_NAME="en_AU.UTF-8"
LC_ADDRESS="en_AU.UTF-8"
LC_TELEPHONE="en_AU.UTF-8"
LC_MEASUREMENT="en_AU.UTF-8"
LC_IDENTIFICATION="en_AU.UTF-8"
Run Code Online (Sandbox Code Playgroud)虚拟机中的同一个文件只包含这一行:
LANG="en_AU.UTF-8"
Run Code Online (Sandbox Code Playgroud)
Gui*_*ent 22
重新定义语言环境并重新配置可能足以解决问题:
sudo locale-gen en_AU.UTF-8
sudo dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)
当您运行时,sudo dpkg-reconfigure locales您可以通过点击并在点击之前spacebar移动来选择您想要的语言环境。??Enter
小智 15
我也遇到了这个问题,如你所见,你LC_ALL是空的。我做了以下工作,它有帮助:
$ sudo vim /etc/environment
Run Code Online (Sandbox Code Playgroud)
并将其设置LC_ALL为类似en_US.UTF-8,我的是:
LANG="en_US.UTF-8"
LC_MESSAGES="C"
LC_ALL="en_US.UTF-8"
Run Code Online (Sandbox Code Playgroud)
然后重新启动,然后运行locale,它应该是这样的:
LANG=zh_CN.utf8
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=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您通过 ssh 远程连接到计算机(例如,从 macOS 设备),则需要在要连接的计算机上设置这些变量
将以下内容添加到 ~/.bash_profile
#fix for locale issues when connecting to ubuntu servers
export LANG="en_US.utf8"
export LANGUAGE="en_US.utf8"
export LC_ALL="en_US.utf8"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
146521 次 |
| 最近记录: |