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 LANG
en configurant /etc/default/locale
comme 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 LANG
variable 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 symbol
affichage 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 03bb
sorties \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_environment
et
~/.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
LANG
configuration 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_*
LANG
présent lorsque vous exécutez su
mais pas lorsque vous vous connectez via SSH alors? Qu'avez-vous changé? Notez qu'il en_US
ne 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?