Depois da teoria, vamos ao que realmente interessa, que é a criação das conexões e a otimização do NX. Existem versões do cliente NX para várias distribuições Linux, Windows e Solaris, todas de download gratuito. Na maioria das distribuições Linux, ao instalar o cliente NX, são criados ícones no “Iniciar > Internet”. Da primeira vez, use o “NX Connection Wizard” para criar a conexão inicial. Se o ícone não tiver sido criado, use o comando “/usr/NX/bin/nxclient -wizard” (usando seu login de usuário, não o root):
Além do IP do servidor, você precisa informar a porta em que ele está escutando. O NX usa o SSH para estabelecer a conexão, por isso a porta padrão é a 22. Se você manteve a configuração padrão do SSH, esta é apenas uma opção que vai passar despercebida, mas se você configurou o servidor SSH (no servidor) para escutar em outra porta, é necessário editar dois arquivos, de forma que o NX seja capaz de utilizá-lo.
Comece editando o arquivo “/etc/ssh/sshd_conf” (no servidor), alterando a opção “port 22” para a porta desejada. Em seguida, abra o arquivo “/usr/NX/etc/node.cfg“, descomentando e alterando a opção “SSHD_PORT=22”, de forma que seja informada a mesma porta nos dois arquivos. Para aplicar a alteração, reinicie o servidor SSH e, em seguida, também o servidor NX, usando o comando “/usr/NX/bin/nxserver –restart”.
De volta à configuração do cliente, estão disponíveis ainda opções com o nível de compressão dos dados e do tamanho da janela. Usando a opção “LAN”, que é destinada a conexões via rede local, não existe perda de qualidade de imagem, mas, ao usar as demais opções, destinadas a conexões mais lentas, as imagens são comprimidas via JPG, o que garante uma atualização mais rápida, porém com uma certa perda de qualidade. Conforme você vai usando, os pixmaps vão sendo retransmitidos e substituídos por cópias sem compressão, fazendo com que a imagem vá ficando mais nítida.
Na segunda janela, temos outra opção importante, que é a seleção do ambiente gráfico usado. O cliente NX não é capaz de detectar automatizamente o ambiente gráfico usado no servidor, de forma que você precisa especificá-lo na criação da conexão. Ao acessar um servidor Linux com o KDE, escolha “Unix > KDE” em ao acessar um servidor com uma distribuição baseada no Gnome, use o “Unix > Gnome”:
A opção “Select size of your remote desktop” permite especificar o tamanho da janela com a conexão remota. A opção “Available area” faz com que a janela ocupe todo o espaço útil do desktop, sem cobrir a barra de tarefas (o ideal na maioria das situações), mas você pode também especificar uma resolução qualquer, como “1000×700” ou “800×480”. Não é necessário se prender às resoluções mais usadas, você pode utilizar qualquer valor.
O cliente NX se encarrega de criar ícones no desktop para as conexões criadas, o que facilita o acesso a elas:
Entretanto, para ter acesso ao botão “Configure…”, que dá acesso ao painel de configurações, você precisa abrir a conexão usando o ícone “NX Client” no menu, ou o comando “/usr/NX/bin/nxclient -wizard”.
Ao acessar o menu de configuração, você tem acesso a um conjunto extra de opções. A primeira dica é a opção “Remember my password” na aba “General”, que permite memorizar a senha de acesso. Marcando a opção “Use custon settings” você tem acesso a um menu com opções adicionais relacionadas à compressão da imagem:
Aqui você tem a opção de ajustar o nível de compressão do JPG (os níveis mais altos são úteis em conexões via modem), usar compressão via RGB (um formato sem perda) ou desabilitar completamente a compressão usando a opção “Use plain X bitmaps”. Esta última opção consome mais banda da rede (o que não chega a ser um problema em uma rede de 100 megabits), mas em troca usa menos processamento, tanto no servidor quanto no cliente. Ela é uma boa opção para uso em rede local, onde temos bastante banda disponível.
Na aba “Advanced” temos a opção “Disable ZLIB stream compression”, mais uma opção interessante para melhorar o desempenho das conexões via rede local em clientes com pouco processamento.
A opção “Disable encryption of all trafic” faz com que o NX deixe de utilizar o SSH como meio de transporte e passe a transmitir todos os dados da conexão de forma insegura. Embora reduza o volume de processamento usado, ela não é uma boa opção, pois além de eliminar a principal vantagem do NX (a segurança das conexões) ela complica a configuração do firewall no servidor e nos clientes.
Originalmente, o NX transmite todos os dados através de túneis criados através do SSH, de forma que você precisa apenas manter a porta 22 aberta no firewall do servidor para que tudo funcione. Os clientes no precisam de portas abertas e podem inclusive acessar o servidor através de um proxy.
Entretando, ao desativar a encriptação o NX passa a utilizar o SSH apenas para fazer autenticação e estabelecer a conexão inicial, mas depois utiliza um conjunto de portas entre a 5000 e a 5200 para a transmissão dos dados. Com isso, os clientes precisam não apenas estarem diretamente conectados ao servidor, mas também ficarem com as portas de 5000 a 5200 abertas no firewall. Ou seja, é muito mais simples manter a opção desativada, deixando que o NX encripte todo o tráfego.
Logo abaixo temos as opções relacionadas aos caches, que comentei brevemente no início do tópico. Uma observação sobre o cache feito no HD (on disk) é que ele é permamente, ou seja, o espaço continuará sendo ocupado até que você use a opção “Remove all cache files”. Se você acessa servidores remotos com frequência, sobretudo se o faz através de conexões lentas, o cache em disco é bastante útil, pois reduz consideravelmente o volume de dados que precisam ser transferidos a partir da segunda conexão. Entretanto, se você acessa através da rede local, então o cache no HD só atrapalha, pois transferir os dados através da rede é mais rápido do que lê-los no HD. Nesse caso, configure-o com o valor “0”, o que desativa o recurso.
O cache na memória, por outro lado, ajuda tanto em conexões locais quanto em conexões remotas. Se seu micro tem bastante memória disponível, é interessante reservar 64 MB ou mais.
Na aba “Services” você tem a opção de ativar o compartilhamento de arquivos e impressoras entre o servidor e o cliente (Enable SMB print and file sharing), que permite que você acesse arquivos compartilhados na sua máquina de dentro da sessão remota e também imprima em impressoras compartilhadas na sua máquina. Esta opção é bastante interessante, pois permite que você trabalhe nos arquivos da sua máquina, usando os programas instalados no servidor.
Para que a opção funcione, é necessário que você crie os compartilhamentos no cliente (no caso dos clientes Linux você pode usar o Samba), mantenha o servidor Samba instalado e ativo no servidor e cadastre os compartilhamentos que serão mapeados usando o botão “Resources > Add”.
A opção “Enable CUPS printing” logo abaixo é similar, permitindo que você imprima em uma impressora instalada na sua máquina a partir do servidor, mas ela é destinada a clientes Linux usando o Cups. Concluindo, a opção “Enable multimedia support” compartilha o dispositivo de som, permitindo que os fluxos de áudio gerados dentro da sessão do NX sejam tocados nas caixas de som do seu micro. Com isso, ao ouvir um MP3 o som será transportado via rede e tocado no seu micro e não no servidor.
Continuando, além de abrir um desktop completo (como no VNC), o NX pode ser configurado para abrir um aplicativo específico. Isso é especialmente útil quando você tem clientes Windows que precisam rodar um aplicativo específico a partir de um servidor Linux. Para isso, abra a janela de configuração e, na aba “General”, selecione a opção “Desktop > Unix > Custom” e clique no botão “Settings”:
Na janela que será aberta, marque a opção “Run the following command” e especifique o comando do aplicativo que você deseja que seja executado, como, por exemplo, “firefox” ou “gimp”. Marque também a opção “Floating window” ao invés de “New virtual desktop”. Com isso, o aplicativo remoto será aberto na sua máquina como se fosse um aplicativo local, aparecendo na barra de tarefas e tudo mais.
Este recurso é especialmente interessante em clientes Windows, já que perite rodar aplicativos Linux instalados no servidor de forma transparente, lado a lado com os programas do Windows:
Um detalhe interessante é que se você abrir um terminal usando a opção “Run the console”, você poderá chamar qualquer outro aplicativo instalado no servidor a partir dele. No screenshot anterior, por exemplo, configurei o cliente NX para abrir uma janela do Konsole, que usei para abrir o Gimp, o Kopete e o Kaffeine. Como pode ver, todos estão rodando integrados ao desktop do Windows, com janelas próprias e botões na barra de tarefas.
Ao criar uma nova conexão, o cliente NX oferece a opção de criar um ícone no desktop. Ao clicar sobre o ícone criado, é aberto o aplicativo configurado, que é exibido no cliente como se fosse um aplicativo nativo, aparecendo na barra de tarefas e tudo mais. É uma boa forma de “rodar” aplicativos Linux no Windows e impressionar seus amigos, ou “quebrar o gelo” dentro de projetos de migração, implantando os aplicativos Linux que serão futuramente usados, inicialmente dentro do Windows (através do NX) e, depois, nativamente.
Deixe seu comentário