Eu configurei um novo servidor Ubuntu 16.04, mas quando tento alterar permanentemente as configurações de localidade, ele falha e volta ao local POSIX.
Digitar locale
gera o seguinte:
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=
No meu conhecimento, isso significa que nenhuma localidade foi definida, já que a documentação indica que POSIX é a " fall-back, codificação ASCII, igual a C ".
Para garantir que as localidades de_AT.utf8
e en_US.utf8
estavam presentes no meu sistema, eu corri locale -a
, o que rendeu:
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
Por favor, note as inconsistências com C.UTF-8
, mas de_AT.utf8
! O que mais me preocupa é que POSIX é a terceira entrada, enquanto que em um sistema diferente, é o último da lista.
Para alterar meu idioma para en_US.utf8
, digitei sudo update-locale LANG=en_US.utf8
. O comando locale
ainda mostrava o código do idioma POSIX. Após um logout e um novo login, locale
ainda mostrava a localidade POSIX. Após uma reinicialização, locale
ainda mostrou a localidade POSIX.
No entanto, quando digito export LANG=en_US.utf8
, ele funciona temporariamente, mas somente até o logout. Como tal, tenho certeza de que as localidades foram geradas corretamente.
Estou sem ideias. Eu tentei regenerar todas as localidades, mas parece que /etc/default/locale
está sendo simplesmente ignorado.
Para fins de conclusão, /etc/default/locale
contém apenas a linha LANG=en_US.utf8
UPDATE: // Tentei executar sudo localectl set-locale LANG=en_US.UTF-8
e localectl
também me mostrou que definiu a localidade, mas mesmo depois de uma reinicialização, locale
ainda mostra POSIX e não-ASCII caracteres ainda não são renderizados corretamente.