SeamlessRDP – Acessando aplicativos via TS através de clientes 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 tivessem trabalhando em um ambiente homogeneo.
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, porém 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, mas o que ele faz?
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 basta 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 Linux:
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 de executar mais de uma aplicação e para automatizar segue um script para facilitar a vida:
1 2 3 4 5 6 7 8 9 10 11 | #!/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
Nota: 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.
PS: 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.
PS2: 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.
PS3: Para quem é do mundo Windows essa solução é semelhante ao RemoteApp do Windows Server 2008.
Artigo enviado pelo colaborador Laerte Costa, ele é Analista de Suporte com experiência na área, possui Certificação Microsoft Certified System Administrator (MCSA) e pode ser contatado nas redes sociais pelos seguintes endereços: twitter: @laerte_hc, facebook: facebook.com/laerte.henrique
Parabéns, Vagner.
Sigo acompanhando.
Ass: O carinho do site feio, rsrsrsrs.
Marcos,
Obrigado por nos prestigiar.
OBS: Mantenha o bom serviço que é o mais importante, mas quando der melhore o site ;-)…
Abraços amigo.
Otimo artigo. Acabei de testar num Server 2003 e funcionou muito bem. Parabens!!!
Obrigado João,
O artigo é do Laerte que é nosso leitor e como também tem encontrado soluções para problemas do dia a dia, tem enviado artigos como nosso colaborador. É bom ver que muitos mais têm o mesmo objetivo que nós: Compartilhar conhecimento para sermos profissionais melhores.
Abraço.
Quem usa a parte grafica do Linux pode criar icones para acessar suas aplicaçoes remotas via TS. Fiz um teste no Windows 2003 e ficou muito bom.
Coopera!
Cara se não estou enganado pode ser usado em Windows XP Professional.
Para empresas não seria interessante, más para fazer testes em casa é uma boa.
Windows RDP Server Requirements
Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2, Windows XP Professional, or Windows 7, with the RDP service enabled. Both 32- and 64-bit systems are supported. Windows Vista is not supported.
Descupa ae se estou tecendo besteira.
Um grande abraço a todos e … CooperaTI!
Olá Marcos, em ambiente servidor funciona sim, eu mesmo uso isso na empresa onde trabalho e funciona tranquilamente, a única diferença é que no W2008 você não pode habilitar a configuração segura do RDS, além de permitir abrir aplicativos que não estejam listados na lista do RemoteAPP, como explicado no artigo 😉
Abraços
No seu caso ocorreu de aparecer a Mensagem: Error binding to socket: bind: Permissão negada?
No meu caso ele está aparecendo esta mensagem apenas se adiciono a Opção do -A -s “shell”, caso coloque apenas o RDesktop vai normalmente. =/
Esse aplicativo parece ser muito bom, vi um artigo sobre ele a algum tempo no Viva o Linux, porem até hoje nunca consegui colocar para funcionar, mesmo compilando o rdesktop com o patch correto, toda vez que adiciono o -A para conseguir a conexão dá erro. =/
Muito legal o artigo, uma dúvida só funciona se no linux tiver algum ambiente gráfico instalado?
Thiago,
RDP só funciona com o ambiente gráfico instalado.