Instalando e configurando o NX Server e Client em ambientes Ubuntu based

Boa noite pessoal,

Recentemente na empresa onde trabalho nós utilizamos uma máquina Windows para gerar as releases das aplicações através do serviço de Conexão Remota do Windows, antes esta máquina não era utilizada por ninguém mas agora temos uma pessoa que está usando ela, e toda vez que precisamos conectar para gerar uma release acabamos fechando a conexão desse usuário devido ao fato que ‘naturalmente’ o Windows não suporta mais do que um usuário conectado ao mesmo tempo.

Depois de pesquisar um pouco e com uma dica do Lauri acabamos procurando por um aplicativo maroto que permite múltiplas sessões simultâneas de usuários remotos, esse cara é o NoMachine, ou pela alcunha de NX. Este aplicativo é dividido em três aplicações, que são:

  • NXClient;
  • NXNode;
  • NXServer;

Este aplicativo possui uma versão comunitária e uma paga, logo a versão “for free” possui uma série de limitações, logo a principal no meu ponto de vista foi dar suporte apenas a dois usuários na sua lista de virtualizações. Em um ponto de vista geral este não era um grande problema, logo porque eu apenas precisaria de um usuário mesmo.

Bom, agora vamos ativar o nosso modo raçudo e vamos instalar esse aplicativo maroto pessoal.

Download e instalação

Primeiramente vamos baixar do site os arquivos de instalação (.DEB) diretamente do site através do endereço abaixo:

http://www.nomachine.com/download-package.php?Prod_Id=3591

Aqui temos um pulo do gato a ser feito, não sei porque, mas quando eu fiz a primeira instalação fora da ordem, simplesmente não funcionou, mas….toda via o próprio site diz que deve ser instalado na seguinte ordem:

[bash]
sudo chmod +x nx*.deb
sudo dpkg -i nxclient-x.y.z.deb
sudo dpkg -i nxnode-x.y.z.deb
sudo dpkg -i nxserver-x.y.z.deb
[/bash]

Feito a instalação dos três pacotes de aplicativos, vamos mandar o APT-GET resolver alguma dependência pendente da instalação do NX caso exista alguma, para isso vamos usar o comando abaixo:

[bash]
sudo apt-get install -f
[/bash]

Estava esquecendo pessoal, o sistema de autenticação do NX necessita do serviço de SSH para realizar a autenticação das conexões  remotas, para instalar o serviço usamos o APT-GET novamente:

[bash]
sudo apt-get install openssh-client openssh-server
[/bash]

Bom, agora precisamos reiniciar o ambiente para que todas os recursos do NX consigam ser aplicados, para isso:

[bash]
sudo reboot
[/bash]

Depois de reiniciado, precisamos associar os usuários que poderão acessar a nossa máquina de maneira remota, para isto vamos criar um usuário no nosso ambiente.

Como eu não manjo muito de configuração de usuários e grupos, vou usar o gerenciador de usuários provido pelo KDE 4, lembrando que devemos configurar que esse novo usuário possua uma pasta home própria.

Criação do usuário para uso remoto.
Criação do usuário para uso remoto.

Conforme o critério do KDE 4 ou do próprio Linux Mint para criação de usuários, precisamos ativar esse usuário num primeiro acesso, para isto façamos o seguinte:

[bash]
su tutorial
[/bash]

Neste ponto o sistema irá solicitar que você informe uma nova senha para este usuário e depois que informada está feito, este usuário está ativo no sistema. Agora vamos retornar ao nosso usuário e vamos configurar esse novo usuário lá no NX.

O NX possui um diretório específico para as suas configurações, que é o diretório ‘/usr/NX/‘. Dentro deste diretório é possível realizar todas as configurações necessárias.

Vamos então usar o script que está na pasta ‘/usr/NX/bin/nxserver‘ para adicionar o nosso usuário na lista de permissões:

[bash]
cd /usr/NX/bin/
sudo ./nxserver –useradd tutorial –system
[/bash]

Ao executarmos esse comando já podemos realizar a conexão remota sem nenhum problema.

Aviso: caso um erro ocorrer ao tentar adicionar o usuário no NX, verifique se o usuário está ativo no ambiente ou se o serviço de SSH está instalado, caso contrário não tem jeito.

Entendimento e considerações

Cada conexão inicializa um novo “X”, do mesmo modo quando utilizamos o Ctrl+Alt+F1 por exemplo. Só que o NX, pelo menos na sua versão comunitária não restringe os usuários já conectados, ou seja, caso duas pessoas se conectem usando o usuário “tutorial” o nosso ambiente irá permitir as duas conexões com um mesmo usuário.

Também tem o fato que os serviços que estão sendo consumidos por este usuário são “compartilhados” pelo atual usuário conectado fisicamente na estação servidora, ou seja, se você está com o serviço do Apache em execução ele também será acessível pelos usuários remotos e vice-versa.

Nos testes feitos usando a rede sem fio interna da empresa, os ambientes Windows suportaram a conexão em modo tela cheia perfeitamente, o que não ocorreu usando o KDE 4 na minha estação de trabalho.

Tivemos que acessar localmente o ambiente gráfico do usuário e configurar para que o mesmo utilizasse o KDE 4 como gerenciador gráfico, logo porque o Unity e o Gnome 3 simplesmente ficaram bugados e não inicializaram o metacity corretamente.

O usuário “tutorial” quando configurado para usar o XFCE 4 fez com que um erro fosse gerado nos clientes ao tentar conectar, acredito que seja problema de suporte.

Configurações adicionais

Pessoal, se vocês seguiram os passos apresentados neste breve artigo o NX deverá estar rodando e aceitando conexões remotas. Lembrando que eu testei esta configuração usando um Linux Mint 12 com o KDE 4. Para mais detalhes de configuração acesse o endereço abaixo:

http://www.nomachine.com/documentation/admin-guide.php

Referências

Configurações – http://www.nomachine.com/documentation/admin-guide.php

Abraços e até a próxima.