Eu tenho um problema de localidade.
A sequência de intercalação nautilus
e outros programas mudou.
Eu recebo erros de localidade aparecendo no terminal quando inicio um aplicativo GUI.
Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
O locale
comando produz mensagens de erro
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_AU
LANGUAGE=en_AU:en
LC_CTYPE="en_AU"
LC_NUMERIC="en_AU"
LC_TIME="en_AU"
LC_COLLATE=en_AU.UTF-8
LC_MONETARY="en_AU"
LC_MESSAGES=en_AU.UTF-8
LC_PAPER="en_AU"
LC_NAME="en_AU"
LC_ADDRESS="en_AU"
LC_TELEPHONE="en_AU"
LC_MEASUREMENT="en_AU"
LC_IDENTIFICATION="en_AU"
LC_ALL=
Como sugerido na pergunta askubuntu , executei os seguintes comandos, mas não houve alterações.
sudo apt-get install language-pack-en-base
sudo dpkg-reconfigure locales
Eu também tentei a sugestão na pergunta askubuntu ... também não mudou.
apt-get install --reinstall locales
Eu acho que começou quando eu instalei e desinstalei temporariamente o Editor de método de entrada da linguagem Urdu via IBus
.. certamente aconteceu no mesmo dia.
Talvez esteja relacionado ao IBus, mas nunca tive problemas com isso antes disso.
- O sistema operacional é 10.04
Respostas:
Consegui fazer as coisas funcionarem "normalmente" novamente.
Depois de tentar várias reinstalações de pacotes, etc., incluindo a remoção total do IBus (tudo sem efeito), comecei a pensar que isso pode ser causado por uma configuração que a reinstalação não modifica.
Eu tinha notado que a saída de
locale
era bastante desprovida de atribuições UTF-8, então verifiquei isso em uma VM instalada recentemente ... todas as entradas de LC_ * (exceto LC_ALL, que substitui todas as outras) foram definidas com o.UTF-8
sufixo. então eu defino manualmente os valores LC_ *, como mostrado abaixo.Eu provavelmente poderia ter usado
LC_ALL="en_AU.UTF-8"
, mas ao ler sobre isso, descobri como personalizar o formato de data e hora do sistema eLC_ALL
substituiria minha configuração personalizada.Não sei se usei o método mais apropriado, mas funciona!
O arquivo modificado é:
/etc/default/locale
Isso mostra o conteúdo antes do mod:
Isso mostra o conteúdo após o mod:
O mesmo arquivo na VM continha apenas esta linha:
fonte
Redefinir os códigos de idioma e reconfigurar pode ser suficiente para corrigir o problema:
Ao executar,
sudo dpkg-reconfigure locales
você pode selecionar o código do idioma desejado clicando spacebare movendo-se com ↑e ↓antes de pressionar Enter.fonte
dpkg-reconfigure
você obtém a lista com caixas de seleção e, para selecionar o idioma, é necessário usar a barra de espaço. Não existe essa informação no programa do console, então pensei que ajudaria a escrevê-la com a resposta. Eu não sabia como selecionar esses idiomas.Eu também encontrei esse problema, como você vê, o seu
LC_ALL
está vazio. Fiz o seguinte e ajuda:e definir o
LC_ALL
algo comoen_US.UTF-8
, o meu é:reinicie e execute
locale
, e deve ser algo como:fonte
LC_ALL
é desencorajada. "O uso de LC_ALL é altamente desencorajado, pois substitui tudo. Use-o apenas durante o teste e nunca o configure em um arquivo de inicialização." wiki.debian.org/LocaleSe você estiver conectado remotamente à máquina através do ssh (por exemplo, de um dispositivo macosx), precisará definir essas variáveis na máquina da qual está conectando.
adicione o seguinte a ~ / .bash_profile
fonte
Eu só quero adicionar que eu também precisava editar meu perfil doméstico:
Portanto, no seu caso, seria semelhante a:
Sair + Entrar. E tudo está como o esperado.
fonte
export
no início de cada linha e a coloquei~/.bashrc
.Eu tive o mesmo problema por vários meses, muitas ferramentas de software alertaram sobre configurações de localidade quebradas e algumas até se recusaram a executar. Quero usar o idioma inglês, mas as configurações monetárias e de números suecas.
O que finalmente funcionou para mim foi editar
/etc/default/locale
onde removi tudo naquele arquivo. Comecei então a configuração do idioma do Unity(Settings -> Language Support)
, configurei tudo (o Ubuntu queria instalar alguns componentes ausentes) e pressionei"Apply System-wide"
quando terminei.Meu
/etc/default/locale
agora é assim.A grande diferença entre este e meu arquivo original é
LANGUAGE="en"
.fonte
Já faz um tempo desde que isso foi publicado, mas recentemente tive problemas com variáveis "locale" e nenhuma resposta me deu nenhum resultado. Talvez minha própria experiência possa ajudar outra pessoa.
Minha variável LANG estava vazia e isso estava me causando problemas.
Resultado:
Eu tentei alguns dos comandos como:
Sem sucesso. Tentei editar o / etc / default / locale e descobri que já estava OK:
Resultado:
Também meu arquivo .pam_environment parecia estar correto:
Resultado:
Não quero adicionar coisas extras ao perfil ou aos arquivos do bash, principalmente porque, embora isso pudesse resolver o problema, eu não saberia a causa e isso me incomodou.
Finalmente, me perguntei se algo já estava substituindo as variáveis "locale" e executei o próximo comando:
Resultado:
Então, encontrei duas linhas no meu arquivo .bashrc onde estava a causa (não estou colando o arquivo inteiro):
Não sei como ou quando essas linhas acabaram no meu arquivo bash, mas tenho certeza absoluta de que não as escrevi, talvez o meu .bashrc tenha sido substituído quando eu estava trabalhando com algumas coisas de desenvolvimento da Web, realmente sei, mas como sei que isso não foi intencional e há pessoas por aí sem nenhuma pista sobre o que está causando o mau comportamento do "locale", talvez isso possa ajudá-los. Enfim, comentar essas linhas e uma reinicialização resolveram o problema para mim. Aqui eu respondi a mesma pergunta focada em reclamações sublimeT3 sobre a variável LANG .
fonte
Parece uma atualização localidades fritas de alguma forma. A correção que encontrei foi sair, alterar o idioma selecionado antes de fazer login e fazer login novamente.
Também pode ajudar a reinstalar os códigos de idioma no synaptic, embora eu não possa confirmar que foi isso que o corrigiu para mim, acho que estava saindo do sistema ou algo assim.
fonte
language-pack-en
elanguage-support-en
, em seguida, repita o processo acima.Tentei editar o arquivo de localidade e escolher diferentes idiomas no login.
A filtragem de pacotes quebrados com o Synaptic e a remoção completa dos 9 pacotes incorretos funcionaram para mim (libreoffice e python uno).
Mas não consigo instalar o LibreOffice sem aparentemente corromper o gerenciador de pacotes. No entanto, ele é instalado.
Estou no 11.04 i386. Isenção de responsabilidade: Houve uma falha de energia durante a última parte da minha instalação, pois o Ubuntu estava baixando atualizações.
fonte
Eu tive o mesmo problema, mas ir para Sistema> Administração> Suporte a idiomas pode resolver seu problema, pois pode solicitar que você instale alguns pacotes e tudo ficará bem! Funcionou para mim, então acho que fará o mesmo com você !!
fonte
Corre
e selecione uma das opções para o método de entrada que desejar.
fonte
Eu tive um problema semelhante (mais perceptível no Thunderbird) ao exemplo en_AU aqui - mas sou do en_NZ - e após algumas tentativas e erros no Ubuntu 17.10, minha correção foi atualizar ~ / .pam_environment, substituindo todas as outras entradas ( principalmente en_AU e en_US) com en_NZ e depois reinicializando.
Uma pena que você não possa simplesmente definir seu código de idioma e fazê-lo fazer o que ele afirma fazer - muito decepcionado que o fato de executar os códigos de idioma dpkg-configure não pareça realmente útil.
fonte