Página principal

Usando Aplicações Gráficas do Linux à Partir do Windows Com o Cygwin

From CInLUG

O título deixa clara a intenção deste tutorial, só queria acrescentar que as especificidades serão relativas aos laboratórios do Centro de Informática, mas os conceitos podem ser aplicados a qualquer ambiente semelhante.

A idéia é poder rodar aplicações do linux no Windows, e embora o ideal seja ter os linux instalados nos laboratórios, o que logo estará em andamento, esse 'improviso' pode ser útil pra quem não agüenta esperar. No cenário atual temos a possibilidade de acessar alguns servidores do CIn em modo texto por ssh. Recentemente acrescentaram à rede do CIn dois servidores chamados linux01 e linux02, rodando, respectivamente Fedora Core 3 e Fedora Core 4. Os alunos podem logar por ssh nessas máquinas com suas senhas do linux.

Mas isso só permite usar as aplicações de modo texto, e tem algumas coisas como o Bluefish, GIMP, Inkscape que seria muito legal ter disponíveis. (Tá, das aplicações que eu mencionei, apenas o Bluefish não tem versão pra Windows, mas existem outras que não me ocorrem agora, me perdoem a falta de memória.)

Conteúdo

Arquitetura de um Sistema GNU/Linux

Uma rápida explicação teórica para saber como é possível fazer o que vamos fazer. Um sistema Linux (e BSD, Solaris, e *nixes em geral) é estrutura do de forma bastante modular e para os propósitos deste tutorial, podemos apresentá-la em 3 camadas (tenham em mente que estou simplificando BASTANTE):

Imagem:maquinaa.png

Na parte mais baixa (depois do hardware, claro) temos o kernel controlando o acesso aos dispositivos, à memória e o controle de processos, sobre ele roda o servidor X (que talvez apareça no próximo filme dos X-Men :P), responsável por prestar serviços de desenho e movimentação de janelas, e interação com dispositivos de entrada (mouse, teclado), às aplicações sobre ele. O servidor X, como qualquer servidor, possui um protocolo, através do qual as aplicações gráficas dos clientes enviam suas ordens e recebem sinais de eventos. Como sabemos, cliente e servidor não precisam estar na mesma máquina.

Cygwin

O Cygwin disponibiliza bibliotecas e ferramentas provenientes de um ambiente GNU/Linux para máquinas Windows, incluindo um servidor X. O que faremos é baixar o Cygwin com os pacotes ssh, para conectar às máquinas Linux, e xorg-base, para termos um servidor X rodando no Windows. Com isso poderemos conectar numa das máquinas Linux com ssh, definindo que o servidor usado X será o da nossa máquina Windows, e rodar aplicações gráficas remotas cujas requisições gráficas serão recebidas e terão o output gráfico e periféricos de entrada em nossa máquina Windows.

Imagem:maquinasxy.png

Instalando o Cygwin

Vá ao site do Cygwin [1] e clique no ícone com os dizeres 'Install Cygwin now'. Um pequeno arquivo setup.exe será baixado, execute-o e aceite as opções padrão, exceto "Root Directory", que deverá ser mudado para dentro do diretório temporário c:\temp\cygwin, e "Local Package Directory", que recomendamos algo como c:\temp\cyginstall. Depois de clicar no botão next um número suficiente de vezes, o instalador baixará uma lista de mirrors de onde baixar os pacotes necessários. Escolha algum e prossiga, uma lista de pacotes disponíveis, separados por categoria, será exibida. Expanda a categoria rede, procure openssh, clique na palavra Skip na coluna New, a palavra mudará para Install e o openssh e suas dependências serão marcadas para download e instalação. Faça o mesmo na categoria X11, escolhendo o pacote xorg-x11-base, para o servidor X que usaremos. Clique em next e o setup do Cygwin começará a baixar. Então clique em Finish e será criado um ícone do Cygwin no Desktop.

Rodando o Servidor X

Clique no ícone do Cygwin no Desktop, quando abrir o terminal, execute o comando "startx" para iniciar o servidor X. Será aberta outra janela de terminal, nesta use o comando

ssh -X seulogin@computadorcomlinux

A flag significa:

  • X - habilita a transferência de dados da aplicação para servidores X remotos. O 'X' precisa ser maiúsculo, o minúsculo desabilita a transferência.

Conectando

Quando tentar se conectar, o servidor lhe pedirá para aceitar uma chave RSA. Responda 'yes'. Então entre com sua senha, e ao fim da maratona estará no prompt da máquina remota, e toda aplicação gráfica que você executar nela terá a saída exibida na máquina Windows. Uma aplicação interessante para rodar é o gnome-panel que inclui o menu que aparece na parte superior do Fedora (sendo mais específico, o menu pertence ao GNOME que roda no Fedora) e à partir dele você poderá escolher a aplicação que deseja rodar.

Finalizando

Para fechar a sessão de forma rápida, feche todos os programas que estava usando e por último o terminal do Cygwin. Lembre-se que os arquivos que você salvar serão salvos no sistema remoto, pois é lá que os programas estão rodando.

Qualquer problema, dúvida ou sugestão, deixe um comentário, mande-a para o grupo de discussão, ou escreva um email.

Autor: Marcelo Lira

Imagem:Cc-small.png : Imagem:Cc-by.png Imagem:Cc-sa.png
Atribuição-Compatilhamento pela mesma licença 2.5

Ferramentas pessoais
Vistas