Eu corro Ubuntu 12.04
, não consigo definir o código do idioma en_US.utf8
. Eu defino o LANG
configurando /etc/default/locale
conforme descrito aqui .
$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
Mas isso não funciona, como você pode ver acima. Como faço para definir essa LANG
variável en_US.utf8
?
A razão pela qual estou perguntando é que, quando executo echo -e "\x03\bb"
, a unicode greek letter lambda symbol
exibição é exibida corretamente, mas meu problema é com o emacs. No emacs, não consigo exibir símbolos unicode, por exemplo: C-x 8 RET 03bb
outputs \u03bb
, em vez de a greek letter lambda symbol
. Eu pensei que o problema era com essas configurações de localidade, mas não posso defini-las.
Edit : Eu acho que o problema está resolvido.
$su $USER -c 'env; echo ==; locale' | egrep '==|LANG'
LANG=en_US
LANGUAGE=en_US
==
LANG=en_US
LANGUAGE=en_US
A solução para mim foi, eu estava usando mintty para ssh Ubuntu 12.04
Server Edition
, então tive que configurar ~/.pam_environment
e
~/.etc/ssh_config
, e ~/bashrc
. Mas o meu verdadeiro problema com o emacs não era sobre essa configuração do ubuntu, então não tenho idéia para que LANG
serve essa
configuração de variável ou se a defino para corrigir valores.
Edit 2: Aqui estão os passos que eu tomei para resolver isso, seguindo as sugestões do ansivirus do canal #ubuntu irc:
Adicione isto a ~/.bash_profile
export LANGUAGE="en"
export LANG="C"
export LC_MESSAGES="C"
Adicione isso a ~/.pam_environment
(portanto, isso deve ser problemático)
LANG=en_US
LANGUAGE=en_US
Adicione isto a /etc/ssh/sshd_config
UsePAM yes
Comente isso em /etc/ssh/ssh_config
# SendEnv LANG LC_*
LANG
presente quando você executa, su
mas não quando faz logon no SSH? O que você mudou? Observe que en_US
não é um código de idioma Unicode.
su $USER -c 'env; echo ==; locale' | egrep '==|LANG'
? Você está usando o ambiente GUI padrão (Unity), se não o que está usando e qual gerenciador de exibição?