Wheezy locales problem - a região do gnome-control-center trava com o segfault

2

Nos últimos dias, meus locais têm um problema sério. Eu normalmente sou "en_GB.UTF-8". De repente, quando executando o apt, mensagens de erro estão aparecendo dizendo

Traceback (most recent call last):
File "/usr/bin/apt-listchanges", line 33, in <module>
from ALChacks import *
File "/usr/share/apt-listchanges/ALChacks.py", line 32, in <module>
sys.stderr.write(_("Can't set locale; make sure $LC_* and $LANG are correct!\n"))
NameError: name '_' is not defined
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_TIME = "en_gb",
LC_MONETARY = "en_gb",
LC_MEASUREMENT = "en_gb",
LC_NUMERIC = "en_gb",
LANG = "en_US.utf8"
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
Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale. at /usr/share/perl5/Debconf/FrontEnd    /Gnome.pm line 97, <> line 1.

Além disso, se eu tentar rodar o "gnome-control-center region", ele aparecerá como um segfault ou a GUI será exibida, mas se eu tentar definir alguma coisa, ele será segfaults. Observe o "en_gb" s na mensagem de erro - um "GB" minúsculo é ilegal. Também não acho que en_US sequer exista como uma localidade no meu sistema. Quando eu faço login, uma caixa de diálogo me pergunta se eu quero renomear os diretórios como "minha linguagem mudou" - um pouco preocupante. Eu acho que começou depois de uma atualização, mas eu tentei instalar o gnome-shell 3.2 do sid (porque eu acreditei erroneamente que seria fácil preencher suas dependências, e queria usar extensões do gnome). Eu rolei de volta, mas isso poderia ter distorcido algo fora de forma? Se sim, o que devo reinstalar?

Saída de / usr / bin / locale:

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
LANG=en_US.utf8
LANGUAGE=
LC_CTYPE="en_US.utf8"
LC_NUMERIC=en_gb
LC_TIME=en_gb
LC_COLLATE="en_US.utf8"
LC_MONETARY=en_gb
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT=en_gb
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=

Saída da localidade -a:

C
C.UTF-8
en_GB
en_GB.iso88591
en_GB.utf8
POSIX
    
por andywebsdale 03.01.2012 / 22:46

2 respostas

3

As definições de localidade ocupam muito espaço em disco (se você adicionar todas as diferentes localidades disponíveis), então o Debian e outras distribuições as geram mediante solicitação. No Debian, execute dpkg-reconfigure locales (como root) e selecione as localidades nas quais você está interessado. Certifique-se de marcar a caixa para en_US.utf8 (e outras en_US variants enquanto estiver nisso). Além disso, algumas categorias são estranhamente declaradas como en_gb ; procure a string en_gb em seus arquivos de configuração ( grep -r en_gb ~/.[!.]* /etc ) e corrija o arquivo problemático.

    
por 04.01.2012 / 01:41
0

Finalmente encontrei de onde o "en_gb" estava vindo. Ran dconf (a nova substituição de configuração gnome no estilo gconf2. Eu deveria ter verificado essas configurações antes :-). Em system- > locale, lo! & contemplar! aí está. Eu alterei para "en_GB" & reiniciou a sessão do Gnome. Agora, a saída de / usr / bin / locale é exatamente como esperada, sem localidades minúsculas & não há en_US espúrios. Não tenho certeza de como o dconf stting foi perdido. Eu certamente não tenho memória de fazer isso sozinho & Não consigo pensar por que eu gostaria de alterá-lo também. "gnome-control-center region" funciona bem agora também. Não segfaulting, & tudo parece funcionar bem. Pouco gasto que um local inexistente faz com que ele caia, com certeza não seria muito difícil falhar mais graciosamente & talvez ofereça uma mensagem informativa. Graças a Gilles por suas sugestões úteis - ele estava certo sobre o aspecto da configuração, eu não sei como eu perdi isso. Terá que ver como os dados do dconf estão realmente armazenados.

    
por 14.01.2012 / 01:14