Pesquisar este blog

domingo, 30 de março de 2008

COMO CONVERTER O UBUNTU PARA UTILIZAR ISO-8859-1 QUANDO EM PORTUGUÊS

No linux ubuntu foi feita a opção de utilizar a codificação utf8, o que traz muitos problemas quando se esta utilizando o idioma português brasileiro, entre os mais variados problemas causados por isso esta o fato dos Ç e palavras acentuadas onde deveria existir um assento serem exibidos com caracteres estranhos, isso seria o mínimo se não fosse o fato de quando estes caracteres aparecem coisas estranhas ocorrem com estes arquivos, como por exemplo o nautilus que é o gerenciador de arquivos do ubuntun indicar que estes arquivos embora estejam ali não existem, entre outros comportamentos estranhos, mais isso é de fácil solução e aqui vou procurar resumir a forma de acabar com este problema fazendo com que o ubuntun em português do Brasil, utilize a codificação ISO 8859-1.

Edite o arquivo /etc/environment e altere os campos LANG e LANGUAGEM para que fiquem desta forma se não existir acrescente:

LANG= "pt_BR"
LANGUAGE= "pt_BR:pt:en"

O arquivo /etc/default/locale também deve ser editado eo seu contéudo deve ser o seguinte:

LANG= "pt_BR"
LANGUAGE= "pt_BR:pt:en"

Depois de editar os arquivos acima execute o seguinte comando como usuário root:

echo "pt_BR pt_BR.ISO-8859-1" >> /etc/locale.alias

este comando facilita as configurações sendo de suma importância lembrando que deve ser executado como root ou com sudo no inicio do comando.

No diretório /var/lib/locales/supported.d existem três arquivos que são nomeados como "en" "pt" e "local" vamos apagar o "en" eo "pt" deixando apenas o "local".

após apagar os autros arquivos edite o arquivo local para que fique da seguinte forma:

pt_BR.ISO-8859-1 ISO-8859-1
en_US.ISO-8859-1 ISO-8859-1

após todas as edições e exclusões acima vamos reconfigurar o sistema o que se faz executando os comandos abaixo relacionados como usuário root ou com sudo antes do comando, um a um conforme for sendo executado seguindo a ordem conforme passo a descrever:

# localedef pt_BR -i pt_BR -f ISO-8859-1
# localedef pt_BR.ISO-8859-1 -i pt_BR -f ISO-8859-1
# localedef pt_BR.ISO8859-1 -i pt_BR -f ISO-8859-1
# dpkg-reconfigure locales
# locale-gen --purge
# locale-gen



Executado todos os comandos acima reinicie o sistema ou seja vá em sair e reiniciar, não é reiniciar a parte gráfica mas o sistema como um todo, desligandoi e religando o computador e após reiniciar digite como root ou com sudo no inicio o comando locale se tudo correu bem as duas primeiras linhas apresentadas correspondem ao contéudo do arquivo /etc/environment as demais apresentam apenas "pt_BR" e a última nada, após esta verificação digite o comando locale -a neste deve aparecer em todas as linha além do local a sigla iso 88591 pronto seu sistema já esta operando utilizando a codificação ISO 8859-1, entretanto surge outro problema alguns arquivos e diretórios criados antes da mudança ficam na codificação UTF8, mais existe um pacote que faz esta conversão automática por linha de comando chama-se convmv, sendo que é muito fácil a sua instalação através do apt-get basta digitar o seguinte sempre como usuário root ou sudo no inicio:

apt-get install convmv

após a instalação digite:

find . -type d -print0 | xargs -0 -i% convmv -f UTF-8 -t ISO-8859-1 %

O comando acima é apenas um teste para que o programa verifique quais arquivos dever ser recodificados após a verificação que dura de acordo com a quantidade de arquivos a serem verificados digite o seguinte comando para desta feita converter efetivamente os arquivos.

find . -type d -print0 | xargs -0 -i% convmv -f UTF-8 -t ISO-8859-1 % --notest

e depois após a conversão que dura de acordo com a quantidade de arquivos a serem convertidos digite. **"USE ESTA OPÇÃO APENAS SE SOUBER REALMENTE O QUE ESTA FAZENDO"**

ind . -type f -print0 | xargs -0 -i% convmv -f UTF-8 -t ISO-8859-1 % --notest

Uma nova conversão sera feita desta vez não de diretorios mais de arquivos do sistema o que ocorre coma simples substituição da letra d por f no comando como descrito acima.

AINDA ASSIM HÁ PROBLEMAS COM O CONSOLE

Mesmo realizando tudo acima corretamente ainda teremos problemas com o console, que vem por padrão no teclado americano sem Ç, teremos que mudar isso também, e como primeiro passo temos que instalar os seguintes pacotes console-data, console-setup e console-common podemos fazer isso através do apt-get digitando como usuário root ou com sudo na frente do comando:

apt-get install console-data console-setup console-common

não precisa se preocupar pode digitar o comando assim mesmo embora algum pacote já esteja instalado o apt-get instalará apenas os que forem necessários ou existirem em seus repositórios válidos, caso não seja encontrados os arquivos adicione um repositório que o contenha.

Realizada a instalação dos pacotes reconfigure o teclado através do comando digitado na mesma forma descrita acima.

dpkg-reconfigure console-data

e depois o comando também como root.

dpkg-reconfigure console-setup

Respondido corretamente as perguntas realizadas pelos dois comandos, lembrando que na maioria a única coisa que precisa ser modificada é apenas o tipo de teclado que passa a ser abnt 2 e a codificação ISO-8859-1 as demais perguntas podem ficar como estão sendo apresentadas e o ok é sempre na tecla TAB.

Feito tudo corretamente o seu console vai esta em português e sem dificuldade, sobretudo quanto a barra que nos comandos quando não esta correto pode esta em qualquer outra tecla do teclado.

Um comentário:

Unknown disse...

depois que reiniciei a maquina, não entra mais no modo grafico, tento reiniciar o gdm mas aparece /etc/default/locale: 4: pt_BR:not found