Estou recebendo essa mensagem toda vez que faço algo como iniciar ou interromper um serviço.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US:en",
LC_ALL = (unset),
LC_MESSAGES = "en_US.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
(Reading database ... 21173 files and directories currently installed.)
Removing bind9 ...
* Stopping domain name service... bind9 [ OK ]
Processing triggers for man-db ...
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Como corrijo esse erro?
command-line
server
locale
HackToHell
fonte
fonte
Respostas:
Execute primeiro
locale
para listar quais localidades definidas atualmente para a conta de usuário atual:Em seguida, gere o código de idioma ausente e reconfigure os códigos de idioma para observar:
Agora você não verá mais nenhum erro!
fonte
en_GB
por padrão, mas você o configuraen_US
. Você tem que comentar manualmenteen_GB
e remova o comentárioen_US
no/etc/locale.gen
. Veja minha resposta askubuntu.com/a/790373/25388 no hardware Raspberry Pi 3b e no sistema Raspbian Jessie.Nada sugerido acima funcionou no meu caso (Ubuntu Server 12.04LTS). O que finalmente ajudou foi colocar no arquivo
/etc/environment
:Por alguma razão, estava faltando. As saídas para locale e outros comandos pareciam que as variáveis foram definidas corretamente. Em outras palavras, não tome como certo todo o material básico é declarado onde deveria ser declarado.
fonte
/etc/default/locale
./etc/default/locale
e sem mais avisos. Obrigadosudo sh -c "echo 'LC_ALL=en_US.UTF-8\nLANG=en_US.UTF-8' >> /etc/environment"
echo
precisa ser executada com a interpretação de escapes de barra invertida ativada. É o mesmo que o seu, mas com o mencionado anteriormente:sh -c "echo -e 'LANG=en_US.UTF-8\nLC_ALL=en_US.UTF-8' > /etc/default/locale"
Eles devem desaparecer após a emissão:
dpkg-reconfigure
reconfigura os pacotes depois que eles já foram instalados. Passe os nomes de um pacote ou pacotes para reconfigurar. Ele fará perguntas de configuração, como quando o pacote foi instalado pela primeira vez.fonte
en
,en_AU
,en_CA
,en_GB
estão presentes por padrão, mas nãoen_US
?dpkg-reconfigure
.makemessage
precisa disso. Isso funcionou perfeitamente! obrigado.LC_ALL
estar definido corretamente.Basta adicionar o seguinte ao seu
.bashrc
arquivo (supondo que você esteja usando o bash)fonte
LC_ALL
eu finalmente poderia usarsudo dpkg-reconfigure locales
.Esse é um problema comum se você estiver se conectando remotamente, portanto, a solução é não encaminhar seu código de idioma. Edite
/etc/ssh/ssh_config
e comente aSendEnv LANG LC_*
linha.fonte
/etc/ssh_config
sed -e '/SendEnv/ s/^#*/#/' -i /etc/ssh/ssh_config
(útil para provisionamento de servidores)Existe um comando para isso:
Ele atualiza
/etc/default/locale
com os valores fornecidos.fonte
locale
ainda não mostra nenhum valor utf.locale-gen
está faltando uma chamada . Antes, é preciso fazerapt-get install locales
.O que funcionou para mim em 12.10 foi o seguinte:
Isso foi depois
dpkg-reconfigure locales
produzido sem resultados.fonte
chroot
no debian. Obrigado :)Não se esqueça de sair da sua sessão SSH (ou do seu X11) saindo e fazendo login novamente. Todas essas sugestões não funcionaram para mim, a menos que eu tenha entrado novamente ....
fonte
Para o Ubuntu 12.10, nenhuma das opções acima funcionou, exceto a solução dos ratzs. Eu recomendo adicionar isso ao seu arquivo /etc/bash.bashrc:
fonte
Eu estava preso em um estado estranho em que minha máquina local está configurada
es
e, portanto, a máquina remota (viavagrant
) foi provisionada em um estado não tratado. Portanto, eu tive que usar o manualexport=
apenas para facilitar um sucessodpkg-reconfigure
. Então o sistema está bom.fonte
dpkg-recofigure
exibições mojibake.Eu escrevi um script bash para corrigir o problema acima. As respostas acima são úteis, mas definir as variáveis de localidade simplesmente exportando os valores na variável de shell funcionará apenas para uma sessão. Resolvi esse problema permanentemente exportando as variáveis de localidade no arquivo .bash_profile. Você também pode usar o
/etc/profile
arquivo em vez de.bash_profile
.Não se esqueça de
source
o.bash_profile
e seguir o roteiro de configuração fácil.fonte
Podes tentar:
onde
ru_RU
está o código do seu país?fonte
A resposta atual aceita não é suficiente na estratégia de solução de problemas porque você pode ter um erro humano. Você configurou seu sistema para,
en_US
masen_GB
ativou/etc/locale.gen
como eu havia no tópico aqui para Raspberry Pi 3b. Você deve ter todos os seus códigos de idioma usados ativados/etc/locale.gen
.Eu
en_GB.UTF-8 UTF-8
só tinha ativado/etc/locale.gen
. Eu deveria ter lá ativado apenasen_US.UTF-8 UTF-8
por causa de outros comandos executados para ele. Então eu comentei GB e descomentei os EUA, e tudo funciona agoraAgora, não recebo esses erros de localidade com nenhum comando.
Sistema: Raspbian Jessie
Hardware: Raspberry Pi 3b
fonte
Como dito aqui no Debian Wiki , você pode editar
/etc/locale.gen
e adicionar todas as localidades (ou descomentá-las, eu tinha uma lista de todas as localidades, exceto todas as que eu usei como comentários) para as quais você deseja suporte no seu sistema. Então, executepara atualizar os códigos de idioma no seu sistema. Agora, todos os códigos de idioma que você adicionou / não comentou
/etc/locale.gen
estão disponíveis no seu sistema sem nenhum aviso.fonte
Se você usa o ambiente KDE, verifique o
setlocale.sh
arquivo em~/.kde/env/
:fonte
Pode ser necessário executar
sudo dpkg-reconfigure
também o aplicativo que você instalou enquanto as configurações de "localidade" foram inválidas / não correspondem.Enquanto a localidade do sistema foi configurada incorretamente, instalei
vim
. Mais tarde, quando ovim
código do idioma do sistema foi corrigido, vi uma situação que mostrava caracteres utf-8 incorretamente como símbolos estranhosnano
e osless
mostrava corretamente. Corridaapareceu para corrigir o problema depois que as configurações do sistema foram corrigidas.
Percebi também o mesmo que já mencionado: pode ser necessário desconectar / reconectar o SSH para tornar as alterações visíveis.
fonte
A adição do texto a seguir
~/.profile
funciona para mim:Estou usando o servidor Ubuntu 16.04 LTS de 64 bits no Linode.
fonte
Isso funcionou para mim quando tive o mesmo problema (com base na solução fornecida pelo dman ):
fonte
>
vez de>>
) parece uma resposta ao de dman. Na verdade, não sei qual é o caminho certo ou melhor, mas se você tiver alguma ideia, poderá expandir essa resposta com mais informações. (Você não tem que embora.)