9 de agosto de 2008

Aplicações swing com o teclado "travado" no linux (Ubuntu)

Já a algum tempo venho tendo um problema "irritante" em aplicações swing no linux (principalmente o Netbeans). Depois de algum uso simplesmente o teclado "travava", nenhuma combinação de teclas passava a ser "ouvida" pela aplicação, apenas eventos de mouse. A única solução seria fechar e abrir novamente a aplicação.
Como muitos usuários de linux (no meu caso Ubuntu) estou utilizando o Compiz para efeitos 3D no Desktop (literalmente "eye candy", mas tem muita coisa que já não consigo mais viver sem heheh). Inicialmente todas as aplicações swing ficavam com a tela em "branco", para resolver isso utilizava-se uma variável de ambiente que mudava o tookit utilizado pelo awt:

AWT_TOOLKIT=MToolkit

Isto resolveu um problema, a aplicação agora era renderizada normalmente. Mas depois apareceu este bug do teclado travado.

Pesquisei durante meses sem sucesso, mas ontem achei a solução, no forum do netbeans. Abaixo reproduzo (traduzido) a solução que foi proposta, e que funcionou no meu caso.

0) Caso tenha colocado utilizado a variável de ambiente AWT_TOOLKIT, remova-a, ela já não é mais necessária, pelos testes que eu fiz as aplicações java já são renderizdas de maneira correta no compiz (só testei com o java 6)

1) Vá no site http://download.java.net/jdk6/binaries/ e baixe o arquivo "Linux self-extrating JDK file" (instalação genérica do jdk pra linux). No post foi citado o release b27, quando fui baixar já tinha a versão b28: jdk-6u10-rc-bin-b28-linux-i586-21_jul_2008.bin, são 76mb (este ainda é o release candidate do java6 update 10, ainda não é a versão final, mas já é utilizável)

2) Renomei o arquivo baixado para jdk-6-linux-i586.bin (necessário para criar o package do Ubuntu, para outras distribuições não é necessário basta executar o instalador)

3) Instalar o java-package (aplicativo que permite converter o .bin para .deb):
sudo apt-get install java-package

4) Criar o pacote .deb para instalação:
make-jpkg jdk-6-linux-i586.bin

5) Basta instalar agora o .deb que foi criado:
sudo dpkg -i sun-j2sdk1.6_1.6.0_i386.deb

6) Depois de instalado basta configurar o java default para o linux
sudo update-alternatives --config java (ele provavelmente deve ser o /usr/lib/j2sdk1.6-sun/bin/java)

7) Fazemos o mesmo para o javac
sudo update-alternatives --config javac

Se você ja tinha o netbeans instalado é preciso alterar o seu arquivo de configuração.

<pasta_netbeans>/etc/netbeans.conf

Nele há uma propriedade chamada netbeans_jdkhome, basta mudar para a pasta onde foi instalado o novo jdk: /usr/lib/j2sdk1.6-sun

Espero que ajude.


25 de junho de 2008

Eclipse Novo na parada!!!!

Saiu a nova versão do Eclipse, codnome Ganymede (mais uma das luas de Júpiter).

Segue o link para os downloads:

http://www.eclipse.org/downloads/packages/


Divirtam-se.

24 de junho de 2008

Ajude a sustentar a Wikipédia e outros projetos, sem colocar a mão no bolso, e concorra a um Eee PC!

Galera, pra quem não conhece os blog BR-Linux e Efetividade eu recomendo muito, já sou leitor assíduo dos dois já faz um bom tempo (alguns anos). Alem de falar de Linux, software livre, etc... costumam rolar algumas promoções super bacanas e agora temos mais uma, segue o texto:


Ajude a sustentar a Wikipédia e outros projetos, sem colocar a mão no bolso, e concorra a um Eee PC!

…e também a pen drives, card drives, camisetas geeks, livros e mais! O BR-Linux e o Efetividade lançaram uma campanha
para ajudar a Wikimedia Foundation e outros mantenedores de projetos
que usamos no dia-a-dia on-line. Se você puder doar diretamente, ou
contribuir de outra forma, são sempre melhores opções. Mas se não
puder, veja as regras da promoção e participe - quanto mais divulgação, maior será a doação do BR-Linux e do Efetividade, e você ainda concorre a diversos brindes!

E pra provar pra vocês que os 2 blogs são muito bons, vou postar alguns links para posts que eu tenho marcados no meu favoritos :P:

http://br-linux.org/2008/criando-um-pendrive-ubuntu-804/
http://br-linux.org/2008/alternativa-livre-ao-ms-project-ultrapassa-meio-milhao-de-downloads/
http://br-linux.org/2008/lancado-o-ubuntu-eee-804/
http://br-linux.org/2008/suporte-a-webcams-integradas-dos-notebooks-hp-no-ubuntu/
http://www.efetividade.net/2008/04/07/goosync-sincronizando-seu-smartphone-ou-pda-com-o-google-calendar/
http://br-linux.org/2008/conhecendo-melhor-o-virtualbox/
http://br-linux.org/2008/aparencia-de-mac-os-x-no-seu-gnome-videos-e-como-fazer/

Ou seja, se você usa linux, seja leigo ou escovador de bits de longa data, recomendo muito este blog :P

5 de junho de 2008

IBM Lotus Symphony: o que ele tem com java??? E com o Ubuntu???

Foi lançado esta semana o IBM Lotus Symphony 1, um pacote office (editor de texto, planilha e apresentações) que como o nome diz foi feito pela IBM, e é "di gratis".
Mas porque eu estou falando sobre um pacote office num blog que é direcionado a java e a linux e opensource em geral.
Dois motivos:
  • ele é baseado no OpenOffice, por tanto é baseado em opensource (ate ai, nenhuma novidade)
  • ele foi desenvolvido utilizando o RCP do Eclipse!!! :O
Pra quem não sabe, tanto com o Eclipse quanto com o Netbeans é possível desenvolver aplicações baseadas nestas IDEs. Na verdade não na IDE, mas no RCP (que é a base da IDE).
Pra galera que já usa o OpenOffice (ou o nosso querido BrOffice) talvez não haja muita diferença (a principal e na interface, mas a funcionalidade praticamente é a mesma), mas para algumas empresas pode fazer toda a diferença do mundo, pois este "OpenOffice" tem o nome da IBM por traz, e pra algumas empresas isto é mais importante do que o software funcionar. :P

Ele esta disponível para Windows e Linux e pode ser baixado neste endereço: http://symphony.lotus.com/software/lotus/symphony/home.jspa

As distribuições suportadas são SUSE Linux Enterprise Desktop 10 e Red Hat Enterprise Linux 5. Mas claro nada impede de que você tente instalar ele no Ubuntu, mas depois de instalado ele não executará :(.
Mas como tudo no mundo Linux tem solução, este problema tambem tem, e claro que eu já cacei isto na rede e vou disponiblizar para geral. Eu encontrei a solução aqui, a baixo segue a mesma:

Após baixar o arquivo IBM_Lotus_Symphony_linux.bin, seguir os seguintes passos (pelo console, troque username pelo nome de seu usário):
  1. chmod +x IBM_Lotus_Symphony_linux.bin
  2. sudo ./IBM_Lotus_Symphony_linux.bin
  3. sudo chown -R username ~/.lotus/
Feito isto você já estara apto a utilizar o IBM Lotus Symphony, bastando pra isto ir no menu Escritório.

Coisas interessantes:
  • A tela de preferences é a mesma do Eclipse (windows&gt;preferences)
  • se você for dar uma olhada nos diretorios da aplicação você vai encontrar uma JVM da IBM (J9 alguma coisa, versão 1.5), vai encontrar uma pasta eclipse e, claro que não podia faltar, as pastas plugins e features
  • A instalação de plugins é feita da mesma maneira que no Eclipse, podendo por dentro do aplicativo você incluir "remote sites" de onde os plugins poderão ser baixados.

Vou começar a usá-lo para preparar umas apresentações e mais tarde posto aqui uma analise sobre ele com mais calma, mas por hora já da pra todos instalarem e usarem no seu Ubuntu.