我跑步了Ubuntu 12.04
,我不能将地区设置为en_US.utf8
。我设置了LANG
通过配置/etc/default/locale
描述这里。
$cat /etc/default/locale
LANG=en_US.utf8
$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=POSIX
但是,如上所述,它不起作用。如何将此LANG
变量设置为en_US.utf8
?
我问的原因是,当我运行时echo -e "\x03\bb"
,可以unicode greek letter lambda symbol
正确显示,但是我的问题是emacs。在emacs中,我无法显示unicode符号,例如:C-x 8 RET 03bb
outputs \u03bb
,而不是a greek letter lambda symbol
。我认为问题出在这些语言环境设置,但我无法设置它们。
编辑:我认为问题已解决。
$su $USER -c 'env; echo ==; locale' | egrep '==|LANG'
LANG=en_US
LANGUAGE=en_US
==
LANG=en_US
LANGUAGE=en_US
对我来说,解决方案是,我正在使用mintty ssh进入Ubuntu 12.04
Server Edition
,因此必须配置~/.pam_environment
and
~/.etc/ssh_config
和and ~/bashrc
。但是我与emacs的真正问题不在于此ubuntu配置,因此我不知道此LANG
变量配置用于什么
或是否将其设置为正确的值。
编辑2: 以下是我为解决此问题而采取的步骤,遵循#ubuntu irc频道中ansivirus的建议:
将此添加到 ~/.bash_profile
export LANGUAGE="en"
export LANG="C"
export LC_MESSAGES="C"
将此添加到~/.pam_environment
(因此这一定是有问题的)
LANG=en_US
LANGUAGE=en_US
将此添加到 /etc/ssh/sshd_config
UsePAM yes
在此注释掉 /etc/ssh/ssh_config
# SendEnv LANG LC_*
LANG
运行时是否存在,su
但通过SSH登录时却不存在?你改变了什么?请注意,这en_US
不是Unicode语言环境。
@Gilles,请参阅我的edit2。在采取了这些步骤之后,我认为LANG会成为一种礼物,但是我不知道它会产生什么影响,而且我也不在乎,因为emacs是固定的,并且我可以看到unicode字符很好,我很乐意为您解释这些变量的含义以及它们的影响,谢谢。
—
2014年
还要注意,这些并不能解决我的emacs问题,毕竟这是一个emacs问题。
—
2014年
可能与以下内容有关:语言环境的正确拼写是AFAIK en_US.UTF-8,而不是.utf8
—
Jan Henke
su $USER -c 'env; echo ==; locale' | egrep '==|LANG'
什么?您是否正在使用默认的GUI环境(Unity)(如果未使用)以及什么显示管理器?