NX: conexões X11 remotas com software livre

Imagine que em casa você deseja usar seu computador, mas seu irmão mais novo está verificando suas redes sociais e você precisa fazer uma tarefa. Para completar, o arquivo de que você precisa está naquele computador "muito ocupado". Bem, simples, de qualquer PC da casa você acessa sua conta de usuário que está no computador que seu irmão está usando naquele momento e voila, você tem sua sessão com tudo e com o que tem nele como se estivesse na frente do servidor e funcionando, ótimo né? Bem, a tecnologia NX permite isso e muito mais.


O NX é uma tecnologia que permite a execução rápida e com excelente qualidade gráfica de sessões remotas do X11, desenvolvida pela empresa francesa NoMachine, que oferece aplicativos cliente e servidor gratuitos (mas não gratuitos) e também comercialmente.

A velocidade do serviço NX se deve à compressão e caching realizados pelo protocolo X11, que minimiza a quantidade de informações transferidas entre cliente e servidor. Mas a velocidade não é a única coisa que se pensa, o NX também oferece um serviço seguro, já que todas as informações trafegam pelo SSH. Ou seja, você pode esquecer LDAP, diretórios seguros com Apache e SSL, Samba, NFS ou qualquer outra solução para acessar seus dados na rede, com o NX será suficiente conectar de qualquer PC da rede à sua conta de usuário e aos seus dados eles estarão lá.

O NX, ao contrário do VNC, é considerado um serviço Thin Client, pois não se limita a oferecer visualização e controle de uma área de trabalho remota, mas permite o acesso às contas dos usuários que estão no servidor sem interferir com outros usuários que possam estar acessando suas contas ao mesmo tempo a partir do próprio servidor ou de qualquer outro computador.

Outra vantagem é que para usar o NX não é necessário adquirir hardware sofisticado, por exemplo se você planeja usar terminais leves usando PXE / LTSP você deve ter placas de rede que suportem inicialização PXE, o que evita que computadores antigos sejam reutilizados além do servidor requer duas placas rede para o seu funcionamento, com a tecnologia NX basta ter uma rede local simples, sem ter que gastar dinheiro em hardware específico.

Como se isso não bastasse, vamos imaginar se temos uma rede local em que vários usuários estão trabalhando e de repente um blecaute clássico, você pode praticamente dizer adeus ao seu trabalho se não o salvou, usando um servidor NX protegido com um No Break ficará basta reiniciarmos os clientes, acessarmos a sessão que ficou aberta e continuarmos o seu trabalho, economizando assim no no-break para todos os PCs da rede. (Acredite em mim, funciona e fiquei maravilhado quando fiz os testes e vi que funciona perfeitamente).

Diagrama de uma rede com tecnologia NX

Como você pode ver no diagrama, se você tiver uma rede local modesta será o suficiente para implementar as soluções com a tecnologia NX.

Os requisitos são os seguintes:

Clientes:

  • Processador mínimo de 400 MHz
  • 128 MB de RAM
  • 35 MB de espaço em disco (para instalar o aplicativo cliente)
  • Uma conexão de rede

Servidor:

O hardware necessário para o servidor varia, dependendo do número de clientes que se conectam a ele e do tipo de aplicativos que devem ser executados.

Para o meu gosto os aplicativos NoMachine são muito bons, mas felizmente existem alternativas da mesma qualidade e também gratuitas que foram desenvolvidas aproveitando o fato de que o núcleo da tecnologia NX está sob a licença GPL 2, o Google lançou puro que é um servidor NX gratuito, como cliente, sugiro usar OpenNX que também é Software Livre.

Como notícia, comento que NoMachine relatou que a tecnologia NX da versão 4 deixará de ser Software Livre e terá uma licença privada.

http://www.nomachine.com/news-read.php?idnews=331

Onde podemos usar o NX?

  • Salas de aula ou laboratórios de informática.
  • Escritórios
  • No lar
  • bibliotecas
  • E qualquer lugar onde tenhamos um servidor com bons recursos e computadores antigos para reciclar.

Instale o Neatx (servidor)

Adicionaremos o repositório Neatx ao arquivo /etc/apt/sources.list, mas primeiro faremos uma cópia de backup do arquivo a ser modificado.

cp /etc/apt/sources.list /etc/apt/sources.list.original

Agora vamos prosseguir para adicionar o repositório

nano /etc/apt/sources.list

e adicionamos as seguintes linhas no final do arquivo:

deb http://ppa.launchpad.net/freenx-team/ppa/ubuntu lúcido principal
deb-src http://ppa.launchpad.net/freenx-team/ppa/ubuntu lúcido principal

Nós salvamos e fechamos o arquivo.

Nós atualizamos nossos repositórios.

apt-get update

Nós instalamos.

apt-get instala o servidor limpox

Lembre-se de que você pode criar várias contas para serem acessadas a partir do cliente NX. Neste exemplo, adicionaremos 3 contas neatx, neatx2 e neatx3 a este servidor, de preferência criando-as graficamente porque adicionar usuários do terminal não funcionou pelo menos no Debian 6.

No Gnome 2.x

Sistema> Administração> Usuário e grupos

No Gnome 3 e posterior

no painel superior onde seu nome de usuário aparece> Configurações do sistema> Contas de usuário

uma vez adicionado, tudo estará pronto, é verdade, não há mais nada a fazer no servidor e está tudo configurado.

Instale OpenNX (cliente)

Adicionamos o repositório OpenNX, assim como com o servidor, fazemos nossa cópia de backup e editamos o arquivo, mas agora adicionamos esta linha:

deb http://download.opensuse.org/repositories/home:/felfert/Debian_5.0./

nós salvamos e fechamos.

Adicione a chave do repositório, baixe a chave de clique aqui e no terminal, localizando-nos no diretório onde baixamos a chave, lançamos o seguinte comando.

apt-key adicionar Release.key

Nós atualizamos repositórios.

apt-get update

Nós instalamos.

apt-get instala o opennx

e tudo ficará pronto.

Também encontramos pacotes e repositórios para outras distros e diferentes sistemas operacionais em sua página oficial.

http://opennx.net/download.html

Embora o repositório de exemplo seja o que funcionou corretamente para mim no Ubuntu e no Debian.

Agora acessaremos nossa sessão remota do cliente.

Aplicativos> Cliente OpenNX> Assistente de conexão OpenNX

O assistente OpenXN aparece

Pressionamos o botão «Próximo».

Colocamos algum nome para a sessão e o IP do servidor, mudamos a velocidade até onde diz LAN.

Selecionamos Unix como o sistema e a área de trabalho instalada no servidor, neste caso GNOME.

Deixamos habilitada a opção “Habilitar criptografia SSL de todo o tráfego”, sem esta opção habilitada o servidor não funcionará, pois não permite sessões não criptografadas.

Desabilitamos a opção «Criar atalho na área de trabalho» porque, se estiver habilitada, funciona, mas marca um erro ao criar o atalho na área de trabalho.

Agora veremos o cliente OpenNX

Colocamos o usuário ao qual queremos nos conectar no servidor, a senha,
escolhemos a sessão que criamos anteriormente e pressionamos «Login».

Veremos que o OpenNX estabelece a conexão com o servidor, autentica e baixa os dados necessários para iniciar a sessão.

Se tudo tiver corrido bem, teremos a ligação a uma sessão num servidor remoto, conforme já referido, sem interferir com nenhum outro utilizador que aceda à sua conta quer fisicamente no servidor ou através do OpenNX.

Algumas capturas.

Acessando de um cliente instalado no Ubuntu 11.10 para um servidor NX também com Ubuntu 11.10.

Nesta imagem vemos que acessamos um servidor NX instalado no Debian 6.0 de um cliente no Ubuntu 11.10, observa-se na barra de título da janela que aparece «Neatx», seguido do usuário, o nome do servidor e também a sessão .

Nos testes, 3 contas de usuário foram acessadas simultaneamente em um servidor com Athlon X2
com 2 GB de RAM e funcionou perfeitamente, cada conta foi acessada de um cliente diferente na rede local com LibreOffice Writer e Firefox em execução e nenhum deles apresentou qualquer inconveniente.

Estes são os 3 PCs clientes nos quais o OpenNX foi executado para acessar as contas de usuários remotos.

Recuperar uma sessão

Se por algum motivo o cliente perdeu a conexão, seja devido a uma falha de energia, alguém tropeçou no cabo de alimentação do computador ou seu irmão mais novo travou no botão liga / desliga do PC, não se preocupe , sua sessão remota está rodando no servidor, basta ligar o cliente novamente e iniciar a sessão, uma tela como a seguinte irá aparecer

Você seleciona a sessão que estava executando, pressiona o botão "Continuar" e você terá sua sessão novamente como a deixou.

De acordo com as especificações da tecnologia NX também é possível acessar o áudio remotamente, o que pelo menos até agora não consegui fazer funcionar.

Bem, espero que este tutorial seja útil para você, é realmente uma excelente ferramenta disponível para todos.


12 comentários, deixe o seu

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Anônimo dito

    Interessante, mas prefiro usar o xrdp já que normalmente não é necessário instalar um cliente, pois tanto o gnome quanto o windows o possuem integrado e também funciona com smartphones e thinclient.

  2.   Sam dito

    Cuidado, não é totalmente verdade, com LTSP não é necessário ter placas de rede com PXE, você pode inicializar os clientes a partir de USB, CD, Disquete ... e não é necessário ter discos rígidos no computador cliente, O cliente nx deve ser instalado em um sistema com disco rígido. NX é bom para substituir VNC ou Rdesktop, mas se o que você precisa é ter um melhor servidor de cliente fino LTSP ou TCOS.

    Saudações.

  3.   Luis dito

    Excelente tecnologia e tutorial.

    Cuidado, você também deve mencionar a nível de hardware, você deve ter um switch com velocidade de pelo menos 10/100/1000 Mbps e também os computadores clientes possuem placas de rede que também funcionam nessa velocidade.

    Com isso não teremos clientes reclamando que a rede está muito lenta e acabando pedindo que é melhor descartarmos a ideia da tecnologia NX.

  4.   gonza dito

    Tenho minha rede local com Samba ... e só uso um Modem Router no qual posso conectar 4 pc's.
    Eu uso para acessar e compartilhar arquivos entre os PCs.

    Informação muito boa no post, talvez em algum momento eu tente.

    Muito obrigado!

    Saudações 🙂

  5.   Linguux dito

    Caiu mijo de pérolas !!!! Estou fazendo isso nos testes! e não fiquei com o ltsp, só estive no ssh mas no de aplicativos e usuários compartilhados porque estou apenas aprendendo mas agora com isso, espero que seja melhor para mim porque agora estou com máquinas que já acabaram 10 anos e bem estou fazendo-os funcionar !!! OK !! Vou tentar isso !!!! pois já estou na corrida! Parece que está bom se já estou surpreso com o ssh agora este ... tchau

  6.   Meu e-mail dito

    Eu recomendaria que você desse uma olhada nisso http://theqvd.com/

  7.   Vamos usar Linux dito

    Interessante ... boa contribuição.

  8.   Nacho dito

    Eu recomendaria dar uma olhada no x2go, também baseado na tecnologia NX.

  9.   Pandacriss dito

    Acho que vou tentar com meu novo pi de framboesa
    http://www.tiaowiki.com/w/Install_NX_Server_on_Raspberry_Pi
    estou emocionado!!!

  10.   Pandacriss dito

    Acabei de instalar o cliente e o servidor no mesmo pc para teste. Não consigo encontrar como iniciar o cliente em qualquer lugar. O ubunutu 10.04 tem alguma ideia?

  11.   SinFlag dito

    ssh -X?

  12.   agt1729 dito

    Eu recomendo Ammy Admin (http://www.ammyy.com) não requer instalação ou configurações específicas. Ele funciona por trás de gateways NAT e em qualquer LAN.