terça-feira, 22 de dezembro de 2009

Sistemas do Banco do Brasil e Linux 64 bits

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.

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.

segunda-feira, 2 de novembro de 2009

World of Goo

Para quem gosta de jogos de computador e usa Linux, sabe da triste realidade:
São realmente poucas as empresas que fazem jogos para este sistema operacional, pois ele ainda tem muito poucos usuários (algo em torno de 1 a 2%).
Claro que toda a regra tem suas exceções. Um exemplo é o World of Goo, que foi lançado simultaneamente em várias plataformas (incluindo Linux).
Já havia baixado o demo, e havia gostado muito. E ele é simplesmente o melhor jogo de lógica que já joguei... Tudo é extremamente bem feito, muito divertido e desafiador. Recomendo.
E para aqueles que querem um dia ver mais e mais bons jogos para Linux: suportem quem nos suporta. O preço é bem razoável (US$ 20,00, que quando comprei equivalia a +- R$ 35,00).
Espero que no futuro teremos jogos de grandes empresas para Linux também...
De qualquer forma, essas empresas já programam a maioria dos jogos como multiplataforma (Windows, MacOS, Wii, XBox, PS...). Incluir o Linux nessa lista é só uma questão de tempo, com certeza...

segunda-feira, 17 de agosto de 2009

sidux

Mais um capítulo na minha novela pessoal de distribuições do Linux. Já contei um pouco da minhas andanças entre as distribuições aqui e aqui.

E a história continua. Resolvi há alguns dias testar o sidux. O motivo principal é o mesmo que me levou a testar o Arch: Não existem versões "fechadas", mas ao atualizar o sistema, as últimas versões dos pacotes são instalados.

Isso porque ele é baseado no Debian sid, que é a versão instável do Debian (que é a base do Ubuntu). O que o sidux faz é adicionar alguns pacotes (inclusive do kernel) para estabilizar um pouco o sid.

O resultado é um sistema sempre atualizado (ou quase sempre), com pouco trabalho e sem precisar reinstalar todo o sistema operacional a cada 6 meses. E o melhor: usando o apt-get / synaptic!!!

Por que não usar o Debian sid direto? Bem, ele é a torta. O sidux é apenas a cereja no topo. Eu recomendo!!!

sexta-feira, 31 de julho de 2009

Making firefox use KDE's open file dialog in Kubuntu

Everyone who uses KDE knows the standard GTK file picker dialog JUST SUCKS!!!
Mozilla seems to refuse to provide a decent KDE integration in Firefox, so, at least, there are some good souls who created kgtk and others who packaged it for kubuntu.

To install it, open a terminal and execute the following:

  • Add the repository source, running kdesudo kate /etc/apt/sources.list and paste the following in the end of the file:

    deb http://ppa.launchpad.net/kgtk/ppa/ubuntu jaunty main

  • Add the repository keys: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9F8C7211

  • Update the packages: sudo apt-get update

  • Install the desired package: sudo apt-get install kubuntu-kgtk

  • Restart firefox

  • Be happy!


[Edit]
The kubuntu-kgtk package installs configurations for several other applications than firefox, like Gimp, Kino, etc. I've seen a glitch with GIMP where after selecting a file to save, the dialog for the specific format parameters (like jpeg, gif or png) do not have focus when appear, so you'll have to find it in the taskbar.

Another thing to watch is that only the .desktop laucher files are modified. So, if you have firefox in the favorites, you'll have to remove it and add again, since the favorite (or panel launcher) is a copy, not a link of the original launcher.

sábado, 25 de abril de 2009

Making firefox open files honoring KDE's file associations

A very frustrating issue for KDE users with firefox are the file associations. And manually setting the program for each file type is just too tedious.

What we have to do is provide a $HOME/.mailcap file which associates all file types with the xdg-open script, which will honor the file associations set in KDE (and other DE's too). Firefox uses that file to read the associations. If you want this to be system-wide (all users), copy it over /etc/mailcap (as root - backup is always a good idea) .

The easier way is to run the following command:
wget http://luisfpg.uuuq.com/blog/mailcap -O ~/.mailcap

This script was generated with update-user-mailcap, a ruby script that reads /etc/mime.types and generates the $HOME/.mailcap file. To run it, execute the following commands:
wget http://luisfpg.uuuq.com/blog/update-user-mailcap
chmod +x
update-user-mailcap
./update-user-mailcap

If you don't trust me, examine the file first. It's always a good idea to do this when downloading scripts from the Internet, by the way.

Attention:
If you had previously customized some file associations in firefox, you might want to rename the $HOME/.mozilla/firefox/profile/mimeTypes.rdf to other name (or just remove it) and restart firefox to have the associations reset.

A (minor) drawback is that on the file download dialog, you will always see xdg-open as the program, and not the real program which will be used to open the file, but it will work. Trust me ;)

quarta-feira, 22 de abril de 2009

De volta ao Kubuntu Linux

Bem, depois de algum tempo com o Arch Linux, voltei a instalar o Kubuntu...
Minhas conclusões sobre o Arch:
  • É uma excelente distribuição, principalmente pelo fato de não haver "versões" - os programas são sempre atualizados e basta rodar o lendário pacman -Syu para obter o "the latest and the greatest";
  • Como dito no site do Arch mesmo, ele não tenta "esconder" a complexidade do sistema. Muita coisa vem funcionando de fábrica, mas muita tem de ser configurada à mão.
Agora os pontos negativos:
  • Precisava rodar o GWT, que é 32 bits (e meu sistema, 64). Tive até que fazer uma gambiarra do tipo: renomeei o executável do java 32 e criei o script java que setava várias variáves de ambiente e chamava o executável renomeado;
  • Fazer o modem 3G da vivo funcionar foi impossível. Ainda bem que eu tinha outro notebook com um windinho e compartilhei a conexão 3G.
Assim, resolvi voltar ao Kubuntu. 2 dias antes do release final não consegui esperar e baixei o RC assim mesmo ;).
Minhas impressões:
  • O sistema boota muito rápido. Leva 20,5 segundos cronometrados desde o GRUB até a tela de login do KDM;
  • O QT 4.5 deixa o sistema bem mais rápido;
  • Ele vem com o estilo QtCurve para aplicações GTK pré configurado. Eu havia escrito sobre como fazer isso neste post.
  • Gostei do widget do NetworkManager, apesar de um bug que faz com que não haja espaço para todas as redes wireless aparecerem ao clicar nele.
Mas, como nem tudo são rosas, não gostei do KPackageKit. Acho que ele está muito cru ainda. Principalmente por não mostrar os diálogos dos pacotes debian. Tente, por exemplo, instalar o java da sun (agora da oracle) e vai dar erro, porque a licença não foi aceita, porque o KPackageKit não sabe como perguntar se você aceita a licença... Por isso, instalei o bom e velho synaptic, que é o melhor front-end para o apt, com certeza.

Só uma dica: para que o synaptic tenha a mesma aparência das aplicações GTK rodadas com seu usuário comum, rode: sudo ln -s $HOME/.gtkrc-2.0-kde4 /root/.gtkrc-2.0

Bem, minha impressão foi muito boa. Parabéns, equipe do Kubuntu (e da base do Ubuntu, claro). Eu realmente achei uma pena que o Ubuntu tenha escolhido o Gnome como ambiente primário. Sem querer iniciar uma "flamewar", o KDE é muito bala!!!

segunda-feira, 23 de março de 2009

Aparência de aplicações GTK no KDE 4

Muitos sabem que a aparência nativa de aplicações GTK (como Firefox, Thunderbird, Eclipse...) no ambiente KDE, por padrão, é horrível.


Alguns sabem, existe um estilo para aplicações GTK integrado às configurações do KDE (fica no ítem Aparência / GTK Styles and Fonts). Quem não tem ele instalado, pode procurar pelo pacote gtk-qt-engine). Só que, ao selecionar "usar o meu estilo do KDE em aplicações GTK", os widgets (botões, caixas de texto, botões de rádio e caixas de seleção) dentro do firefox, por exemplo, continuam horríveis. Ficam com um fundo cinza e ocupam bem mais espaço que o necessário.


Poucos sabem que isso tem solução! Basta selecionar um estilo GTK nativo ao invés da opção "usar o meu estilo do KDE em aplicações GTK". Um exemplo é baixar o estilo QTCurve, que tem sua versão tanto GTK quanto KDE. Assim, todas as aplicações ficam com um estilo "praticamente igual", e os widgets ficam certinhos!