use*_*789 8 ubuntu emacs configuration unicode locale
我运行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
Run Code Online (Sandbox Code Playgroud)
但它不起作用,正如您在上面看到的那样。如何将此LANG
变量设置为en_US.utf8
?
我问的原因是,当我运行时echo -e "\x03\bb"
,我得到了unicode greek letter lambda symbol
正确显示,但我的问题是 emacs。在 emacs 中,我无法显示 unicode 符号,例如:C-x 8 RET 03bb
输出\u03bb
,而不是greek letter lambda symbol
. 我认为问题在于这些语言环境设置,但我无法设置它们。
编辑:我认为问题已解决。
$su $USER -c 'env; echo ==; locale' | egrep '==|LANG'
LANG=en_US
LANGUAGE=en_US
==
LANG=en_US
LANGUAGE=en_US
Run Code Online (Sandbox Code Playgroud)
我的解决方案是,我使用 mintty ssh 进入Ubuntu 12.04
Server Edition
,所以我必须配置~/.pam_environment
和
~/.etc/ssh_config
,和~/bashrc
。但是我对 emacs 的真正问题不是关于这个 ubuntu 配置,所以我不知道这个LANG
变量配置是用来做什么的
,或者我是否将它设置为正确的值。
编辑 2: 以下是我为解决此问题而采取的步骤,遵循 #ubuntu irc 频道中 ansivirus 的建议:
将此添加到 ~/.bash_profile
export LANGUAGE="en"
export LANG="C"
export LC_MESSAGES="C"
Run Code Online (Sandbox Code Playgroud)
将此添加到~/.pam_environment
(所以这一定是有问题的)
LANG=en_US
LANGUAGE=en_US
Run Code Online (Sandbox Code Playgroud)
将此添加到 /etc/ssh/sshd_config
UsePAM yes
Run Code Online (Sandbox Code Playgroud)
注释掉这个 /etc/ssh/ssh_config
# SendEnv LANG LC_*
Run Code Online (Sandbox Code Playgroud)
小智 1
尝试重新安装locales
apt-get install --reinstall locales
Run Code Online (Sandbox Code Playgroud)
在这里阅读更多内容。
归档时间: |
|
查看次数: |
3902 次 |
最近记录: |