Como configurar o LANG na localidade, apesar de estar em / etc / default / locale no ubuntu para suporte a unicode?

7

Eu corro Ubuntu 12.04 , não consigo definir a localidade como 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 defino essa variável LANG para en_US.utf8 ?

O motivo pelo qual estou perguntando é que, quando executo echo -e "\x03\bb" , obtenho um unicode greek letter lambda symbol exibido corretamente, mas meu problema é com o emacs. Nos emacs, não consigo exibir símbolos unicode, por exemplo: C-x 8 RET 03bb outputs \u03bb , em vez de greek letter lambda symbol . Eu pensei que o problema é com essas configurações de localidade, mas não posso configurá-las.

Editar : 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 era, eu estava usando o mintty para ssh em Ubuntu 12.04 Server Edition , então eu tive que configurar ~/.pam_environment e ~/.etc/ssh_config e ~/bashrc . Mas o meu problema real com o emacs era não sobre essa configuração do ubuntu, então eu não tenho ideia do que isso A configuração da variável LANG é usada para ou se eu configurá-la para corrigir valores.

Editar 2: Aqui estão os passos que tomei para resolver isso, seguindo as sugestões de ansivírus do canal irc do #ubuntu:

Adicione isso a ~/.bash_profile

export LANGUAGE="en"
export LANG="C"
export LC_MESSAGES="C"

Adicione isto a ~/.pam_environment (então isso deve ser problemático)

LANG=en_US
LANGUAGE=en_US

Adicione isso a /etc/ssh/sshd_config

UsePAM yes

Comente isso em /etc/ssh/ssh_config

#   SendEnv LANG LC_*
    
por user3995789 30.10.2014 / 18:43

1 resposta

0

Tente reinstalar locales

apt-get install --reinstall locales

Leia mais aqui .

    
por 21.10.2015 / 08:13