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):
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.
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 |




