Eu uso o arch e quero definir a localidade de todo o meu sistema para C
(e somente C
). C
não está listado dentro /etc/locale.gen
(e somente en_US.UTF-8 UTF-8
não está comentado), mas C
pode ser encontrado dentro de /usr/share/i18n/locales/
.
Executei o comando localectl set-locale C
e fiz logout/login, e o comando locale
mostra C
tudo -- bom.
minhas perguntas são:
preciso comentar uma linha
en_US.UTF-8 UTF-8
dentro do arquivolocale.gen
e executar um comandolocale-gen
para remover outros resquícios de localidade indesejados do meu sistema?antes de executar o comando
locale-gen
devo anexá-loC
ao arquivolocale.gen
e, se sim, qual<charmap>
é o padrão para isso?
Eu olho dentro do diretório, /usr/share/i18n/charmaps/
mas não vejo nada parecido com C.gz
isso. está UTF-8.gz
correto ou ANSI_X3.110-1983.gz
um ISO-*
/ ISO_*
?
Eu executo o comando localectl list-locales
e vejo:
C.UTF-8
en_US.UTF-8
isso significa que minha localidade não é inteiramente e somente ela C
e que tenho resquícios indesejados de outras pessoas?
O local
C
akaPOSIX
está sempre lá, é o local padrão.Mesmo que você crie uma localidade chamada
C
ouPOSIX
comlocaledef
, ela será ignorada.Se uma categoria específica
LC_*
for definida como C ou POSIX, isso indicasetlocale()
que essa parte não está localizada e você obtém o comportamento integrado padrão.Na maioria dos sistemas,
LC_CTYPE
o charmap padrão éANSI_X3.4-1968
também conhecido como ASCII.(que
C.utf8
foi adicionado em versões recentes da GNU libc, veja também https://sourceware.org/glibc/wiki/Proposals/C.UTF-8 ; antes disso, havia umC.utf8
fornecido por distribuidores downstream de sistemas GNU).