como corrigir erro de localidade

11

Acabei de fazer uma nova instalação do ubuntu usando debootstrap. Quando o faço sudo aptitude upgrade, recebo esta mensagem de erro:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en_US:en",
    LC_ALL = (unset),
    LANG = "en_US.ISO-8859-1"
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

Alguém pode me dizer como resolver esse problema? Vejo muitas postagens semelhantes a esta online, mas nenhuma delas parece resolver o problema.

Eu estou usando Ubuntu 14.04 LTS. Obrigado.


PARA SUA INFORMAÇÃO:

$ locale -a
C
C.UTF-8
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.iso88591
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX

e

$ locale
LANG=en_US.ISO-8859-1
LANGUAGE=en_US:en
LC_CTYPE="en_US.ISO-8859-1"
LC_NUMERIC="en_US.ISO-8859-1"
LC_TIME="en_US.ISO-8859-1"
LC_COLLATE="en_US.ISO-8859-1"
LC_MONETARY="en_US.ISO-8859-1"
LC_MESSAGES="en_US.ISO-8859-1"
LC_PAPER="en_US.ISO-8859-1"
LC_NAME="en_US.ISO-8859-1"
LC_ADDRESS="en_US.ISO-8859-1"
LC_TELEPHONE="en_US.ISO-8859-1"
LC_MEASUREMENT="en_US.ISO-8859-1"
LC_IDENTIFICATION="en_US.ISO-8859-1"
LC_ALL=
user1527227
fonte
1
Isso já foi respondido aqui askubuntu.com/questions/162391/how-do-i-fix-my-locale-issue Resumo: defina LC_ALL em / etc / default / locale
h7r

Respostas:

6

O debootstrapnão cria um código de idioma. Então, usamos outra coisa como localidade. Use este comando:

sudo locale-gen en_US.ISO-8859-1

Eu espero que isso ajude!


fonte
Não, também aptitudeé válido. Sua resposta não alterará o OP.
Danatela
2
Embora isso possa resolver o erro de localidade, ele fornece um sistema com codificação latin1, que não é adequado no Ubuntu.
Gunnar Hjalmarsson
Além disso, ~/.kde.env/setlocale.shvocê defineexport LANG=en_US.UTF-8
user1527227
11

Um desktop Ubuntu deve ser configurado com a codificação UTF-8. Por alguma razão, seu sistema tenta definir o código de idioma latin1 pt_US.ISO-8859-1. Você realmente deveria mudar isso.

Talvez a configuração ocorra /etc/default/locale.

Onde quer que isso aconteça, mude para

LANG=en_US.UTF-8

caso contrário, você encontrará várias surpresas relacionadas ao local.

Gunnar Hjalmarsson
fonte
Tem certeza de que é o único a usar? Como você sabe?
User1527227
@ user1527227: Bem, quase. ;) Como o AFAIK en_US.UTF-8vem pré-gerado em todos os desktops do Ubuntu. Mas você pode verificá-lo facilmente executando o locale -acomando Seria bom se você editasse a pergunta e adicionasse a saída desse comando.
Gunnar Hjalmarsson
eu adicionei as informações que você solicitou.
User1527227
1
@ user1527227: Ok, e lá podemos ver en_US.utf8na locale -asaída. Meu conselho para mudar de en_US.ISO-8859-1para en_US.UTF-8estandes.
Gunnar Hjalmarsson
Obrigado. Você sabe exatamente como fazer isso? Eu não vejo /etc/default/locale. Posso apenas correr sudo locale-gen en_US.utf8?
User1527227
8

A solução permanente do problema de localidade é exportando as variáveis ​​de localidade no .bash_profilearquivo. Você também pode usar o /etc/profilearquivo em vez de .bash_profile.

echo "export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8">>~/.bash_profile

Não se esqueça de sourceo .bash_profilee seguir o roteiro de configuração fácil.

Aqui está o script que corrige o problema de localidade

Ajeet Khan
fonte
3

Isso funciona para mim.

  1. export LANGUAGE=en_US.UTF-8
  2. export LANG=en_US.UTF-8
  3. export LC_ALL=en_US.UTF-8
  4. sudo locale-gen en_US.UTF-8
  5. sudo dpkg-reconfigure locales
Airat Kazanbaev
fonte
1

O que funcionou para mim é o seguinte:

export LANGUAGE=en_US.UTF-8 export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8 sudo locale-gen en_US.UTF-8 sudo dpkg-reconfigure locales

Para uma solução permanente, você pode colocar

export LANGUAGE=en_US.UTF-8 export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8

no seu .zshrcou.bashrc

Ref.

  1. https://jee-appy.blogspot.com/2016/02/set-locale-on-ubuntu-permanent-solution.html
  2. https://www.thomas-krenn.com/en/wiki/Perl_warning_Setting_locale_failed_in_Debian
alpha_989
fonte