J'ai installé un nouveau serveur Ubuntu 16.04, mais lorsque j'essaie de modifier définitivement les paramètres régionaux, il échoue et revient aux paramètres régionaux POSIX.
La frappe locale
donne les résultats suivants:
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=
À ma connaissance, cela signifie qu'aucun paramètre régional n'a été défini, car la documentation indique que POSIX est le " codage de secours ASCII, identique à C ".
Pour garantir les paramètres régionaux de_AT.utf8
et en_US.utf8
être présents sur mon système, j'ai couru locale -a
, ce qui a donné:
C
C.UTF-8
POSIX
de_AT.utf8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
Veuillez noter les incohérences avec C.UTF-8
, mais de_AT.utf8
! Ce qui m'inquiète davantage, c'est que POSIX est la troisième entrée, alors que sur un système différent et fonctionnel, c'est la dernière de la liste.
Afin de changer ma langue en_US.utf8
, j'ai tapé sudo update-locale LANG=en_US.utf8
. La locale
commande montrait toujours les paramètres régionaux POSIX. Après une déconnexion et une nouvelle connexion, locale
toujours affiché les paramètres régionaux POSIX. Après un redémarrage, locale
toujours affiché les paramètres régionaux POSIX.
Cependant, lorsque je tape export LANG=en_US.utf8
, cela fonctionne temporairement, mais uniquement jusqu'à la déconnexion. En tant que tel, je suis pratiquement certain que les paramètres régionaux ont été générés correctement.
Je n'ai plus d'idées. J'ai essayé de régénérer tous les paramètres régionaux, mais il semble que ce /etc/default/locale
soit simplement ignoré.
Par souci d’achèvement, /etc/default/locale
ne contient que la ligneLANG=en_US.utf8
MISE À JOUR: // J'ai essayé de courir sudo localectl set-locale LANG=en_US.UTF-8
et localectl
m'a également montré qu'il définissait les paramètres régionaux, mais même après un redémarrage, les caractères locale
POSIX et non ASCII ne sont toujours pas rendus correctement.
systemd
façon localectl set-locale LANG=C.UTF-8
:?
/etc/pam.d
, cela devrait fonctionner. Mais pour le moment, vous voudrez peut-être créer /etc/profile.d/mylocalesetting.sh
et ajouter la ligne export LANG=en_US.UTF-8
.
/etc/default/locale
est lu par PAM. Avez-vous éventuellement désactivé PAM?