Problema no Locales e uma Gtk-Message. [RESOLVIDO]

Iniciado por mrbin, 23 de Julho de 2007, 10:38

tópico anterior - próximo tópico

mrbin

Estou com um probleminha aqui.

Quando eu chamo algum programa pelo terminal, aparecem alguns erros que eu não consigo resolver. Alguém aí sabe o que pode estar acontecendo?

leandro@leandro-laptop:~$ gedit
(gedit:6670): Gtk-WARNING **: Locale not supported by C library.
        Using the fallback 'C' locale.

(gedit:6670): Gdk-WARNING **: locale not supported by C library
Gtk-Message: (for origin information, set GTK_DEBUG): failed to retrieve property `GtkStatusbar::shadow-type' of type `GtkShadowType' from rc file value "((GString*) 0x82dbd90)" of type `GString'
Gtk-Message: (for origin information, set GTK_DEBUG): failed to retrieve property `GtkStatusbar::shadow-type' of type `GtkShadowType' from rc file value "((GString*) 0x82dbd90)" of type `GString'


O problema do locales eu resolvo parcialmente com um
export LC_ALL="pt_BR.UTF-8"
mas que só funciona para o terminal aberto em questão. Se eu fecho e abro de novo outra sessão, o problema volta.

Agora, o problema Gtk-Message eu não faço a menor idéia do que possa ser. Procurei no Oráculo Google e nem ele pôde me dar uma informação - nem útil, nem inútil.

Agora, subscrevo meu problema à comunidade, na esperança de alguém conhecer esse tipo de mensagem.

E aí? O que acham disso?
Ubuntu user nº 4141
Since 2004

tfmoraes

A configuração de locale do sistema fica no arquivo "/etc/environment", é só mudar a variável LANG

mrbin

Citação de: tfmoraes online 23 de Julho de 2007, 20:26
A configuração de locale do sistema fica no arquivo "/etc/environment", é só mudar a variável LANG

Aí vai meu /etc/environment pra você dar uma olhada:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANG="pt_BR.UTF-8"
LANGUAGE="pt_BR:pt:pt_PT"


Algo errado?
Ubuntu user nº 4141
Since 2004

tfmoraes

Qual é o conteúdo da variável LANG no seu sistema, para ver, faça isso:

echo $LANG

boi


mrbin

Citação de: tfmoraes online 25 de Julho de 2007, 21:52
Qual é o conteúdo da variável LANG no seu sistema, para ver, faça isso:

echo $LANG

leandro@leandro-laptop:~$ echo $LANG
"pt_BR.UTF-8"


Citação de: boi online 25 de Julho de 2007, 21:57
sudo dpkg-reconfigure locales

Isso eu já fiz, boi... mas ele dá esse retorno:

leandro@leandro-laptop:~$ sudo dpkg-reconfigure locales
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = ""pt_BR:pt:pt_PT"",
        LC_ALL = ""pt_BR.UTF-8"",
        LANG = ""pt_BR.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
Generating locales...
  en_US.UTF-8... up-to-date
  pt_BR.UTF-8... up-to-date
  pt_PT.UTF-8... up-to-date
Generation complete.


Mas quando eu tento executar de novo o gedit, por exemplo, pelo terminal:
leandro@leandro-laptop:~$ gedit

(gedit:6695): Gtk-WARNING **: Locale not supported by C library.
        Using the fallback 'C' locale.

(gedit:6695): Gdk-WARNING **: locale not supported by C library

Ubuntu user nº 4141
Since 2004

boi


mrbin

Citação de: boi online 26 de Julho de 2007, 11:57
O pacote "locales" está instalado?

Sim. E tentei reinstalar ele umas 5 ou 6 vezes, mas não funcionou...

Ele está assim desde que eu reinstalei o sistema do CD que veio pelo correio. Antes disso não dava nenhum problema.
Ubuntu user nº 4141
Since 2004

clcampos

Já experimentou colocar o comando abaixo (aquele que diz que resolve seu problema para um terminal, e enquanto aberto) no arquivo /etc/rc.local, ou /etc/profile ou até mesmo no arquivo /home/SEU-USUARIO/.bash_profile?

export LC_ALL="pt_BR.UTF-8"

Pergunto isto porque (salvo me engano) o primeiro é executado durante o boot, o segundo durante o login de todos os usuários, e o terceiro para seu usuário, e talvez assim quem sabe ele não resolve o problema para todas as instancias de console abertas?
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

mrbin

Citação de: clcampos online 26 de Julho de 2007, 15:29
Já experimentou colocar o comando abaixo (aquele que diz que resolve seu problema para um terminal, e enquanto aberto) no arquivo /etc/rc.local, ou /etc/profile ou até mesmo no arquivo /home/SEU-USUARIO/.bash_profile?

export LC_ALL="pt_BR.UTF-8"

Pergunto isto porque (salvo me engano) o primeiro é executado durante o boot, o segundo durante o login de todos os usuários, e o terceiro para seu usuário, e talvez assim quem sabe ele não resolve o problema para todas as instancias de console abertas?

Tentei colocar o comando nos três arquivos sugeridos, um de cada vez. Mas nenhum surtiu efeito.

Reparei que quando o comando é dado como superusuário ele não funciona:

leandro@leandro-laptop:~$ sudo export LC_ALL="pt_BR.UTF-8"
sudo: export: command not found


Eu já tô a ponto de desistir de corrigir isso. O sistema inteiro funciona, todo em português do brasil... É muito estranho que isso esteja acontecendo.
Ubuntu user nº 4141
Since 2004

mrbin

Olha só, quando eu tava a ponto de desistir resolvi o problema com uma simples observação!

Quando eu dava o comando locale no terminal, ele retornava isso:

leandro@leandro-laptop:~$ locale
LANG="pt_BR.UTF-8"
LANGUAGE="pt_BR:pt:pt_PT"
LC_CTYPE="pt_BR.UTF-8"
LC_NUMERIC="pt_BR.UTF-8"
LC_TIME="pt_BR.UTF-8"
LC_COLLATE="pt_BR.UTF-8"
LC_MONETARY="pt_BR.UTF-8"
LC_MESSAGES="pt_BR.UTF-8"
LC_PAPER="pt_BR.UTF-8"
LC_NAME="pt_BR.UTF-8"
LC_ADDRESS="pt_BR.UTF-8"
LC_TELEPHONE="pt_BR.UTF-8"
LC_MEASUREMENT="pt_BR.UTF-8"
LC_IDENTIFICATION="pt_BR.UTF-8"
LC_ALL="pt_BR.UTF-8"


Eu dava o comando export e ele resolvia. Aí, resolvi ver o que saía no locale quando o erro estava temporariamente resolvido:
leandro@leandro-laptop:~$ locale
LANG=pt_BR.UTF-8
LANGUAGE=pt_BR:pt:pt_PT
LC_CTYPE="pt_BR.UTF-8"
LC_NUMERIC="pt_BR.UTF-8"
LC_TIME="pt_BR.UTF-8"
LC_COLLATE="pt_BR.UTF-8"
LC_MONETARY="pt_BR.UTF-8"
LC_MESSAGES="pt_BR.UTF-8"
LC_PAPER="pt_BR.UTF-8"
LC_NAME="pt_BR.UTF-8"
LC_ADDRESS="pt_BR.UTF-8"
LC_TELEPHONE="pt_BR.UTF-8"
LC_MEASUREMENT="pt_BR.UTF-8"
LC_IDENTIFICATION="pt_BR.UTF-8"
LC_ALL=pt_BR.UTF-8


Perceberam a mudança no LANG, no LANGUAGE e no LC_ALL? Saíram as aspas!

Aí o que fiz foi editar o /etc/environment de:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANG="pt_BR.UTF-8"
LANGUAGE="pt_BR:pt:pt_PT"
LC_ALL="pt_BR.UTF-8"


para:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANG=pt_BR.UTF-8
LANGUAGE=pt_BR:pt:pt_PT
LC_ALL=pt_BR.UTF-8


Reiniciei.... e não é que funcionou?!?

Valeu, boi, clcampos e tfmoraes!!!

P.S.: O erro da Gtk_message era do tema que eu tava usando. Foi só trocar o tema pra não dar mais erro. ;)
Ubuntu user nº 4141
Since 2004

solrafa

Olá mrbin,

estava com o mesmo problema aqui:

no suporte a idiomas constava o idioma português
mas todo o sistema em inglês

fiz a alteração: retirei as aspas do /etc/environment
e tudo voltou ao bom e velho português de camões :)

até,
rafael