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 localedonne 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.utf8et 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 localecommande montrait toujours les paramètres régionaux POSIX. Après une déconnexion et une nouvelle connexion, localetoujours affiché les paramètres régionaux POSIX. Après un redémarrage, localetoujours 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/localesoit simplement ignoré.
Par souci d’achèvement, /etc/default/localene contient que la ligneLANG=en_US.utf8
MISE À JOUR: // J'ai essayé de courir sudo localectl set-locale LANG=en_US.UTF-8et localectlm'a également montré qu'il définissait les paramètres régionaux, mais même après un redémarrage, les caractères localePOSIX et non ASCII ne sont toujours pas rendus correctement.
systemdfaç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.shet ajouter la ligne export LANG=en_US.UTF-8.
/etc/default/localeest lu par PAM. Avez-vous éventuellement désactivé PAM?