我已经设置了一个全新的 Ubuntu 16.04 服务器,但是当我尝试永久更改语言环境设置时,它失败并恢复为 POSIX 语言环境。
键入会locale产生以下结果:
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)
据我所知,这意味着根本没有设置语言环境,因为文档指出 POSIX 是“后备、ASCII 编码,与 C 相同”。
为了确保语言环境de_AT.utf8和en_US.utf8存在我的系统上,我跑了locale -a,这产生了:
C
C.UTF-8
POSIX
de_AT.utf8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
Run Code Online (Sandbox Code Playgroud)
请注意与 的不一致C.UTF-8,但是de_AT.utf8!更让我担心的是 POSIX 是第三个条目,而在不同的工作系统上,它是列表的最后一个。
为了将我的语言更改为en_US.utf8,我输入了sudo …
我的母语不是英语,所以我的 Ubuntu 语言是不同的,没关系:) 但是我想要命令行工具(例如 SVN)来用英语而不是我的系统语言打印消息。
你为什么问?这是因为很多教程都是英文的,恕我直言,以这种方式使用命令行更方便。那么,如何将命令行程序设置为英文,将系统设置为另一种语言呢?
如果你locale在 Ubuntu 安装上运行,你会得到类似的东西:
LANG=en_US.utf8
LANGUAGE=
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)
为什么 LC_ALL 未设置?我知道如何设置它,但是为什么 Ubuntu 没有像其他 LC_ 那样自动设置它?
在 Debian 上,我可以依赖一个包locales-all来确保所有语言环境都已安装/可用。Ubuntu 中没有这样的包。
过去,belocs-locales-*它似乎也这样做;或者,可以依赖于各种本地化包(如只de+ en+fr对于大多数的西欧,也存在一定的局限性的;有时,软件事实上确实需要所有的标准语言环境)。这些包在坚固和精确之间消失了,AFAICT。
那么,我可以使用什么 Ubuntu 软件包Depends来提供所有语言环境?
编辑:这是不一样的locales包,它仅提供以生成语言环境所需的数据文件; 只需locales-all在 Debian 中安装该软件包,就可以立即使用这些语言环境,以及所有这些语言环境。(它包含一个包,在最近的版本中,也节省了很多空间。)这样,用户就没有一个旋钮可以(意外地)禁用必要的语言环境。
10 年前的评论/etc/apache2/envvars只是说“某些模块使用的语言环境,如 mod_dav”,但为什么不能修复 mod_dav 以便为 apache 的其余部分处理更好的 LANG 设置?
我不是新手,但我已经和这个看似简单的问题斗争了一段时间了。我知道如何使用/etc/environment或其他技巧来解决它,但我希望变量/etc/default/locale能够工作......它们根本没有来源
使用 Ubuntu 14.04.4。目前的内容/etc/default/locale有:
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_ALL=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)
我知道我可以将它们放入/etc/environment或/etc/profile等中。触发dpkg-reconfigure locales, locale-gen,locale-update效果为零。我知道他们所有人。
那些应该来源的东西/etc/default/locale却没有来源。我不明白是什么。我也重启了。
这是我 ssh 进入机器的时候。
当我ssh进入运行 Ubuntu 18.04 的 EC2 实例时,出现以下错误:
manpath: can't set the locale; make sure $LC_* and $LANG are correct
Run Code Online (Sandbox Code Playgroud)
我尝试了这个,但这并没有解决它:
sudo locale-gen "en_US.UTF-8"
sudo dpkg-reconfigure locales
Generating locales (this might take a while)...
en_US.UTF-8... done
Generation complete.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_TERMINAL_VERSION = "3.3.7",
LC_CTYPE = "UTF-8",
LC_TERMINAL = "iTerm2",
LANG = "C.UTF-8"
are supported and installed on your system.
perl: warning: Falling back …Run Code Online (Sandbox Code Playgroud) 我喜欢使用 Debootstrap 来制作稀疏系统(通常是嵌入式系统的基础)或半虚拟化 Xen 客户机。
我熟悉如何告诉 Debootstrap 在典型的最小基础之外我想要哪些包,但是我还没有找到正确的工具组合来让我在安装基础系统后指定和自动生成语言环境。
我是否需要在我自己的脚本中执行此操作,或者有没有办法告诉 Debootstrap 我想要什么语言环境并让它生成它们?
当 I 时ls -l,输出将打印在屏幕上,类似于
drwxrwxr-x 3 yotam yotam 4096 ??? 29 10:27 mnt
Run Code Online (Sandbox Code Playgroud)
该???部分是希伯来文JUN。我希望它是英文的,也就是说JUN我猜这是一些语言环境配置问题。可悲的是,我只是不了解区域设置,也找不到我喜欢的指南。我的/etc/default/locale档案
LANG="en_US.UTF-8"
LC_NUMERIC="he_IL.UTF-8"
LC_TIME="he_IL.UTF-8"
LC_MONETARY="he_IL.UTF-8"
LC_PAPER="he_IL.UTF-8"
LC_NAME="he_IL.UTF-8"
LC_ADDRESS="he_IL.UTF-8"
LC_TELEPHONE="he_IL.UTF-8"
LC_MEASUREMENT="he_IL.UTF-8"
LC_IDENTIFICATION="he_IL.UTF-8"
Run Code Online (Sandbox Code Playgroud)
我假设LC_TIME变量是我想要更改的变量,但是,我怀疑这会导致更改整个时间格式,而不仅仅是月份名称。另外,我不知道该怎么做。
有什么想法吗?
我将系统默认设置为en_US.UTF-8. 但是(在其他荒谬的事情中)这使得星期日(周末)成为日历中一周的第一天。
我想使用LC_TIME变量,en_DK.UTF-8同时保留en_US.UTF-8其他所有变量的变量。
我已经生成了en_US.UTF-8anden_DK.UTF-8并且我曾经能够/etc/default/locale通过添加行来简单地进行编辑LC_TIME="en_DK.UTF-8"。
但这不再有效,我不知道为什么。那么我怎样才能让它再次工作呢?
在人们开始告诉我破解en_US.UTF-8文本文件 (at /usr/share/i18n/locales) 之前,这也不起作用,因为更新会定期重置它。我想知道为此配置的“正确”方式是什么。
locale ×10
command-line ×2
16.04 ×1
apache2 ×1
debian ×1
debootstrap ×1
encoding ×1
server ×1
ssh ×1
utf-8 ×1