Tuesday, March 20, 2012

SeamlessRDP – Integrando aplicações Windows em Desktops Linux

Hoje com o aumento da interoperabilidade no mundo empresarial, os desafios estão sendo cada vez maiores. No mundo dos servidores uma das integrações mais feitas é a de servidores de arquivos com autenticação no AD, para que os usuários dos desktops Windows possam ver seus arquivos de uma forma transparente, como se estivessem trabalhando em um ambiente homogêneo.

Uma outra crescente também são os desktops linux ingressando nestes ambientes, principalmente em micro e pequenas empresas que não querem gastar com o licenciamento ou não querem entrar no mundo da pirataria, então aderem ao mundo do software livre. Estas empresas acabam enfrentando um outro problema, a maioria das aplicações existentes para um mundo corporativo são para ambientes Windows, então como vou usar essas aplicações no meu desktop linux?

Para essa pergunta a solução é simples e bem antiga, usar o TS (Terminal Services ou Serviços de Terminal) em um servidor Windows 2003 ou o RDS (Remote Desktop Services ou Serviços de Área de Trabalho Remota) em um servidor Windows Server 2008.

Se o usuário precisa de usar apenas uma aplicação basta definir ela na guia ambiente no perfil do usuário Windows, mas e se caso precisa executar mais de uma essa solução não funciona. Para isso existe uma solução simples para o mundo Linux chamada Seamless rdp.

O Seamless é um modo integrado no rdesktop que permite que você execute somente a aplicação Windows que queira através da linha de comando, para isso basta um parâmetro do lado do comando rdesktop para ele funcionar do lado do cliente, isso será demonstrado mais a frente. Mas e no servidor não é preciso configurar nada? Sim em um servidor 2003 é necessário 3 passos para isso:

1º – Baixe o seguinte arquivo: http://www.cendio.com/seamlessrdp/seamlessrdp.zip
2º – Extraia o arquivo para uma pasta no seu servidor. Ex: C:\seamlessrdp\
3º – Use e Aproveite.

No Windows Server 2008 é necessário duas configurações a mais:

1º – Habilitar o RDS: Conforme o site: https://msmvps.com/blogs/msvirtualization/archive/2011/01/11/instalando-o-remoteapp-server.aspx

Nota: No site fala para habilitar a configuração mais segura, porém, como não é uma solução para o mundo Windows habilite a opção: “Allow connections from computers running any version of Remote Desktop (less secure)” (Permitir conexões de computadores executando qualquer versão da Área de Trabalho Remota)

2º – Na configuração do RemoteAPP (Iniciar > Ferramentas Administrativas > Serviços de Área de Remota > Gerenciador do RemoteApp), vá em RD Session Host Server (Servidor de Host da Sessão da Área de Trabalho Remota) e habilite a opção “Allow users to start both listed and unlisted programs on initial connections” (Permitir usuários iniciar ambos aplicativos listados e não listados sobre conexões iniciais)

Com o seu servidor Seamless instalado basta agora executar o aplicativo do lado do cliente, para isso, como dito anteriormente, basta adicionar um parâmetro na linha de comando do rdesktop que é a letra A (em maiúsculo), com isso se caso você queira executar a calculadora do Windows digite o seguinte comando no terminal do Windows:

rdesktop -A -s ‘caminho_do_seamlessrdp.exe_no_seu_servidor “calc”‘ “ip_ou_nome_do_servidor_seamlessrdp”

Ex: rdesktop -A -s ‘C:\seamlessrdp\seamlessrdpshell.exe “calc”‘ “192.168.0.1?

Agora o desktop linux já está preparado para executar aplicações Windows, mas como disse anteriormente, essa solução só é interessante se o usuário precisa executar mais de uma aplicação e para automatizar segue um script para facilitar a vida:

#!/bin/bash
echo “1 – VSphere”
echo “2 – Calc”
echo “3 – IE”
read -p “Escolha o Programa:” OPT
case $OPT in
1) rdesktop -A -s ‘C:\seamlessrdp\seamlessrdpshell.exe “C:\Program Files\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\VpxClient.exe”‘ “192.168.0.1?;;
2) rdesktop -A -s ‘C:\seamlessrdp\seamlessrdpshell.exe “calc”‘ “192.168.0.1?;;
3) rdesktop -A -s ‘C:\seamlessrdp\seamlessrdpshell.exe “C:\Program Files\Internet Explorer\Iexplore.exe”‘ “192.168.0.1?;;
*);;
esac

Este script realiza o seguinte:

1º – Pede para o usuário digitar o número a qual pertence o programa que quer executar: 1 para o VSphere da VMWare, 2 para a calculadora e 3 para o IE
2º – Armazena o valor na variável OPT
3º – Entra no case e dependendo do valor executa o programa desejado

Nota: Neste exemplo o caminho seamlessrdpshell.exe está na pasta “C:\seamlessrdp” e o servidor tem o endereço 192.168.0.1. Personalize da maneira que melhor lhe atender.

Pronto, você agora você já tem um ambiente configurado e automatizado para executar aplicações Windows através do Seamlessrdp e aproveitar ao máximo.

Observações:

Para essa solução é necessário licenças de TS (Windows Server 2003) ou RDS (Windows Server 2008), que o preço é bem inferior ao de uma licença Desktop Windows.Para quem gosta do Wine e diz que ele pode executar essa tarefa, uma observação: ele pode fazer isso, mas não com a mesma facilidade e a estabilidade do Seamlessrdp.Para quem é do mundo Windows essa solução é semelhante ao RemoteApp do Windows Server 2008.

0 comments:

Post a Comment