Visite também: UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais] ·  Efetividade ·  Linux in Brazil ·  Floripa  

Detalhando o NX - acesso gráfico remoto com desempenho

O Linux Journal publicou a primeira parte de uma série de artigos sobre o NX e o FreeNX, descritos na introdução como uma tecnologia que permite a execução de sessões X11 remotas sobre conexões internet lentas, sem prejuízo considerável ao tempo de resposta, a ponto de impressionar usuários acostumados com tecnologias anteriores usadas para esta finalidade. O NX também pode se conectar a sessões remotas do VNC ou RDP, e oferece grandes ganhos de desempenho em relação ao TightVNC e rdesktop. Tudo isto rodando sobre Linux, Mac OS X, Solaris, Windows e alguns PDAs - e com uma versão livre. Para experimentar sem grande esforço, você pode usar o Knoppix, que inclui o FreeNX há mais de um ano.



A imagem acima (clique para ver em tamanho integral no site do LJ) mostra uma sessão remota do KDE sendo exibida em um desktop local com Windows XP Professional usando a versão Windows do cliente NX. O servidor NX do exemplo está instalado em uma máquina Linux remota.

Comentários dos leitores

Os comentários abaixo são responsabilidade de seus autores e não são revisados ou aprovados pelo BR-Linux. Consulte os Termos de uso para informações adicionais. Esta notícia foi arquivada, não será possível incluir novos comentários.
Comentário de Paulo Junqueira
Server Windows: Eu sei q ele é baseado no X11, mas gostaria de ver uma versão server pra windows. E ainda mais: além de compartilhar o desktop inteiro, poder ter a opção de compartilhar apenas uma aplicação, como faz o Citrix Metaframe. Com isso, conseguiríamos "executar" aplicações windows em desktops linux, para os casos em que a aplicação não pode ser portada. O servidor windows seria mantido apenas para executar esse tipo de app, o resto via desktop linux.

Preciso de alguma solução livre como essa. Alguém conhece algo parecido?

Abraço a todos.
Comentário de adilson
Um pequeno esclarecimento adicional: Só para complementar a notícia, o NX server tem versões para Linux e Solaris mas pode ser facilmente compilado para praticamente qualquer plataforma Unix existente. O client existe para Linux, MacOS X, Solaris, Windows e algumas plataformas não-convencionais como alguns modelos de PDAs e até Playstation ;)
Outra dúvida comum, quando acessando um servidor Windows, o NX não substitui o Windows Terminal Server então, não há economia em relação às licenças.
___
Nullum magnum ingenium sine mixtura dementiae fuit - Seneca
Comentário de adilson
Existem planos: Existem planos para portar o Servidor para Windows mas isso não é preciso para fazer o que você quer.
Você pode acessar a sua aplicação no servidor windows se este tiver capacidade de servvidor de terminal a ter apenas ela no seu desktop unix. Como coloquei no outro comentário, o NX não foi feito para substituir o RDP, até porquê, de qualquer modo, as licenças de servidor e tarminal tem que ser pagas para a Microsoft se você quer acessar remotamente uma aplicação por mais de um usuário. Esclarecendo, o ICA (Citrix Metaframe) usa um protocolo RDP aperfeiçoado mas a "MS Tax" está lá do mesmo jeito ;)
___
Nullum magnum ingenium sine mixtura dementiae fuit - Seneca
Comentário de Manoel Pinho
RDP: Aliás, pelo que eu sei, o RDP da Microsoft foi licenciado da própria Citrix, que licenciou então uma versão simplificada do seu protocolo e manteve o ICA como diferencial dos seus produtos.

Foi a Citrix que teve o trabalho de mexer profundamente no código do NT para torná-lo multiusuário de verdade, de tal modo que vários usuários possam ter sessões simultâneas na mesma máquina. Para ter a funcionalidade de se poder "exportar" apenas uma janela de um aplicativos windows para outro computador, a Citrix deve ter mexido profundamente na GDI do windows, pois esse comportamento não é o normal. Depois ainda tem gente que fala mal do X e que o linux deveria copiar a idéia da GDI...

O Nx é uma excelente idéia que complementa muito bem o X e resolve um dos problemas que o pessoal alega, que é o do consumo de banda do X. Com o Nx mantém-se a compatibilidade e excelentes idéias do X, com o desempenho semelhante ao de protocolos mais simples como o RDP.
Comentário de adilson
Bem não posso confirmar ou negar mas: Quanto ao RDP, até onde eu sei, a história é que a Microsoft que implementou o RDP e a Citrix licenciou e aperfeiçoou mas é bem provavle que eles tenham algum trabalho conjunto. Só um detalhe: as diferenças entre o RDP puro e o ICA não são tão grandes assim. Coisas como o seamless mode ou a publicação de aplicações eu já simulei internamente usando uma pequena extensão que estou desenvolvendo.
Uma curiosidade é que usando o RDP via NX o consumo de banda típico dele cai para cerca de 10% do normal :) Sem contar no aumento da segurança pois o RDP, apesar de criptografar o tráfego, tem uma falha de design que permite que a chave de criptografia seja capturada e usada bem facilmente. Essa falha é explorada para a engenharia reversa do protocolo.
___
Nullum magnum ingenium sine mixtura dementiae fuit - Seneca
Comentário de Douglas Augusto
Bacana, estão de parabéns!: Bacana, estão de parabéns! Acho esse projeto de imensa utilidade, principalmente porque quebra aquele gargalo da necessidade de grandes bandas de tráfego para se ter a execução viável de sessões gráficas remotas.

--
FLTK fltk.org (Fast Light C++ GUI Toolkit)
Comentário de Manoel Pinho
Veja a história do RDP da Microsoft: Veja a história do RDP da Microsoft:

http://www.quepublishing.com/content/images/0789728494/webresources/A011101.html

Terminal Services and Citrix Metaframe
--------------------------------------

Once upon a time, a company called Citrix licensed the source code for Windows NT 3.51 and developed a product called Winframe. Winframe was a separate operating system for hosting applications. Multiple users could connect to a single server and get a graphical view of an NT 3.51 operating system. The big boon that differentiated it from products such as Norton's pcAnywhere is that each user gets his own environment as if he was the only one on the box. Citrix called this technology MultiWin. You could install applications once (on the Winframe server) and run them from any machine that had the Winframe client. It essentially gave you a Windows NT 3.51 "window" on existing client machines.

Winframe was designed to provide businesses with a thin client solution. By installing a terminal server, businesses can reduce their total cost of ownership. Because all the processing is performed on the terminal server, the client's hardware requirements and bandwidth requirements are minimal (thus, the thin client). Additionally, because all the software is installed on the terminal server, it is easy to maintain and update. When a new application version comes out, you simply update it on the terminal server and, voilà, everyone has it.

Windows NT 4.0 Shell
--------------------

Microsoft, always recognizing innovative technologies when it sees them, cross-licensed the technology for Windows NT 4.0. The result was Microsoft's Windows NT 4.0 Terminal Server Edition, which is positioned the same as Winframe, but with the Windows NT 4.0/ Windows 95 style "Chicago" shell. Because this was Microsoft's first implementation, it had many limitations over Winframe, one of the biggest of which was the protocol. Microsoft Terminal Server uses the RDP protocol, whereas Citrix provides the ICA protocol. One of the major benefits of the ICA protocol is that it provides better compression, so sessions are much smoother. Rather than developing a new look-alike OS from scratch (because Microsoft wouldn't license the Windows NT 4.0 source code), Citrix offered its Winframe product as an add-on to Microsoft Terminal Server, and this add-on was called Metaframe. With Metaframe installed on a terminal server and using a Metaframe client, organizations could gain the benefit of the ICA client features. Additionally, Citrix provided Metaframe clients for non-Microsoft OSs (Macintosh, Unix, and so on)—not just Windows platforms.

Windows 2000 Redesign
---------------------

With Windows 2000, Microsoft incorporated the terminal server technology into the Windows 2000 server platform, making it a service just like any other service. Citrix continues to offer the Metaframe product as an add-on to Windows 2000, and the ICA protocol continues to perform better and have more features than the RDP 5.0 protocol in Windows 2000 (local drive, port, sound redirection, full screen mode, and so on).

One nice enhancement to terminal services that Windows 2000 does provide is support for Windows 2000 Terminal Services Profiles. This enables users to have a profile for accessing the terminal server(s) that is different from their regular everyday profiles. This acknowledges the different ways people work in these two environments. For example, on a terminal server, administrators probably want to have certain applications installed and lock the system down so users can't step on each other's toes or load extra software on the server (wallpapers, a My Documents folder, and so on). Conversely, when a user is working on his own computer, he probably has different software and requires more control of the environment. Terminal Services Profiles makes keeping these two environments separate possible, yet it still provides the capability for roaming or mandatory profiles in either environment.
Metaframe Platform

The various versions of Metaframe have continually added more features. Some of the biggest features Microsoft did not have were local resource redirection (drives, ports, sound, and a shared clipboard). Additionally, several other features are provided by Metaframe for the Enterprise, one of the biggest of which is support for Metaframe clusters. You can have multiple Metaframe servers in a cluster all appearing to the user as a single server. Windows 2000 introduced the capability to load balance terminal servers, but Metaframe still had an edge, particularly when it comes to handling disconnected sessions. For a comparison of the features available in the RDP 4.0 and 5.0 protocol versus Citrix ICA, log on to http://www.microsoft.com/windows2000/server/evaluation/features/rdp.asp.

The Windows .NET Counterattack
------------------------------

With the enhancements to the RDP 5.1 protocol, the inclusion of Remote Desktop for Administration into all Windows Server 2003 products, and the availability of the Remote Desktop clients, Microsoft has positioned the terminal services in Windows 2003 Server to rival those of Citrix Metaframe. Terminal Server Session Directory solves the problem of disconnected sessions on terminal server clusters, whereas the RDP 5.1 protocol adds all the cool bells and whistles of resource redirection. In addition, management with group policy greatly eases the implementation of terminal servers. Metaframe still has a place and still has some advantages (such as availability for Unix clients, direct dialing to a Metaframe server, application publishing, and so on), but Windows Server 2003 greatly closes the gap. It will be interesting to see how Citrix counters with its version of Metaframe for Windows .NET.
Comentário de Xtian Xultz
Problemas: Adilson, aqui talvez nao sej ao melhor local, mas o problema que tinha citado semana passada que o nx client (estou tentando instalar o pacote nxclient-1.5.0-103.i386.rpm continua reclamando que falta a depencia:libstdc++-libc6.2-2.so.3, e o pacote compilado estaticamente tambem reclama da mesma depencia. Aqui estou rodando o Mandrake 10.1 PowerPack, com todas as atualizacoes de seguranca instaladas.
Comentário de adilson
Muito obrigado: Valeu Pinho, eu não conhecia a história deste jeito.
___
Nullum magnum ingenium sine mixtura dementiae fuit - Seneca
Comentário de nemesis
"libstdc++-libc6.2-2.so.3" : "libstdc++-libc6.2-2.so.3"

rapaz, essa é uma das dependências mais chatas que vc jamais vai encontrar. Trata-se da antiga biblioteca padrão C++. Eu me lembro que tinha em uma distribuição mais antiga em outra partição no HD e simplesmente copiei na mão mesmo para a nova...


;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")

Comentário de Manoel Pinho
RDP: De nada. Eu tinha lido isso num livro sobre a arquitetura do NT.

A Microsoft, como sempre, compra tecnologias dos outros para incorporar no windows. Uma prova de que o RDP sempre pareceu um "corpo estranho" para o windows é que nem todos os aplicativos win32 conseguem rodar num terminal services do windows (e muitos exigem patches), o serviço exige licenças extras (as TS-CALs) com um custo que não o torna muito atrativo , a necessidade de ter múltiplas licenças de um aplicativo para estar com uma instalação 100% legal e a inexistência de clientes para sistemas não-windows. O serviço de terminais parece algo que a M$ sempre tentou sabotar pois para ela é mais lucrativo vender cópias de windows para os clientes.

O produto Go-Global da GraphOn (um dos anunciantes aqui do br-linux) parece permitir a "exportação" somente de janelas de programas windows. Diz também não precisar de TS-CALs. Ainda não testei mas me parece também interessante para rodar aplicativos windows em máquinas remotas dedicadas a isso.
Comentário de adilson
Desculpe não ter visto: Eu tenho o hábito de filtrar de posts confirmados para cima por isso não notei sua mensagem inicial.
Estou achando estranho este erro pois, se não me engano, este arquivo vem desde o Mandrake 9.2
Você não tem o RPM libstdc++2.10-2.96-0.83mdk.i586.rpm?
___
Nullum magnum ingenium sine mixtura dementiae fuit - Seneca
Comentário de adilson
Go-Global: Este Go-Global me entriga pois não sei como ele pode escapar das TS-CAL se ele disponibiliza aplicações deste jeito. Possivelmente já está embutido no licenciamento deles.
___
Nullum magnum ingenium sine mixtura dementiae fuit - Seneca
Comentário de Robert Wagner
GO-GLOBAL: Existe o GO-GLOBAL,(www.go-global.com.br) que inclusive conheci através de um banner neste site. Ele publica somente as aplicações publicadas no servidor. Ele funciona em todos os tipos de UNIX e LINUX, além de servir aplicaçoes também em Windows Server e até Windows XP Professional. Eu baixei o software e testei em Linux Debian e também em Windows Server 2003. Gostei do produto. Ele é bastante simples. Em menos de meia hora, depois do download que sempre demora, eu estava publicando aplicaçoes no Windows Server para rodar a partir do Linux e em mais meia hora eu instalei no Debian e ai eu pude executar aplicacoes dos dois ambientes em qualquer estação. Vale a pena testar. Eu estou gostando, principalmente porque ainda estou no periodo de teste demonstraçao.
Comentário de Robert Wagner
Go-Global: Eu nao sei que magica fizeram, mas nao usa licenças CAL mesmo. Eu instalei num Windows Server 2003 e nao precisei das licenças. Eles dizem que desenvolveram um protocolo baseado no X-Windows e que é bem rápido por sinal. Como eu disse para o outro rapaz, eu recomendo testar.
Comentário de Xtian Xultz
Os pacotes instalados da libs: Os pacotes instalados da libstdc++ aqui sao os seguintes:
libstdc++5-3.3.4-2mdk
libstdc++6-3.4.1-4mdk
libstdc++6-devel-3.4.1-4mdk

Entanda que nao vejo problema em nao ter funcionado na distro, se ha necessidade de fazer upgrade neste pacote, tudo bem, eu soh estou evidenciando eh que no site diz que o pacote funcina em qualquer Mandrake do 9,2 para cah e um cliente pode ficar frustrado ao ver que nao confere. O ideal mesmo seria apontar para o usuario de Mandrake que ele deve baixar tal atualizacao para poder rodar.
Comentário de adilson
Eu me referia ao aspecto legal: Tecnicamente, como fazer um servidor de terminais para windows não é problema. Eu me referia ao lado legal do problema pois eu não acho que exista um loophole na licença do Windows que permita este tipo de uso sem ter as múltiplas licenças.
___
Nullum magnum ingenium sine mixtura dementiae fuit - Seneca
Comentário de hamacker
-: Rodar um terminal inteiro sempre vai requerer licenças mesmo que o software em sí não as necessite, existem receitas de bolo usando gateways para escapar das licenças, e embora se escape das licenças no meio físico, não dá para escapar do meio legal, a licença de terminais do Windows é claro em dizer que é preciso uma licença CAL para cada terminal seja ela real ou virtual. Porém rodar os aplicativos individualmente não é um terminal inteiro.

Tem muita gente que usa o Windows apenas parar rodar seus softwares comerciais legitimos, mas tem que comprar novas licenças do windows para servir apenas de host.
Se fosse possivel rodar apenas o programa XYZ.EXE sem a necessidade do windows, tchau licença do windows. O wine tá chegando perto, porém não é 100% para todas as aplicações, e convenhamos se fosse possivel apenas exportar a tela do programa para outro local, então seria muito melhor. Mas com o tempo a licença do próximo windows vai incluir novas clausulass para barrar isso tambem.

Espero que esse software indicado proponha isso, porque se for imagina o potencial.
Comentário de Ananias
DLL Hell: Definição: Dizem por aí que é um problema do Windows.
Comentário de Robert Wagner
GO-Global: Pela matéria a respeito da tecnologia Rapidx (RXP) que encontrei na web, este é um assunto resolvido pela Graphon desde 1998 quando adquiriu a tecnologia jBridge da Corel. Leia a matéria da época sobre esta aquisição estratégica para a Graphon, e porque não pagam pedágio para a Microsoft ou Citrix. http://www.infoworld.com/cgi-bin/displayStory.pl?981218.ecjbridge.htm
É, parece que a tecnologia não é nova e pelo jeito é totalmente testada e aprovada. A Graphon vem de uma longa história de produtos (Go-Joe, Go-Between) até chegar ao GO-Global que parece ser a evolução de todos estes produtos e tecnologias.
BR-Linux.org
Linux® levado a sério desde 1996. Notícias, dicas e tutoriais em bom português sobre Linux e Código Aberto. "A página sobre software livre mais procurada no Brasil", segundo a Revista Isto É.
Expediente
Sobre o BR-Linux
Enviar notícia ou release
Contato, Termos de uso
FAQ, Newsletter, RSS
Banners e selos
Anunciar no BR-Linux
BR-Linux apóia
LinuxSecurity, Tempo Real
Suporte Livre, Drupal
Verdade Absoluta
Pandemonium
Efetividade, Floripa.net
sites da comunidade
Ajuda
Moderação
Flames: não responda!
Publicar seu texto
Computador para Todos
Notícias pré-2004
Tutoriais, HCL pré-2004