Je cours Ubuntu 12.04, je ne peux pas définir les paramètres régionaux sur en_US.utf8. J'ai défini le LANGen configurant /etc/default/localecomme décrit ici .
$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
Mais cela ne fonctionne pas, comme vous pouvez le voir ci-dessus. Comment définir cette LANGvariable sur en_US.utf8?
La raison pour laquelle je pose la question est que lorsque j'exécute echo -e "\x03\bb", j'obtiens un unicode greek letter lambda symbolaffichage correct, mais mon problème est avec emacs. Dans emacs, je ne peux pas afficher les symboles Unicode, par exemple: les C-x 8 RET 03bbsorties \u03bb, au lieu de a greek letter lambda symbol. Je pensais que le problème venait de ces paramètres régionaux, mais je ne peux pas les définir.
Edit : je pense que le problème est résolu.
$su $USER -c 'env; echo ==; locale' | egrep '==|LANG'
LANG=en_US
LANGUAGE=en_US
==
LANG=en_US
LANGUAGE=en_US
La solution pour moi était que j'utilisais mintty pour ssh Ubuntu 12.04
Server Edition, donc j'ai dû configurer ~/.pam_environmentet
~/.etc/ssh_config, et ~/bashrc. Mais mon vrai problème avec emacs ne concernait pas cette configuration ubuntu, donc je n'ai aucune idée de l'utilisation de cette
LANGconfiguration de variable ou si je la mets à des valeurs correctes.
Edit 2: Voici les mesures que j'ai prises pour résoudre ce problème, en suivant les suggestions d'ansivirus du canal #ubuntu irc:
Ajoutez ceci à ~/.bash_profile
export LANGUAGE="en"
export LANG="C"
export LC_MESSAGES="C"
Ajoutez ceci à ~/.pam_environment(cela doit donc être problématique)
LANG=en_US
LANGUAGE=en_US
Ajoutez ceci à /etc/ssh/sshd_config
UsePAM yes
Commentez ceci dans /etc/ssh/ssh_config
# SendEnv LANG LC_*
LANGprésent lorsque vous exécutez sumais pas lorsque vous vous connectez via SSH alors? Qu'avez-vous changé? Notez qu'il en_USne s'agit pas d'un environnement local Unicode.
su $USER -c 'env; echo ==; locale' | egrep '==|LANG'? Utilisez-vous l'environnement GUI par défaut (Unity), sinon ce que vous utilisez et quel gestionnaire d'affichage?