Syntax coloring

terça-feira, 22 de dezembro de 2009

Sistemas do Banco do Brasil e Linux 64 bits

[EDIT] Conforme comentário do Rubens de Souza Matos Jr., realmente, o Home Banking do Banco do Brasil agora suporta o Linux em 64 bits! Isso é uma excelente notícia para a maioria dos usuários. Mas, como nem tudo é perfeito, para mim e para os outros clientes que também possuem uma conta empresarial, as dicas deste post seguem valendo, pois o Gerenciador Financeiro (aplicativo para contas empresariais) ainda não suporta 64 bits... Mas é um sinal de progresso, e espero que logo ele também rode "out-of-the-box"!

Já há algum tempo venho insistindo com o Banco do Brasil a necessidade de seus sistemas (home banking e gerenciador financeiro) suportarem o Linux 64 bits.

Como funciona: O site usa o plugin do Java (disponível para a maioria dos sistemas operacionais) como segurança adicional de acesso (recentemente foi trocado o teclado virtual para um campo normal onde se digita a senha pelo teclado do computador mesmo). O problema não está no Java, mas na solução empregada pelo banco: para identificar o computador, é rodado um programa nativo (que não é Java) para obter informações da máquina que o próprio Java não disponibiliza. Assim, ao acessar o banco, é baixado um arquivo jar (Java ARchive) que contém além do programa Java, esses pequenos programas nativos para cada arquitetura: Windows / Linux / Mac...

O problema: No jar do banco não existe um arquivo para o Linux em 64 bits, somente 32. Não sei se ele funciona no Windows 64 bits. Alguém tem essa informação? O que sei é que no Windows é instalado um programa adicional para suportar essa solução. Talvez esse programa seja o responsável pela identificação do computador.

Por quê Linux 64 bits é importante mesmo? Já fazem mais de 10 anos que as arquiteturas 64 bits estão no mercado. Nenhum sistema operacional de 32 bits consegue usar mais do que 4 GB de memória. Alguns até conseguem com uma gambiarra chamada PAE, mas ficam mais lentos. Além disso, muitos programas rodam mais rápido em 64 bits.

Por quê o Banco do Brasil deveria suportar o Linux 64 bits? Na verdade, é uma questão de mercado: o banco deveria suportar os sistemas que seus clientes usam. Qualquer um que buscar no google por banco do brasil linux 64 bits vai ver uma série de páginas e blogs (como este) de usuários insatisfeitos. E há outra questão: o Linux está em crescimento, e está aqui para ficar. E praticamente 100% dos computadores novos suportam 64 bits (exceto os netbooks, ou mini notebooks). Então, pra que sub-utilizar um computador porque os programadores do banco simplesmente "esqueceram" de colocar um arquivo dentro daquele tal de pacote jar?

E a solução por parte do banco é difícil? Como o sistema de segurança do banco não é software livre, fica impossível dizer o trabalho exato que seria necessário para suportar o Linux 64 bits. Mas o mais provável é que o exato programa que roda em 32 bits possa ser compilado em 64. Depois disso, seria só recriar o pacote jar e pronto.

Tá, mas eu preciso usar o sistema e tenho um Linux 64 bits. Como faço? Baixe o firefox de http://www.firefox.com (que é 32 bits) e extraia ele em algum lugar (por exemplo, /home/usuario - adaptando para o seu usuario). A pasta firefox será criada. Então abra um terminal (sim, um terminal) e digite:

cd firefox
./firefox -ProfileManager

Crie um perfil com o nome 32, e desmarque a opção para usar sempre esse perfil.
O firefox irá abrir. Você pode fechá-lo por agora.
Depois instale o Java 32 bits. Baixe a versão Linux (arquivo de extração automática) em http://www.java.com.
Volte ao terminal. Os passos se baseiam na versão do java no momento do post, que é 6u17. Adapte de acordo com a versão baixada:

cd firefox/plugins
sh caminho_do_download/jre-6u17-linux-i586.bin
Aperte a barra de espaço até chegar ao fim do texto, digite y e enter.
ln -s jre1.6.0_17/plugin/i386/ns7/libjavaplugin_oji.so

Aí você vai ter que criar um lançador do Firefox 32 bits. Clique com o botão direito no menu do sistema (menu K ou ícone do Ubuntu ou Gnome) e clique em editar menus. Adicione um ítem na seção Internet, colocando Firefox 32 como nome, "/home/usuario/firefox/firefox -P 32 -no-remote" (sem aspas, adaptando o usuario e nome do perfil criado - 32). Como ícone, você pode usar /home/usuario/apps/firefox/chrome/icons/default/default48.png. Salve o lançador.

[EDIT]  Por algum motivo desconhecido, para acessar minha conta empresarial, o firefox trancava, comendo 100% da CPU. Tive que iniciar em modo de segurança (parâmetro -safe-mode) e desativar todos os complementos. Aí, reiniciei ele e ativei o plugin do java. Aí a coisa voltou a funcionar...

[EDIT 2] Conforme comentário aqui no post, no Firefox 3.6 a coisa não funciona. Tem que ser o 3.5 mesmo.

E por que eu tenho que fazer tudo isso se é interesse do banco em ter-me como cliente? Não sei, mas obviamente a responsabilidade é do banco em querer ter você como cliente. Tenho certeza que quanto mais usuários criarem uma reclamação (por dentro do home banking, em mensagens), mais rápido este problema será solucionado.