Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

SeamlessRDP - Executando aplicações Windows
Linux user
fs.schmidt
28/02/2012
Este artigo é para quem procura uma forma de executar no Linux, aplicações que são compatíveis somente com o Windows.
Através de uma conexão SeamlessRDP, os aplicativos serão executados de forma transparente, comportando-se como aplicações
locais do Linux.
Por: Fabio Soares Schmidt
[ Hits: 4234 ]
Conceito: 10.0   2 voto(s)2 voto(s)2 voto(s)2 voto(s)2 voto(s) + quero dar nota ao artigo

Introdução e Compilação

Introdução

Certamente quem trabalha com Linux, em algum momento, esbarrou em alguma aplicação que é compatível somente com o Windows, ou até mesmo aplicações Web que são apenas compatíveis com seu navegador Internet Explorer.

Este artigo tem como objetivo, possibilitar que aplicações para Windows sejam executadas no Linux como se fossem aplicações locais, isto é, de forma transparente ao usuário. Aplicações Windows são apresentadas como qualquer aplicativo que está sendo executado no Linux.

Para isso, será utilizada uma conexão RDP 'seamless', que executará as aplicações no Windows apresentando-as no sistema Linux fazendo com que seja visualizada somente a janela da aplicação executada.

Esta configuração pode ser feita através de uma máquina virtual Windows no próprio sistema, ou com um servidor através do Terminal Services.

Compilando o RDESKTOP

Primeiramente, para que o rdestkop suporte o compartilhamento de sessões, que possibilitará a execução de diversas aplicações, ou várias instâncias da mesma, simultaneamente, é necessário aplicar o Patch disponibilizado pela Cendio.

Vamos utilizar os links disponibilizados pela Fontis em: http://www.fontis.com.au/rdesktop

Código fonte do rdestkop: http://www.fontis.com.au/system/files/rdesktop_src.tar.gz
Patch para SeamlessRDP: http://www.fontis.com.au/system/files/rdesktop.patch

Efetuado o download dos arquivos acima, descompacte o arquivo com os fontes do rdesktop:

$ tar zxf rdesktop_src.tar.gz

Aplique o Patch:

$ patch -p1 < rdesktop.patch

Agora iremos compilar o rdesktop:

# ./bootstrap
# ./configure
# make


Após compilado, copie o executável do rdesktop para o caminho desejado (neste tutorial, utilizaremos o caminho “/usr/local/bin/rdesktop”).

Se ao compilar o rdesktop, for apresentado o erro:
suspicious cache-id, must contain _cv_ to be cached

... Por favor, siga as orientações na dica: suspicious cache-id, must contain _cv_ to be cached ao compilar o rdesktop
Próxima página >>




Páginas do artigo
   1. Introdução e Compilação
   2. Executando aplicações Windows

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por leo.silva em 29/02/2012 - 11:57h:

quando executo o comando ./bootstrap apresenta o seguinte erro:
./bootstrap: 3: autoreconf: not found

como posso soluciona-lo?

[2] Comentário enviado por fs.schmidt em 29/02/2012 - 12:42h:

Olá amigo, é necessário instalar o pacote autoconf.

[3] Comentário enviado por leo.silva em 29/02/2012 - 13:12h:

Valeu amigão, agora funcionou!

[4] Comentário enviado por edulanzani em 29/02/2012 - 17:56h:

Não econtrei o executavel do rdesktop.

[5] Comentário enviado por brunovictor86 em 02/03/2012 - 11:05h:

Fabio, otimo artigo, vai me ajudar muito.

Estou com o seguinte problema, não consigo abrir mais de uma sessão aparece o seguinte erro.

line 33: syntax error near unexpected token `newline'
line 33: `</aplicativo>'

Apaguei essa ultima linha `</aplicativo>' e tambem nao abre.


[6] Comentário enviado por brunovictor86 em 02/03/2012 - 12:28h:

Fabio, tem como ter duas instancia de um programa abreto com o mesmo usuario de ts?

[7] Comentário enviado por edulanzani em 02/03/2012 - 14:37h:

Para abrir duas instancias de um mesmo usuario, vc deve configurar no servidor de ts pra ele aceitar multiplas conexes do mesmo usuario.


[8] Comentário enviado por Tacioandrade em 02/03/2012 - 14:50h:

Fábio esta é uma ótima dica mesmo, porem tendo um problema. Fiz o passo a passo todo correto, consegui compilar o rdesktop depois de aplicar o patch, tudo OK, descompactei o arquivo seamlessrdp_server.zip como nas sua explicação e tudo OK.

Porem quando fui para o Linux tentar executar o script (já com os dados modificados), está aparecendo a seguinte mensagem de erro: Error binding to socket: bind: Permissão negada.

Você sabe o que pode ser isso?????

Outra duvida que tenho, desta forma do tutorial. poderei abrir a aplicação apenas de 1 computador por vez no Windows XP ou 7 normal, ou poderei abrir várias instâncias em várias maquinas, como se estivesse usando como Terminal Server?


Obrigado pela contribuição. =)


[9] Comentário enviado por fs.schmidt em 02/03/2012 - 17:30h:

edulanzani = Se o make consegui compilar corretamente, no diretório irá estar o excutável, com o nome "rdesktop"

brunovictor86 = Essa linha </aplicativo> apareceu por engano na publicação da dica, testei aqui apenas retirando, copiando e colando e funcionou perfeitamente.

Tacioandrade = Verifique se está com permissão de gravação no diretório informado na variável SOCKETRDP

Sobre a limitação de sessões simultaneas no Windows sei que o XP ou 7 não permite, somente o TS da linha Server.

Abraços e obrigado pela leitura !

[10] Comentário enviado por Tacioandrade em 03/03/2012 - 23:30h:

Estava realmente como somente para leitura, porem mesmo dando permissão a pasta C:\seamlessrdp e todos os arquivos dentro dela, continua dando o mesmo erro: Error binding to socket: bind: Permissão negada

O acesso normal ao computador via rdesktop funciona perfeitamente, apenas quando o parametro -A está ativo que ele dá este erro. =/

[11] Comentário enviado por edulanzani em 04/03/2012 - 08:08h:

Tacioandrade = Qual a versão do windows que você está utilizando?

[12] Comentário enviado por Tacioandrade em 04/03/2012 - 22:08h:

Eu estou usando o Windows XP, porem tentei também com o 2003 server que instalei apenas para testar isso.

Uma coisa que percebi é que a pasta está como somente para leitura e mesmo que eu retire esta opção, toda vez que eu clico em OK (após aplicar) ela volta a ficar somente para leitura.


Tentei isso várias vezes, pois vejo nisto um bom projeto para livrar dos XPiratas uma empresa que presto consultória. =)

[13] Comentário enviado por fs.schmidt em 05/03/2012 - 09:53h:

Tacioandrade, esse erro está dando no Linux, o rdesktop não está conseguindo escrever no arquivo com socket para realizar o compartilhamento de sessão.

[14] Comentário enviado por ipi em 06/03/2012 - 23:13h:

Desculpe, eu nao entendi direito, precisa ter um windows instalado em outra particao ou numa VM? É isso mesmo?

Obrigado se puder esclarecer.

[15] Comentário enviado por fs.schmidt em 07/03/2012 - 09:37h:

Ipi = Esta configuração pode ser feita através de uma máquina virtual Windows no próprio sistema, ou com um servidor através do Terminal Services.

[16] Comentário enviado por edulanzani em 12/04/2012 - 09:09h:

Estou usando essa solução a quase um mes. E funciona muito bem. Parabéns pelo artigo.

[17] Comentário enviado por manchatnt em 24/04/2012 - 14:01h:

Boa Tarde a todos.
Consegui rodar no Windows Server 2003.
Mas não no Windows XP. No Windows XP abre a conexão tsclient sem executar o aplicativo desejado.
Existe alguma configuração em específico para o Windows XP?

[18] Comentário enviado por tacioandrade em 24/04/2012 - 17:01h:

Cara tava com o mesmo problema, para resolver instalei um patch que transformar o XP em um servidor TS.

http://ziggi.uol.com.br/downloads/terminal-server-patch

Com isso funciona perfeitamente.


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.