Arquivo de abril \30\UTC 2008

VirtualBox no Ubuntu 8.04

O VirtualBox possui uma versão OpenSource Edition. Além dela existe a versão comercial onde paga-se uma licença de uso, mas se for para uso pessoal e não comercial não é preciso pagar nada. Eu já falei dela aqui em artigos passados e acho que não preciso repetir tudo novamente.
A versão OpenSource ou apenas OSE é equivalente a versão comercial com exceção dos seguintes itens que estão presentes apenas na versão comercial :

  • Suporte a USB (mas você pode compartilhar arquivos entre a anfitriã e maquina virtual nem necessitar do suporte a USB)
  • USB over RDP
  • iSCSI initiator

Nos outros itens, ambas as edições são exatamente iguais.

Passo 1) Se quer experimentar o VirtualBox-OSE siga os procedimentos abaixo :

Abra o terminal e execute :

sudo apt-get install virtualbox-ose virtualbox-ose-modules-generic

Após a execução do comando acima, voce vai encontrar o ícone para carrega-lo em menu->Aplicações->Ferramentas do Sistema->VirtualBox OSE.

É claro que nem tudo é perfeito, se você tentar executar o virtualbox de forma crúa pela primeira vez vai receber uma mensagem como essa :

vbox-erro-iniciar-vm

O que fazer ?
Primeiramente, cadastre seu usuário no grupo ‘vboxusers’ :

sudo adduser seulogin vboxusers

É intrigante que você seja obrigado a reiniciar sua sessão gnome para que o comando acima passe a valer, portanto feche o seu login e entre novamente.

Passo 2) Atualizou o kernel e infelizmente o VirtualBox não roda mais ?

A solução mais rápida é a seguinte :

sudo apt-get install module-assistant debhelper dpkg-dev gettext \
html2text intltool-debian patch po-debconf dh-make debian-keyring build-essential

sudo m-a auto-install virtualbox-ose-source

Esse método usará o programa module-assistant (m-a) para criar um pacote virtualbox-ose-modules-generic para o kernel que voce está usando agora e em seguida o instalará automaticamente. Se por necessidade quiser compartilhar essa atualização com outras máquinas não precisa mais recompila-lo como fez no passo acima, basta transportar o pacote :

/usr/src/virtualbox-ose-modules-[versao]-generic[versao].deb

para a máquina de destino e dar um duplo clique sobre ele, ou se preferir via terminal :

sudo dpkg -i /local/onde/voce/colocou/o/pacote/virtualbox-ose-modules-[versao]-generic[versao].deb
sudo apt-get install -f

Atenção: Em toda oportunidade que voce for obrigado a atualizar o ‘virtualbox-ose-modules’ é requerido o boot.

Passo 3) Como criar uma máquina virtual Windows

Carregue o VirtualBox, e siga o tradicional passo-a-passo :
Clique no botão Novo :

criando uma nova virtual machine

Na próxima tela voce deverá formalizar algumas propriedades da máquina virtual como por exemplo, o Nome, o qual voce pode informar qualquer um, eu pessoalmente não gosto de colocar espaços e acentos :

definindo um nome para a vm

Também será preciso informar a quantidade de Memória RAM, essa quantidade depende do que você vai rodar no XP, 192M é suficiente para muita coisa :

memória ram para a virtual machine

Depois será necessário informar o uso do disco, como será a primeira vez que voce executa será necessário voce criar um. Portanto, clique em criar, como mostra a figura :

Criando um disco virtual

Opte por criar um disco de tamanho dinamicamente expansível :

vbox-criar-disco-dinamicamente-expansivel

O tamanho do disco e nome pode definir ao seu bel-prazer :

nome e tamanho do disco virtual

Confirme se todas as definições do disco estão prontas :

definições do disco prontas

Depois, é só escolher utilizar este disco virtual recém-criado :

No passo seguinte será apresentado um resumo de como ficará sua Máquina Virtual :

Resumo da máquina virtual

Escolha finalizar para completar a criação da máquina virtual.

Essa é uma boa hora para voce inserir o disco “bootável” contendo o sistema operacional Windows na unidade leitora de CD.

Mas ainda não acabamos a configuração, infelizmente teremos que voltar e reconfigurar a máquina virtual. Selecione a máquina virtual recém-criada e clique no botão Configurações :

Configurando a VM

Vá até a opção CD/DVD-ROM e marque as opções :

  • Montar unidade de CD/DVD
  • Drive de CD/DVD do Hospedeiro e informe a unidade se voce tiver mais de uma
  • Habilitar o passtrhough

Como mostra a figura :

Configurando o cdrom

Clique em [OK] para finalmente finalizarmos a configuração da máquina virtual.
Agora, na tela principal clique finalmente em [Iniciar].
Depois de ser notificado que sua tecla de host será o Control do lado direito, voce passará para a instalação a partir do cdrom que voce colocou no drive :

Instalando o Windows

Aguarde a instalação do Windows até o seu final, lembre-se de que para sair da máquina virtual é só teclar Control do lado direito :

Tela 2

Quando completar a instalação do Windows, retire o CDROM da unidade e reinicie o sua máquina virtual.

Passo 4) Instalando as ferramentas “adicionais para convidado”

Antes de você prosseguir, confirme que voce tenha retirado o cdrom do sistema operacional e tenha reiniciado a sua máquina virtual.
Na realidade as ferramentas guest são os drivers que precisam ser instalados na sua máquina Virtual para dar-lhe alguns recursos extras, incluindo até mesmo a performance. Para instalar, acesse o menu do VirtualBox e escolha Menu->Dispositivos->Instalar adicionais para convidado como você vê na figura abaixo :

Instalando ferramentas para convidado

Na primeira execução do Instalar adicionais para convidado, voce será questionado se deseja fazer o download do programa, infelizmente sua única resposta é sim porque o VirtualBox-OSE não acompanha nativamente Instalar adicionais para convidado. Então responda Sim para fazer o download, como mostra a figura abaixo :

Download de Instalar adicionais para convidado

Ainda será necessário confirmar o download novamente :

Download de Instalar adicionais para convidado

Ao completar o download da ferramenta, uma outra questão surgirá perguntando se deseja montar o a imagem do cdrom que acabamos de efetuar o download, responda “Montar” (ou Mount em inglês) :

Montar Instalar adicionais para convidado

Nem sempre o autostart do Windows da máquina virtual aparece automáticamente, por isso, precisaremos dar um WIN+E para abrir o explorer do Windows e selecionar a unidade de CDROM de nossa máquina virtual :

usando o winexplorer para instalar as ferramentas para convidado

Dê um duplo clique na unidade de cdrom que a essa altura está com o nome “VBOXADDITIONS_1.5.6_28241”, isso será o suficiente para exibir o autorun e a tela a seguir :

executando o ferramentas para convidado

O processo de instalação já o conhecido Next->Next->Finish que todos os usuários de windows estão habituados. Fique atento para confirmar também a instalação de drivers como essa tela aqui :

ainda instalando as ferramentas para convidado

O motivo da atenção é que as vezes a tela acima de confirmação de instalação de driver aparece abaixo das outras janelas e não é vista, as vezes erroneamente você pode pensar que instalado parou, quando na realidade está simplesmente aguardando você confirmar a instalação.
Ao completar a instalação do ferramentas adicionais para convidado voce será convidado a dar um boot, por favor, dê um boot na máquina virtual :

Ferramentas adicionais para convidado instalado com sucesso

Após a instalação ferramentas adicionais para convidado voce terá muitas novas opções como :

  • rodar o Windows em tela cheia
  • um novo recurso chamado SeamLess (HOST+L) que permite jogar uma janela do windows para fora da Virtual Machine, dando a impressão de executar um aplicativo nativo do windows no linux
  • Redimensionamento de resolução de tela dinâmico
  • Compartilhar pastas

Configuração de Rede

Este tópico é um problema para os mais novatos, o VirtualBox por padrão cria uma subrede abaixo da máquina hospedeira, mas a virtual machine tem conectividade com a máquina hospedeira através de Roteamento por NAT, assim, a placa de rede interna da virtual machine recebe um ip da classe 10.0.0.0 e tem como getway a máquina hospedeira. Isso é suficiente por exemplo, para conseguir acessar a internet se a máquina hospedeira tiver tal acesso. O que parece ser um problema para os mais novatos, é colocar a máquina virtual na mesma rede que sua hospedeira, neste caso voce tem de ir até a configuração de rede do VirtualBox para a máquina virtual selecionada, veja as telas de exemplo :

Entrando em Configurações, acesse o item “Rede” :

Agora configure sua interface de rede no virtualbox conforme sua necessidade, pode inclusive designar mais de uma placa de rede ou redes diferentes. Na prática se voce não tiver mais de uma placa de rede sobrando lhe sobra apenas usar NAT mesmo, ou então voce tem que criar no seu Linux uma interface virtual que chamamos de bridge e neste caso usar a interface de bridge para colocar a virtual machine na mesma rede da máquina hospedeira. O vmware ele cria uma interface de bridge assim que é instalado em seu sistema porque considera o [sim] como padrão para as suas respostas, o virtualbox não faz isso. Se voce deseja criar uma interface virtual para usar como bridge use este tutorial :
http://www.jragomes.com/content/view/17/5/
Ou se preferir, use a minha maneira no tópico a seguir.

Criando um script para criar uma bridge para uso no VirtualBox

Faça o download do script abaixo e salve-o com o nome de /etc/minha_bridge.sh, ele está com a extenção .odt apenas para ludibriar o WordPress que não aceita essa extensão, por isso o arquivo abaixo terá de ser renomeado :
minha_bridge.sh
Renomeia-o para o nome certo e dê permissão de execução :

sudo mv /local/onde/baixei/minha_bridge.odt /etc/minha_bridge.sh
sudo chmod a+x /etc/minha_bridge.sh

Edite o arquivo acima, e tome atenção para as seguintes linhas :

#
# Login que receberá permissao
#
BRIDGE_LOGIN=”seulogin”

Em [seulogin], coloque o seu login.
Ainda em :

#
# Interface de rede envolvida
#
BRIDGE_NIC=”eth0″

Confirme acima, se a placa para executar o bridge é realmente eth0, em notebooks geralmente há a interface Wifi e a Local e nem sempre a que queremos usar é eth0.
Ainda mais :

#
# Usar DHCP ou IP fixo ?
#
BRIDGE_USE_DHCP=”S”

Se há um DHCP na sua rede, deixe-o como “S”, caso contrário, para usar IP Fixo na interface de bridge use “N”.

Se voce optou por usar IP Fixo, terá de modificar as seguintes linhas :

#
# Se for ip fixo fornecer os dados abaixo
#
BRIDGE_IP_ATUAL=”192.168.1.14″
BRIDGE_IP_DESEJADO=”192.168.1.15″

Onde BRIDGE_IP_ATUAL é o seu atual IP da interface que voce forneceu e BRIDGE_IP_DESEJADO será o IP que será atribuído a nova interface de bridge que será criada.

Não estou dando nenhuma garantia ao script acima, ele simplesmente funciona para mim e estou distribuindo a voce. Não espere que se houver situações diferentes na sua rede um suporte neste blog, para isso existe os canais costumeiros.

Uma vez executado este script, a saber :

sudo /etc/minha_bridge.sh

Vá até a tela de configuração do VirtualBox, na guia “Rede” e em “Ligado a” escolha “Interface do hospedeiro” e adicione “tap1” ao item “Nome da placa de rede” :
Configurando rede TAP no VirtualBox
Tenho quase certeza que há um método melhor criando um script para “Configurar Aplicação” e “Terminar Aplicação” conforme exibe essa janela de configuração, mas como não sei como usa-los então vai do jeito “feijão com arroz”. O script ‘/etc/minha_bridge.sh’ terá de ser executado antes de executar a virtual machine, se voce usa sempre a mesma virtual machine ou sempre usará bridge poderá então adicionar ‘sudo /etc/minha_bridge.sh’ ao arquivo /etc/rc.local, dessa forma a cada boot, seu sistema irá criar a bridge para você.

Agora só resta configurar a interface dentro da máquina virtual, não espere que o Windows vá pegar um IP automático, simplesmente configure o Windows como se fosse um IP fixo, repassando os DNSs e o Gateway de sua rede :
Configurando rede no Windows
É assim que costumo configurar bridge no VirtualBox, tem funcionado para mim desde o Gutsy. Tem como colocar o script “minha_bridge.sh” para inicialização no boot, mas vou deixar isso como fonte para sua pesquisa.

Compartilhando pastas entre VM e anfitrião

O Virtualbox permite a VM acessar pastas do seu sistema Linux, com isso você pode compartilhar arquivos entre ambos. Faça assim :
a) Carregue sua Virtual Machine
b) Depois de sua VM completamente carregada acesse o menu do VirtualBox em Dispositivos->Pastas compartilhadas :
compartilhando pastas no virtualbox
c) Agora clique no ícone de adicionar compartilhamento e informe as pastas do seu sistema Linux que estarão sendo compartilhadas e o nome de compartilhamento que você irá dar para cada uma dessas pastas :
acrescentando pastas compartilhadas
d) Dentro da sua VM, é fácil acessa-las, basta mapear \\VBOXSRV\nome-do-compartilhamento ou diretamente do ícone no Windows Meus Locais de Rede->Toda a Rede->VirtualBox Shared Folders :
acessando pastas compartilhadas pela VM
Se você vai fazer acesso constante, recomendo mapeá-la :
mapeando uma pasta compartilhada
Pronto ! Com isso concluímos o “como instalar o virtualbox”, “como criar uma virtual machine” e “como compartilhar uma pasta”, isto é, barba, cabelo e bigode.

Conclusão

Acho que isso encerra a instalação do VirtualBox, espero que voce usufrua da melhor forma possível.

71 Comentários

Crie seu próprio pacote do aMSN usando a versão snapshot SVN.

(artigo revisado e re-editado)
A versão atual do aMSN 0.97 (considerada final) está disponível de modo fácil nos repositórios atuais. No entanto, há novos recursos no aMSN disponível na versão versão snapshot (sempre em modificação) que podem interessa-lo. Por exemplo, suporte antialising para as fontes, suporte a webcam e conversação, mensagens offline, dentre outros recursos.

Este guia foi realizado com as informações obtidas atualmente. Trata-se dum repositório SVN onde as modificações nos fontes é algo constante e portanto algumas coisas podem não funcionar conforme o esperado para aquele dia que estiver aplicando este artigo. As dependências, as referencias e os links podem mudar e então força-lo a atualizar-se a respeito destes. Por essa razão, o grau de dificuldade deste artigo pode variar conforme a sua experiência em lidar com surpresas de compilação e procura por links desaparecidos ou arquivos desatualizados.

Algo diferenciado neste guia é que estou criando um pacote binário .deb para o aMSN que o tornará transportável e tornar obsoleto novas compilações, a menos que você queira. Até mesmo facilitando o compartilhamento com os amigos, onde um duplo clique por parte dele será o suficiente para a instalação.

Este guia foi produzido numa instalação limpa do Ubuntu 8.04 (Hardy Heron) e depois que apliquei o guia Ubuntu Paradise. Enfim vamos ao guia :

E no inicio era apenas o terminal

Todas as instruções desse artigo são executadas no terminal e com permissões de ‘root’, portanto se desejar prosseguir dê um ALT+F2 e execute :

gksu gnome-terminal

1) Instale as dependências :

apt-get install tcl8.5 tcl8.5-dev tk8.5 tk8.5-dev \
tclreadline dpatch debhelper fakeroot \
libpng12-dev libjpeg62-dev \
esound-clients libsnack2 libsnack2-dev \
libgstreamer0.10-dev libfarsight0.1-2 libfarsight0.1-dev \
subversion build-essential

No inicio do mês de abril/2008 na primeira versão deste artigo eu tinha que instalar tcl8.5/tk8.5 e também tcl8.4/tk8.4, um absurdo, já que os fontes são 100% compiláveis apenas com tcl8.5/tk8.5. Nesta última revisão consegui acertar essa regra absurda e nos passos seguintes estarei suprimindo completamente qualquer referencia a tcl8.4/tk8.4.

2) Baixe os fontes do aMSN :

cd /usr/src
sudo svn co https://amsn.svn.sourceforge.net/svnroot/amsn/trunk/amsn

Aguarde, pois os fontes não são poucos arquivos, são cerca de 84M.

3) Suporte a áudio de conversação : (opcional)

Este aMSN, por omissão não tem suporte a áudio, parece entristecedor, não ? Não desanime, na versão SVN, este suporte já existe, pena que o repositório do Ubuntu não possua os pacotes necessários para a compilação :(
Parece que alguém se comoveu com isso e resolveu criar extra-oficialmente os pacotes necessários que servem para o Ubuntu Gutsy e o Hardy, vamos baixar e instala-los :

cd /usr/src/amsn
wget -vc http://people.collabora.co.uk/~kakaroto/gutsy-debs/libgstfarsight0.10-0_0.0.2-1ubuntu1_i386.deb
wget -vc http://people.collabora.co.uk/~kakaroto/gutsy-debs/gstreamer0.10-plugins-farsight_0.12.8-1ubuntu1_i386.deb
wget -vc http://people.collabora.co.uk/~kakaroto/gutsy-debs/libgstfarsight0.10-dev_0.0.2-1ubuntu1_i386.deb

E por fim :

sudo dpkg -i libgstfarsight0.10-0_0.0.2-1ubuntu1_i386.deb \
gstreamer0.10-plugins-farsight_0.12.8-1ubuntu1_i386.deb \
libgstfarsight0.10-dev_0.0.2-1ubuntu1_i386.deb
apt-get install -f

Obviamente, são estas as versões na data deste artigo. Faça as necessárias modificações nos nomes e referencias quando o copiar/colar simplesmente não funcionar mais.

4) Consertando um bug de pacote :

Os fontes para a criação dos pacotes .deb do aMSN estão com um pequeno problema que teremos de corrigir, edite o arquivo ./debian/control e faça as seguintes modificações :

cd /usr/src/amsn-src/amsn
sudo gedit ./debian/control

Na linha Build-Depends: contém referencias aos pacotes tcl8.4-dev, tk8.4-dev, troque essas duas referencias por tcl8.5-dev, tk8.5-dev. Vai ficar assim :

Outra modificação, na linha Depends: troque as referencias tcl8.4, tk8.4 por tcl8.5, tk8.5 e remova da mesma linha a referencia tcltls, ficando assim :

Uma outra sugestão conforme pode ser vista acima, acrescente o programa esound-clients na linha que contém a sentença :Suggests:. Assim o pacote sugerirá o esound-clients quando for instalado o aMSN. Na realidade, para mim, o esound-clients é tão importante que deveria ir na sentença Depends: para tornar obrigatório a instalação dele. O que o esound-clients faz ? É responsável por ter som nos eventos do aMSN. Só não sugiro como dependência obrigatória porque muita gente pode preferir usar o próprio tcl/tk manipulando os mesmos sons (que na minha opnião é pior).

Com as modificações acima já realizadas, salve o arquivo e saia do editor. Essas modificações tornam a dependência do tcl 8.4/tk 8.4 completamente desnecessária.

Outra modificação de peso será no arquivo ” amsn”, execute :

cd /usr/src/amsn-src/amsn
sudo gedit amsn

Por volta da linha 3, voce encontra :

exec wish $0 $@, troque por :
exec wish8.5 $0 $@
Ficará assim :
amsn-wish85

Salve o arquivo e saia. Com esse ajuste, o pacote amsn.deb já conterá a modificação que resolve o problema com o “wish” que será detalhado no passo 6.

Estes ajustes provavelmente serão feitos pela equipe de desenvolvimento, acontece que estamos experimentando uma versão SVN que está em constante desenvolvimento.

5) Compilando o aMSN :

cd /usr/src/amsn-src/amsn
sudo make uninstall
sudo make clean
sudo ./configure --with-tk=/usr/lib/tk8.5/ --with-tcl=/usr/lib/tcl8.5/
sudo make deb

Não se preocupe se ‘make uninstall’ e o ‘make clean’ der uma mensagem como :

make: *** Sem regra para processar o alvo `uninstall’. Pare.

Isso acontece porque esses são comandos preventivos, eu quero que antes de compilar, possiveis arquivos instalados ou criados sejam removidos. Se voce está executando o artigo pela primeira vez, obviamente não há nada previamente instalado ou arquivo criado para ser removido, por isso a razão da mensagem.

Se a compilação e a geração do pacote foi bem sucedida, então provavelmente surgirá uma mensagem como esta :

dh_builddeb --destdir="./distrib/DEB" --filename="amsn_0.98b-svn9762M.deb"
dpkg-deb: construíndo pacote `amsn' em `./distrib/DEB/amsn_0.98b-svn9762M.deb'.
make[1]: Saindo do diretório `/usr/src/amsn-src/amsn'
rm -f debian/changelog
rm -rf debian/amsn

Deve ter reparado que foi gerado o pacote ./distrib/DEB/amsn_0.98b-svn9762M.deb. Para instala-lo, basta dar um duplo clique sobre este arquivo, ou se voce ainda está no terminal então executar :

sudo dpkg -i ./distrib/DEB/amsn_0.98b-svn9762M.deb
sudo apt-get install -f

Lembre-se: Praticamente é uma versão nova diariamente, portanto o nome do arquivo gerado .deb sempre vai mudar.

6) Resolvendo o problema com o utilitário wish :

(Se voce seguiu todas as orientações no passo 4 poderá pular este passo)
O arquivo ‘/usr/bin/amsn’ que é o responsável pelo carregamento do amsn é na realidade é um script bash, este faz referencia a um outro utilitário chamado wish que é instalado juntamente com os pacotes tcl/tk, no entanto, o nome desse utilitário é wish, mas no Ubuntu ele chama-se wish8.5. Talvez um link simbólico resolvesse, mas não resolve, já tentei :). Se voce insistir em executar o aMSN messmo assim então vai receber a seguinte mensagem de erro :
Erro com o utilitario wish
Para corrigir o problema, é necessário editar o arquivo ‘/usr/bin/amsn’ , como demonstra as linhas abaixo :

sudo gedit /usr/bin/amsn

procure por wish e troque por wish8.5. É apenas uma única linha logo no começo do arquivo. Depois salve o arquivo e saia.

5) Testando o aMSN

Carregue-o a partir do menu GNOME->Internet->aMSN :
Carregando o aMSN - tela de login e about
Note porém que toda primeira execução do aMSN é precedida pela instalação dinamica do módulo TLS :
amsn-tls
Mas não se preocupe a instalação é bastante rápida :
amsn-tls-progress
E em poucos segundos ó modulo está instalado :
amsn-tls-complete

6) Ajustando as preferencias :

Após o aMSN carregado vá no menu Conta->Preferencias->Outros e ajuste os seguintes parâmetros :

Navegador Web : firefox $url
Gerenciador de Arquivos : nautilus $location
Comando para abrir arquivos : gnome-open $file
Cliente de email : gnome-open mailto:$recipient
Servidor de Sons : habilite a opção “usar a biblioteca Snack (interna do TCL)”, embora se desejar também poderá usar um programa diferente como “esdplay $sound”.
Que eu saiba, estes são os ajustes mais exotéricos, digo importantes para integrar o aMSN ao GNOME.

7) Transportando o aMSN para outro computador

Sem dúvida, a melhor parte deste artigo é a criação de pacote .deb, o qual permitirá que possamos instalar este programa em qualquer micro sem a necessidade de compila-lo novamente. Leve o pacote para onde voce quiser e para instalar basta um duplo clique sobre o arquivo, mais fácil que isso é impossivel. Lembrando que para termos o audio na conversação é necessário a instalação dos pacotes já descritos nos passos anteriores : libgstfarsight0.10 e gstreamer0.10-plugins-farsight.

8) Aviso aos novos usuários da rede MSN :

Urghhh. Não é necessário ter uma conta no hotmail para usar o aMSN, parece óbvio para mim, mas muita gente não sabe disso. Alias o próprio aMSN na janela de autenticação já mostra uma opção para criar uma conta na rede MSN que requererá um email, qualquer email serve.

Conclusão

Para quem não necessita de mensagens offline ou uso de câmeras, o pidgin ainda é a melhor opção porque já vem instalado e tirando os dois recursos citados, possue muito mais recursos.
Eu já havia dito isso no artigo, mas é bom repetir: Todas estas versões citadas, links para downloads e afins ficam desatualizados, assim como modificações no repositório SVN. Por essa razão é sempre sugerível que voce entenda a idéia acima e repense-as quando houver mudanças para não desistir quando o copiar/colar não estiver mais funcionando. Ou seja, decore as idéias e não as palavras e será bem sucedido.

19 Comentários

Serenatas com gnome-art-manager.

O gnome-art-manager quando surgiu em versões anteriores ao Ubuntu 7.10 Gutsy, era um aplicativo bom, no entanto, muito instável e pouco prático para uso diário para os aficcionados por personalização. Por exemplo, ao tentar instalar um papel de parede, eu tinha que baixar uma lista enorme de snapshots(=telas pequenas de amostra) de cada uma delas. Mas se por um acaso eu fechasse o gnome-art-manager e mais tarde fosse escolher outro papel de parede teria de baixar todos os snapshots novamente. Além disso, aplicar os temas era angustiante porque as vezes não instalava e quando instalava as vezes não aplicava. Obviamente, o gnome-art-manager ainda estava em evolução, mesmo assim alguns usavam-no prematuramente.
Atualmente, o gnome-art-manager (ou Art Manager) já está mais maduro e é capaz de guardar em cache snapshots de temas e não “crasha” mais como antigamente.

Sua instalação é simples e bem delineada no artigo Ubuntu Paradise, este é o momento de demonstrar como utiliza-lo. Carregue-o a partir do menu :
ubuparadise-gnome-art-from-menu

Com o gnome-art-manager você baixa tudo que for postado em http://art.gnome.org/, um repositório na internet onde internautas postam papéis de parede, splashes e temas. Temas para gnome não é algo muito fácil de explicar, pois um tema para gnome pode envolver uma ou várias peças que afetam a aparencia e que quiser pode baixa-los separadamente e combina-los entre sí.

Vamos demonstrar como baixar novos temas? Já com o gnome-art-manager carregado, vá até seu menu em Art->Desktop Themes->Application, nele voce tem temas que caracterizam as aplicações como bordas, controles e cores quem podem vir completos ou parciais. Veja a quantidade de snapshots sendo carregadas :

Definitivamente, o Art manager não é um aplicativo para ser usado porque quem não possui banda larga.
Agora selecione um tema da lista, se voce nunca usou o Art Manager antes, sugiro começar com temas mais completos, por exemplo, selecione o “CleanestBrushedGnome” na lista :

Clique no botão “Install”, e por alguma razão que talvez voce não saiba explicar, ao invés de aplicar o tema escolhido, a janela de Preferências de Aparência aparece. É isso, mesmo ! O Art manager não aplica os temas, ele apenas baixa e instala, mas é você que tem que aplica-lo usando o processo habitual com o Preferências de Aparência. Irá reparar que na relação de temas prontos há um com o nome de “CleanestBrushedGnome”, clique nele :

Algo que é uma benção e uma maldição ao mesmo tempo no gnome é a seleção e aplicação automática dos temas. Voce clica num deles e pimba! já está aplicado, supondo que voce tenha baixado um monte de temas novos e quer ver a aparência de cada um deles então vai achar isso uma benção, mas quando você conhecer a maioria dos temas e por alguma razão quer apenas exibir a lista e não aplicar nenhum tema, verá como ele também pode ser é uma maldição, lembra muito aquele seriado PUSHING DAISIES onde o primeiro toque salva e o segundo destroi.
A escolha do tema “CleanestBrushedGnome” foi proposital, pois este é um tema mais completo e que por sí só faz aparece-lo na tela principal, mas alguns temas da seção Art->Desktop Themes->Application são apenas parciais e podem não aparecer na tela principal. Trazendo suporte parcial a apenas os controles você precisará selecionar um tema qualquer e depois personalizar(botão : Personalizar) o tema escolhido, daí então ele aparecerá na guia “Controles”. Exemplo de uma tela exibindo todos os temas de “Controles”, nem todos estes aparecem na tela principal :

Verá uma subjanela com guias adjacentes como Controles, Cores, Margem da Janela, Ícones e Cursor. Temas da seção “Application” carrega um ou mais desses itens. Portanto, quando voce baixar um tema Application e não encontra-lo na janela principal do Preferências de Aparência, experimente procura-lo em “Personalização”.

Voce viu Art Manager sendo utilizado para baixar temas da seção “Application”, mas há também uma seção de Backgrounds (papéis de parede), Window Borders(bordas de janelas) e Ícons(ícones) . Além destes, é possível baixar telas de login manager (temas para fazer a autenticação inicial de login), splash screen (aquela janela de “carregando…” após o login) e GTK+Engine que é um mecanismo de tema que voe não irá aplicar a menos que compile-o também.

Uma verdade sobre os temas : Existem temas que deixam seu sistema mais rápido, por outro lado, há temas que deixam o gnome uma carroça. Depois de experimentar um tema e gostar dele, voce tem que resolver se ele não está sacrificando performance a ponto deixa-lo aborrecido. Um belo exemplo disso, são os temas “Murrina”, eles são nota “10” em performance e tem visuais limpos, eles contrastam com os temas cujos nomes terminam com “ish” que possuem até simulação de escovação de metal nos controles e são terminantemente proíbidos para quem tá com um equipamento de configuração mais lenta. Nunca olhe para um tema e julgue pela sua aparência que ele é lento ou rápido, pois existem temas bem “eunucos” (onde parecem faltar partes) e são bem lentos, e também há temas fantásticos com visual limpo e que são rápidos. A mágica disso é que alguns designers se preocupam com “pintar”, enquanto outros se preocupam com o “pintar” e “escovar”, isto é, indexam as cores, limpam as imagens e só depois de muito trabalho na “escovação” postam seu trabalho. Qualquer dia desses eu falo sobre o Candido, uma GTK+Engine que faz seu ambiente gráfico voar, baseado no Cairo, ele foi o mais veloz que já usei, superando os considerados “leves” como o FWM, leve, mas sem abrir mão da beleza.

1 comentário

Na busca do torrent perfeito

Muito tempo se passou desde meu ultimo post sobre o torrent perfeito, testei vários e minhas últimas recomendações foram ao deluge e o transmission. No artigo Ubuntu Paradise minha recomendação era usar o transmission. A escolha do transmission é porque ele é rápido, eficiente e fácil de instalar. Naquela época  para obter um debule um pouco mais estável que compilar a partir dos repositórios SVN.

Mas agora sou obrigado a pedir perdão por ter recomendado o Transmission. Aconteceu que alguns dias atrás, ouvi de alguns, uns relatos de trackers que barravam o transmission. O motivo é que em versões anteriores o transmission sabotava as redes P2P, isto é, enganava os seeders/peers para obter taxas de downloads maiores. Parece que a versão atual do transmission não faz mais isso, e esse “bug” (digamos que fosse um bug) foi corrigido, mesmo assim alguns trackers ainda barravam-no. Ok, presenciei um que barrava o transmission, mas a maioria absoluta aceitava o transmission e não tinham nenhuma restrição.

Recentemente resolvi testar o deluge e fiz alguns testes e comparações com o transmission, as comparações revelaram que ambos possuem as mesmas taxas, competem de igual para igual nos mesmos recursos, embora o transmission seja mais leve. Mas descobri também um tracker gosta de sabotar o transmission, isso mesmo, sabota-o, como ? Ele faz o transmission receber taxas de download de 6K e compartilhar o seu upload no máximo que você permitir (no meu teste 9K). Acontece que usando o debuge o download era de 36~50K e a taxe de upload continuando a 9K. Deixei o Transmission em teste por uma semana inteira para saber se isso não era momentâneo, e infelizmente não era, se ainda quer saber mais, as vezes com o transmission sequer chegava 1K de download e continuava a fazer o upload no máximo que eu permitia, isto é,  9K.

Testei o transmission versão 1.11 e o anterior 1.06, os resultados obtidos com esse tracker era exatamente o mesmo, isto é, download no mínimo e upload no máximo, não sei como conseguiram fazer isso. O deluge por outro lado, não teve nenhum problema ou restrição desse tipo.

Minhas últimas observações sobre o deluge é que ele está bem mais estável do que há 10 meses atrás quando testei-o da última vez. Não que ele fosse ruim na época, ele era bom, mas tinha seus problemas, as vezes duma hora para outra fechava sozinho. Eu deixo o cliente de torrent 24×7 ligado e chegar em casa e ver que o cliente foi finalizado sozinho é decepcionante. Testando por uma semana inteira, esta última versão do Deluge está me surpreendendo, ainda não ví nenhum crash acontecer.

Portanto aí vai meu aviso a quem está usando o transmission : Ele é um ótimo programa, mas saiba que você tem de desconfiar de alguns trackers, eles podem estar sabotando o ritmo de seu download e “chupando” seu upload. Se não quer correr este risco, pode manter o deluge em paralelo ou substituir o transmission pelo deluge.

Brevemente estaremos usando o Ubuntu Hery Heron 8.04, e o cliente de torrent padrão dele é o Transmission, por isso, é bom se preocupar.

O melhor lugar para apanhar a ultima versão do Deluge e o Transmission é : www.getdeb.net.

O tracker que apanhei sabotando o transmission foi http://tracker.prq.to.

12 Comentários

Wine : Borland Delphi 6

Atenção : Este artigo tem nível de dificuldade intermediário e é recomendado apenas para programadores mais experientes com Linux.

As vezes somos forçados a usar ferramentas já consideradas legadas para dar algum tipo de manutenção e sobrevida à eles. Quando você tem tais ferramentas consideradas legadas instaladas no seu computador então não há problemas, mas e quando não as tem e elas não são compatíveis com o sistema operacional em uso ? A única solução que realmente atende essa solução chama-se virtualização. Virtualização é um conceito bastante oportuno e prático, no entanto, há também a opção "B" que estava em oculto, a utilização do WINE no ambiente Linux. O wine é capaz em algumas oportunidade – não são todas – de criar um ambiente hospedeiro que possa tornar compátiveis nosso sistema Linux com ambientes Win95, Win98, WinMe, Win2000, WinXP e WinVista. Para demonstrar a utilização dum sistema como esse, vou praticar um passo-a-passo como de custume para criar um ambiente Wine simulando um Windows 98 que é compátivel com uma das ferramentas de programação mais conhecidas, o Delphi – neste artigo o Delphi 6 com conectividade com o banco de dados MSSQL 6.5 (legado).

Muitas vezes instalar um ambiente WINE é fácil, mas há ambiente mais complexos, por exemplo, neste artigo farei a instalação do WINE + Delphi 6 + MSSQL Client numa partição separada do ~/.wine comum, isto permitirá que o que fizer para fazer o Delphi6 funcionar não interfira nos demais aplicativos e também o inverso, isto é, que outros aplicativos instalados no WINE não interfiram na minha instalação WINE. Estou usando neste artigo Ubuntu Gutsy(7.10) e WINE versão 0.9.59.

Passo 1) Instalando o WINE

cd /tmp

wget http://wine.budgetdedicated.com/apt/387EE263.gpg

sudo apt-key add 387EE263.gpg

sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/gutsy.list -O /etc/apt/sources.list.d/winehq.list

sudo apt-get update

Agora há duas opções : instalar ou atualizar o WINE.

Se já tiver o wine instalado :
sudo apt-get -y upgrade

Se não tiver o wine instalado :
sudo apt-get -y install wine

Passo 2) Criando um diretório para armazenar nossa instalação :

Eu vou utilizar $HOME para referir-se a pasta pessoal de cada usuário, se a pessoa chamar-se “fulano”, a pasta WINE será /home/fulano/delphi6. Isso é apenas um exemplo e voce pode modificar se achar necessário. Execute no terminal :

cd
mkdir /home/$USER/delphi6
export WINEPREFIX="/home/$USER/delphi6"
wineprefixcreate

A variável WINEPREFIX faz um particionamento do WINE, isto é, da sua criação em diante, o WINE achará que seus aplicativos e suas configurações estarão armazenadas na pasta especificada por $WINEPREFIX.

Crie também estes diretórios : (mais tarde eu explico)

mkdir /home/$USER/delphi6/drive_c/desktop
mkdir /home/$USER/delphi6/drive_c/meus_documentos
mkdir /home/$USER/delphi6/drive_c/imagens
mkdir /home/$USER/delphi6/drive_c/musicas
mkdir /home/$USER/delphi6/drive_c/videos
mkdir /home/$USER/delphi6/drive_c/temp

Se por alguma razão, voce interromper a execução desse artigo ou for obrigado a abrir um novo terminal, lembre-se de executar :

export WINEPREFIX="/home/$USER/delphi6"

Antes de executar os novos procedimentos, isto avisará o WINE para reutilizar o que criamos.

Passo 3) Configurando o WINE :

Execute no terminal :

winecfg

Nesse instante um aplicativo gráfico trará os principais parametros do WINE para o qual voce queira ajustar. Iremos ajustar alguns parâmetros :

Na guia “Applications” configure o campo “Windows Version” de “Windows XP” para “Windows 98”.

Isso é requerido porque nosso aplicativo Delphi6 só é compátivel com o Win98, poderia até rodar em versões posteriores do Windows, mas nesse caso, no meu exemplo, o Delphi6 só roda no Win98.

Na guia “Graphics” deixe marcado o checkbox “Allow the window manager to control the windows”.

Isso fará com que o tema que voce tem instalado possa manipular as janelas dos aplicativos WINE.

Na guia “Desktop Integration” existe uma área chamada de “Shell Folder”, nela você precisará configurar alguns caminhos :
“Area de Trabalho” para “/home/$USER/delphi6/drive_c/desktop”
“Meus documentos” para “/home/$USER/delphi6/drive_c/meus_documentos”
“Minhas imagens” para “/home/$USER/delphi6/drive_c/imagens”
“Minhas musicas” para “/home/$USER/delphi6/drive_c/musicas”
“Meus Videos” para “/home/$USER/delphi6/drive_c/videos”

Foi para isso que no passo 2 voce criou as pastas que eu explicaria mais tarde.

Alerta : Alguns mais experientes com o WINE já estariam tentados a incluir DLLs nativas, por gentileza, não façam isso.

Feche o winecfg e a seguir execute no terminal :

wine regedit

Isso abrirá um aplicativo muito conhecido no mundo Windows, o regedit. Precisaremos modificar algumas váriaveis.  Localize a chave “HKEY_CURRENT_USER\Control Panel\International” e mude o valor em sShortDate de “d/M/yyyy” para “dd/MM/yyyy”. Acredite, isso é importante.

Ainda no regedit, localize a chave “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment” e mude seu conteúdo atual que provavelmente é :

C:\windows\system32;C:\windows

Para :

C:\windows\system32;C:\windows;c:\Arquivos de programas\Borland\Delphi6\Bin;c:\Arquivos de programas\Borland\Delphi6\Projects\Bpl;c:\mssql\binn

Essa variável é o “caminho de busca” do Windows, você incluiu alí os caminhos dos binários do Delphi e do cliente MSSQL.
Pronto, pode fechar o regedit.

Em versões posteriores do Ubuntu, não sei porque razão, alguns aplicativos deixam de ser executados com a seguinte mensagem de erro :

winevdm: unable to exec ‘C:\caminho\aplicativo.exe’: DOS memory range unavailable

Não sei porque acontece isso, mas sei a solução, execute no terminal :

sudo sysctl -w vm.mmap_min_addr=0

Agora nosso WINE parece estar razoavelmente configurado e pronto para prosseguir.

Passo 4) Paranóia de segurança :

Elimine o arquivo “/home/$USER/delphi6/dosdevices/z:”, execute :

rm -f  "/home/$USER/delphi6/dosdevices/z:"

A unidade Z: usada pelo WINE dá livre acesso ao seu disco desde a partição raíz (/). Eu considero isso uma falha na segurança grave, talvez seja paranóia minha, mas os aplicativos sob WINE não deveriam enxergar amplitudes maiores do que realmente está programado para fazer.

Passo 5) Criando letra de drive D: para o CDROM no WINE

Assim que um cdrom é inserido e seu conteúdo é exibido pelo GNOME, o WINE cria automáticamente o drive D: apontando para essa unidade. No entanto, as vezes o WINE é  configurado de maneiras diferentes e as vezes essa letra de drive pode não ser criada automática. Para os casos onde D: não foi criado automáticamente voce pode executar no terminal :

ln -s /media/cdrom "/home/$USER/delphi6/dosdevices/d:"

Voce criou um D:  apontando diretamente para o CDROM.

A partir desse instante voce vai ter que inserir o cdrom de instalação do Delphi. Se voce não tem o Delphi em CDROM, mas sim uma cópia de seus arquivos então use o comando acima para ao ínves de D: apontar para o CDROM então apontar para esses arquivos.

Passo 6) Instalando o Microsoft Installer

Benvindo a nossa primeira é única biblioteca nativa. O WINE inclui um fake MSI, isto é, um MSI falso porém funcional para a maioria dos aplicativos, mas existem vezes que surgem aplicativos que se comportam de maneira diferente no fake-msi, o Delphi 6 é um deles. Sem o Microsoft Installer incluso no WINE voce não conseguirá passar da tela de digitação do serial key. Execute os seguintes procedimentos :

Acesse o cdrom do seu Delphi, pois o Microsoft Installer (instmsia.exe) está incluído. Se não estiver, Vá até a página :

http://www.microsoft.com/downloads/details.aspx?familyid=CEBBACD8-C094-4255-B702-DE3BB768148F&displaylang=en

e baixe o programa “instmsia.exe” salvando-o em /home/$USER/delphi6/drive_c/temp

Agora acesse a pasta onde esta o “instmsia.exe”, se foi da internet :

cd /home/$USER/delphi6/drive_c/temp

ou se vai ser do cdrom do Delphi6 :

cd /media/cdrom

E execute-o :

wine ./instmsia.exe

Quando surgir a mensagem :
“Instalação concluída com exito”  ou  “Successfully registered dll L”C:\\windows\\system32\\msi.dll””

Então a instalação ocorreu conforme era esperado.

Se não aparecer nenhuma mensagem, preocupe-se!, pois provavelmente os passos adiante não funcionarão.

O próximo passo é indicar ao WINE que desejamos usar o MSI nativo e nunca o fake MSI que acompanha o WINE. Execute novamente no terminal :

winecfg

Na guia “Libraries” acrescente a seguinte DLL Override :
msi.dll (native) –> Não use “native, builtin” que é auto-indicado como padrão :

MSI Nativo

Passo 7) Instalando o Delphi :

Vá até o diretório do instalador, e execute :

cd /media/cdrom
wine ./setup.exe

um outro modo de executar o instalador é esse :

wine msiexec /i "Borland Delphi 6.msi"

Não há diferença entre ambos,  pelo menos que eu tenha notado, ambas instalações comportam-se da mesma maneira.

Escolha instalar o item “Delphi 6” e siga os procedimentos passo-a-passo que são solicitados, Conforme o padrão Next->Next->Finish :
Tela inicial contendo a licença

Se por acaso, você emperrar na etapa do serial number é porque o MSI não foi instalado direito ou você não está usando o msi.dll nativo. Se não houver problema a instalação prosseguirá :

instalação
Durante a instalação poderá ocorrer uma mensagem de erro dizendo que o BDE não teve “merge” para a nova configuração. Nós corrigiremos isso no final :

Erro na instalação do BDE.

Ao final da instalação, execute no terminal :

wineboot

Passo 8) Corrigindo o problema do BDE “unable to merge new configuration”

Se você tentar executar :

wine "/home/$USER/delphi6/drive_c/Arquivos de programas/Arquivos comuns/Borland Shared/BDE/bdeadmin.exe"

Provavelmente o BDE falhará, acontece que há um parametro do BDE pós-instalação que é desprovido de valor e isto impede-o de ser executado, estranho né que o próprio instalador faça isso ?

Para corrigir o problema, terá de criar um idapi32.cfg novinho em folha e para isso será infelizmente será necessário uma máquina com o BDE (SQLLinks incluso) instalado e devidamente configurado. Vá  até a estação Windows, abra o painel de controle, dê um duplo clique no ícone [BDE Administrator]. Selecione a guia “Configuration”, depois abra o item “System->INIT” e procure pelo parâmetro “SHAREDMEMLOCATION” e mude seu conteúdo para “9000” (sem as aspas) :

Ajustando o BDE
Aplique as novas configurações e em seguida selecione no menu do BDE->Object->Save as Configuration, salve-o com o nome de idapi32.cfg por cima do já existente.

Copie o idapi32.cfg da estação Windows para seu wine em :
"/home/$USER/delphi6/drive_c/Arquivos de programas/Arquivos comuns/Borland Shared/BDE/"

Certifique-se de que haja apenas um idapi32.cfg, pois em algumas oportunidades pode permanecer a versão remanescente do mesmo arquivo, no entanto, em maiúsculo.

Infelizmente, mesmo mudando o parâmetro “SHAREDMEMLOCATION” na estação Windows e exportando-o, ainda assim, o arquivo idapi32.cfg exportado fica com SHAREDMEMLOCATION=nada na máquina onde foi copiado. Isso é irritante, pois forçará nossa intervenção no registro no wine, execute :

wine regedit

E procure pela chave [HKEY_LOCAL_MACHINE\Software\Borland\Database Engine\Settings\SYSTEM\INIT] e localize a variável “SHAREDMEMLOCATION” e troque o valor [em_branco] para [9000]. Pronto ! Agora execute o teste :

wine "/home/$USER/delphi6/drive_c/Arquivos de programas/Arquivos comuns/Borland Shared/BDE/bdeadmin.exe". Se parecer algo como isso aqui :
BDE instalado e configurado.

Então é porque funcionou perfeitamente, caso contrário, isto é, se ainda não estiver funcionando então desista de usar o Delphi. Pois há pouco que se possa fazer com um Delphi onde não se pode usar/manipular o BDE. Aqui comigo funcionou 100%, e reinstalei várias vezes e obtive sucesso em todas, mas o WINE está em constante desenvolvimento e a próxima versão pode estar sabotando.

Passo 9) Executando o Borland Delphi 6 :

Após a conclusão da instalação, precisamos criar um atalho para chamar o Delphi.
É interessante criar um bash-script porque o delphi está numa raiz diferente de ~/.wine e por essa razão não são criados atalhos no menu GNOME/KDE.

Use seu editor favorito para criar este arquivo :
<———– inicio de delphi6.sh ————->
#!/bin/bash
export WINEPREFIX="/home/$USER/delphi6"
# explico mais tarde a opcao : explorer /desktop=Delphi6,1024×768
wine explorer /desktop=Delphi6,1024×768 "c:\\Arquivos de programas\\Borland\\Delphi6\\Bin\\delphi32.exe"
<————- fim de delphi6.sh ————->
Salve o script acima como delphi6.sh e dê permissão de execução :
chmod a+x delphi32.sh

Como o escopo deste artigo é para programadores, voce provavelmente já sabe como criar um atalho para ele na área de trabalho não é mesmo?
Vejamos como fica o delphi 6 quando está carregado :

Note o fundo vazado, onde parte do papel de parede é visto. Pois é, isso é um problema !

Se voce minimizar qualquer uma das janelas do Delphi, elas são minimizadas, porém voce não sabe para exatamente onde ou como retorna-las. Foi por essa razão que usei o paramêtro "explorer /desktop=Delphi6,1024×768", assim todas as janelas são unidas como num desktop virtual e aparecem como uma única aplicação no GNOME Task List :
Virtual Desktop

No exemplo acima, usei 1024×768 como tamanho do desktop virtual, no entanto, é necessário ter cautela no tamanho, pois se voce colocar 100% da sua resolução então vai ter problemas para conseguir manipular direito esta janela enorme. Por isso, ao especificar a resolução tente escolher uma escala menor do que a máxima que seu monitor comporta, por exemplo, seu monitor tiver resolução de 1280×1024 então use um virtual desktop com 1024×768, se seu monitor tem o máximo de 1024×768 então tente 800×600 e assim por diante, essa é apenas uma sugestão porque voce pode usar qualquer tamanho. Meu monitor é widescreen e posso usar tranquilamente 1280×800 e ainda sobra espaço.

Será que compila ? Vejamos :

Compilando programas
Sim, podemos compilar o que quisermos.

Passo 10) Tá tudo liberado !

Tá liberado configurar o WINE do seu jeito, a partir de agora, voce pode acrescentar DLLs nativas, mudar a configuração de Win98 para WinXP, o que voce quiser fazer poderá fazer, mas fique avisado que modificações posteriores podem implicar em melhoria, mas também na inutilização do delphi.

Passo 11) Instalando o cliente do MSSQL 6.5

Um banco de dados legado. Se sua aplicação Delphi acessa um banco desses é necessário a instalação do cliente para esse banco de dados. Especialmente porque o BDE é muito sensível, já no DBExpress é tudo muito mais simples.

Coloque o cdrom do Microsoft SQL e já com a unidade de cdrom montada rode o setup dele :
cd /media/cdrom/sql65/i386
wine ./setup.exe

Vejas as telas em sequencia passo a passo :
Tela de Apresentação

Instalando
Ao se aproximar do FIM, o instalado do MSSQL abre um monte de telas entituladas “gerenciador de programas”, feche todas que aparecerem. E no final voce verá :
Instalação terminada.

Vamos configurar o cliente MSSQL 6.5 :
cd /home/$USER/delphi6/drive_c/MSSQL/BINN
wine windbver.exe

Vejamos algumas telas de configuração :

Configurando NetLibrary

Configurando de forma avançada.

Vamos executar o MSSQL Enterprise Manager :
wine SQLEW.EXE

Vejamos como fica o Enterprise Manager :
Abrindo o Enterprise Manager

12) Instalando o cliente de banco de dados FirebirdSQL

Também é possivel usar essa versão de Delphi para criar e acessar outras base de dados. Tenho usado o Delphi6 para criar aplicações que acessam base de dados FirebirdSQL. Usando componentes IBO, não somente é possivel desenvolver usando a dupla Delphi+WINE, como também os aplicativos gerados também rodam sob o WINE. Se voce quer experimentar isso vai precisar instalar o cliente para banco de dados FirebirdSQL :
Vá até a página :

http://www.firebirdsql.org/index.php?op=files&id=engine_203

e baixe o programa “Firebird-2.0.3.12981-1-Win32.exe” salvando-o em /home/$USER/delphi6/drive_c/temp
cd /home/$USER/delphi6/drive_c/temp
wine ./Firebird-2.0.3.12981-1-Win32.exe

Veja as algumas telas da instalação :

Apenas o cliente.

Note que não é preciso instalar os componentes do Servidor, exatamente porque desejamos ficar apenas com o cliente. Se desejássemos instalar o servidor, teríamos feito no próprio Linux. Vejamos a mensagem de instalação completada :

Termino da instalação.

Será que consigo rodar o Delphi minhas aplicações que acessam base de dados MSSQL e FirebirdSQL ? Certamente que sim.

Passo 13) Testando o acesso a base de dados FirebirdSQL

Um ótimo teste para sabermos se qualquer aplicativo executável win32 acessaria a base de dados Firebird é instalando um gerenciador de banco de dados, existem muitos, mas vou usar o IBOConsole que é bastante simples.

Primeiramente vá até a página :

http://www.mengoni.it/Downloads/

e baixe o arquivo IBOConsoleSetup.exe, salve-o na pasta /home/$USER/delphi6/drive_c/temp.

Para instala-lo execute no terminal :
export WINEPREFIX="/home/$USER/delphi6"
cd /home/$USER/delphi6/drive_c/temp
wine ./IBOConsoleSetup.exe

Prossiga com a instalação com o modo trivial do tipo Next->Next->Finish :
Instalando

Ao completar a instalação, experimente executa-lo no terminal :


export WINEPREFIX="/home/$USER/delphi6"
wine "C:/Arquivos de programas/IBOConsole/IBOConsole.exe"

Registrando um servidor :

Registrando um servidor

Registrando um banco de dados :

Registrando um banco de dados

Recuperando informações do banco de dados :

Recuperando informações do banco de dados

Pois é, funcionou.
Assim podemos ter certeza que a maioria dos aplicativos comerciais que usam Interbase/Firebird podem ser executados no Linux via WINE.

Passo 14) Executando novos aplicativos

Se voce precisar executar novas instalações e agregar mais coisas a instalação do Delphi voce pode executar :

wine explorer shell

Assim voce pode navegar no C:\ e outros drives, executar aplicativos copia-dos para ../drive_c, etc… mas ele é um gerenciador de arquivos e shell simples. Devem existir outros gerenciadores melhores, mas tem que procurar isso no mundo windows e tem que ser um que não dependa do próprio Windows.

Passo 15)Simplificando a vida com um menu seletor

Que tal um script já pronto com um menu seletor semelhante a este :
Menu Seletor.
Baixe este arquivo :

#!/bin/bash
# Borland Delphi 6 for Linux
# Seletor de programas
# By Hamacker (sirhamacker [em] gmail.com)

# Este script só funciona se delphi6 (.wine renomeado)
# estiver no diretorio :

export WINEPREFIX="/home/$USER/delphi6"

if ! [ -d "$WINEPREFIX" ] ; then
echo "Não foi encontrado o diretorio do delphi6 em lugar algum"
echo "Este sistemas esta treinando para encontrar o"
echo "delphi6 nos seguintes lugares :"
echo " /home/$USER/delphi6"
exit 2;
fi

# indo para o diretorio padrao
cd $WINEPREFIX

# setando algumas variaveis a respeito do aplicativo
APP_NAME="delphi6"
APP_DESC="Borland Delphi 6"
app_icon="$WINEPREFIX/delphi6.xpm"

# creating shortcut in desktop area
#SHORTCUT="/usr/share/applications/$APP_NAME.desktop"
SHORTCUT="/home/$USER/.local/share/applications/$APP_NAME.desktop"

if [ -f $SHORTCUT ] ; then
echo "Shortcut for $APP_DESC already exist !"
else
echo "[Desktop Entry]">$SHORTCUT
echo "Encoding=UTF-8">>$SHORTCUT
echo "Version=1.0">>$SHORTCUT
echo "Type=Application">>$SHORTCUT
echo "Exec=$WINEPREFIX/$APP_NAME.sh">>$SHORTCUT
echo "Icon=$app_icon">>$SHORTCUT
echo "X-GNOME-DocPath=">>$SHORTCUT
echo "Terminal=false">>$SHORTCUT
echo "Name=Menu do $APP_DESC">>$SHORTCUT
echo "GenericName=Menu do $APP_DESC">>$SHORTCUT
echo "Comment=Menu do $APP_DESC">>$SHORTCUT
echo "Categories=Development;">>$SHORTCUT
chmod a+x $SHORTCUT
echo "I create a $APP_DESC shortcut for you, enjoy!"
fi;

APP_DELPHI6="c:/Arquivos de programas/Borland/Delphi6/Bin/delphi32.exe"
APP_DBEXPLOR="c:/Arquivos de programas/Borland/Delphi6/Bin/dbexplor.exe"
APP_PCE="c:/Arquivos de programas/Borland/Delphi6/Bin/pce.exe"
APP_SQLMON="c:/Arquivos de programas/Borland/Delphi6/Bin/sqlmon.exe"

clear;
RET="---"
while [ "$RET" != "sair" ] ; do
RET=`zenity --width=700 --height=500 --window-icon=$app_icon \
--list --title "$APP_DESC para Linux" \
--text "Qual aplicativo gostaria de executar ?" \
--column "Nome" \
--column "Descrição" \
"delphi6" "Borland Delphi 6" \
"dbexplor" "SQL Explorer" \
"pce" "Package Collection Editor" \
"sqlmon" "SQL Monitor" \
"mssql" "MSSQL Enterprise Manager" \
"vidylogin" "VIDY Login" \
"iboconsole" "IBOConsole" \
"explorer" "Gerenciador de Arquivos do Windows" \
"taskmgr" "Gerenciador de Tarefas do Windows" \
"regedit" "Editor de Registro do Windows" \
"winecfg" "Configurador do WINE" \
"sair" "Sair"`

if [ "$RET" == "delphi6" ] ; then
echo "Executando $APP_DESC..."
#wine explorer /desktop=Delphi6,1280x800 "$APP_DELPHI6"&
wine explorer /desktop=default,1400x800 "$APP_DELPHI6"&
#wine "$APP_DELPHI6"&
fi

if [ "$RET" == "dbexplor" ] ; then
echo "Executando SQL Explorer..."
wine "$APP_DBEXPLOR"&
fi

if [ "$RET" == "pce" ] ; then
echo "Executando Package Collection Editor..."
wine "$APP_PCE"&
fi

if [ "$RET" == "iboconsole" ] ; then
echo "Executando o iboconsole..."
wine "C:/Arquivos de programas/IBOConsole/IBOConsole.exe"
fi

if [ "$RET" == "sqlmon" ] ; then
echo "Executando SQL Monitor..."
wine "$APP_SQLMON"&
fi

if [ "$RET" == "taskmgr" ] ; then
echo "Executando Windows Task Manager..."
wine taskmgr&
fi

if [ "$RET" == "explorer" ] ; then
echo "Executando Windows Task Manager..."
wine explorer shell&
fi

if [ "$RET" == "vidylogin" ] ; then
echo "Executando o VIDYLogin"
#wine c:/vidy/bin_cs/vidylogin.exe&
wine explorer /desktop=Delphi6 "c:/vidy/bin_cs/vidylogin.exe"
fi

if [ "$RET" == "regedit" ] ; then
echo "Executando Windows Regedit Editor..."
wine regedit&
fi

if [ "$RET" == "mssql" ] ; then
echo "Executando MSSQL Enterprise Manager..."
wine c:/mssql/binn/sqlew.exe&
fi

if [ "$RET" == "winecfg" ] ; then
echo "Executando o configurador do Wine..."
winecfg&
fi
done

unset WINEPREFIX
exit 0;

Salve-o como /home/$USER/delphi6/delphi6.sh. Este é um script-bash que usa um componente chamado zenity, ele fornece alguns componentes graficos para o GNOME. É aconselhável criar ícones no formato .xpm para representar aplicativos como delphi6.xpm, dbexplor.xpm,pce.xpm,sqlmon.xpm.

Sob Licença Creative Commons :

Você pode :

  • criar obras derivadas

Sob as seguintes condições:

  • Atribuição. Você deve dar crédito ao autor original, da forma especificada pelo autor ou licenciante.
  • Uso Não-Comercial. Você não pode utilizar esta obra com finalidades comerciais.
  • Para cada novo uso ou distribuição, você deve deixar claro para outros os termos da licença desta obra.
  • Qualquer uma destas condições podem ser renunciadas, desde que Você obtenha permissão do autor.
  • Nothing in this license impairs or restricts the author’s moral rights.
  • Quando publicado notra mídia, apenas como cortesia, notifique o autor.

Conclusão :

A idéia aqui é apenas instalar algo legado que roda com dificuldades no WINE, mas roda. A maioria dos aplicativos comerciais criados com o Delphi rodam no WINE, e os que não rodam necessitam apenas de modificações pequenas no geral.

Eu estravaguei um pouco instalando o próprio Delphi no WINE para justificar que se o próprio Delphi roda, porque aplicativos criados com ele não rodaria ? Claro que existem excessões, a medida que voce utiliza componentes de terceiros voce começa a comprometer a compatibilidade do WINE, mas não é assim para todos os componentes, por exemplo, estou usando satisfatóriamente a suíte IBO para acessar base de dados do FirebirdSQL, mas poderia usar outras suítes também. Os aplicativos que acessam base de dados MSSQL 6.5 foram feitos com o Delphi6 e estes rodam sob o WINE, inclusive aplicativos que criam sinais na bandeja do Windows fazem o mesmo na bandeja do GNOME.

Este é um blog e não uma página de suporte técnico. O que aprendí passo com prazer a outros, mas não espere que eu apareça e tire as suas dúvidas com programação ou consultoria [não remunerada]. Leve suas dúvidas à listas de discussão onde elas serão apreciadas melhor.

Algo que gostaria de observar é que alguns artigos que postei aqui foram parar em muitos lugares diferentes, eu aprecio isso. No entanto, também foram prar em páginas de assinantes e/ou conteúdo reservado, e disso não gostei muito. A licença de uso dos artigos nesse blog é Creative Commons conforme delineado na página inicial, para evitar o caratér comercial ou exclusividade, daí o motivo de estar colocando neste artigo uma seção dedicada a  Licença de uso para que não passe despercebido pelos copiadores de plantão.

5 Comentários

Cai um mito : Nem sempre modo texto é mais rápido.

Cai mais um mito.

Sempre dizem que as coisas feitas no modo texto é mais rápido. Pode ser que seja verdade na maioria das vezes, porém no caso da Instalação BETA do Ubuntu 8.04 Herdy Heron a instalação no modo gráfico é mais rápida :

Modo texto (debian-installer) : 31 minutos

Modo gráfico (ubiquity) : 20 minutos

Sem downloads de pacotes via internet durante a instalação.

O tempo foi contado a partir do primeiro “enter” na tela de boas-vindas  até o reboot final.

4 Comentários

Para pensar : Marido de autoridade honrosa é o que mesmo?

Pois é, lí que o marido da rainha Elizabeth é hospitalizado com infecção. E qual o absurdo nisso ?

Eu não sabia que a Rainha era casada ?! Dãããããã…

Mas, porque o título da matéria não referiu-se a ele como “o príncipe da Inglaterra”  e preferiu dizer “o marido da rainha” ? Isso só serve para comprovar o ditado popular :

“Esposa de presidente é primeira-dama, marido de presidenta é o que mesmo ?”

Um esquecido, a menos que apareça em escândalos vexatórios.

3 Comentários