Os desktops remotos não apenas permitem que você acesse sua antiga máquina conhecida em qualquer lugar da Internet, mas também permitem que você crie um ambiente multi-desktop e multiusuário a partir de uma única máquina que não precisa nem mesmo de uma tela..

Esta é uma ótima solução em netbooks, por exemplo, onde você pode ocasionalmente precisar da potência extra de um PC completo. Basta conectar-se ao servidor a partir do seu desktop netbook e você tem uma área de trabalho completa em cima de um pequeno.

1. VNC

Existem várias maneiras de executar um desktop remoto a partir do Linux. O próprio servidor X foi projetado para ser executado remotamente, e você ainda pode encaminhar janelas de um servidor local para um remoto com relativa facilidade, especialmente se você usar o SSH.

Mas o protocolo X é ineficiente e só é rápido o suficiente para uso geral se você estiver conectado à mesma rede que o servidor.

Uma alternativa muito melhor é o FreeNX. Isso quebra a janela e o movimento do cursor em uma série de comandos que podem ser transferidos com muito mais eficiência do que o X, e a área de trabalho remota é muito mais responsiva como resultado.

Mas há um problema com o FreeNX: pode ser complicado instalar, e parece haver um método diferente para cada distribuição que analisamos. O dia que o FreeNX se torna fácil de instalar é o dia em que escreveremos instruções sobre como fazê-lo funcionar. Isso nos deixa com VNC.

O VNC envia trechos de dados de imagem compactados em vez de interpretar quaisquer roteiros de desenho e, como resultado, fica a meio caminho entre o servidor X e o FreeNX para eficiência. Mas tem uma grande vantagem, e isso é que você pode encontrar clientes VNC em todos os lugares.

Muitos telefones celulares, PDAs e netbooks terão um cliente VNC disponível, e tanto o Windows quanto o OS X terão aplicativos clientes gratuitos e pagos que podem se conectar ao VNC em execução na sua caixa do Linux. Do ponto de vista do Linux, o KDE e o Gnome têm suporte integrado para conexão com servidores VNC.

2. Executando o servidor

Existem várias variações do VNC, mas o nosso favorito é chamado TightVNC, que inclui algumas melhorias de desempenho em relação ao protocolo VNC original..

No seu servidor, você deve conseguir instalar o pacote tightvncserver a partir do gerenciador de pacotes.

Para iniciar uma sessão VNC, você precisa abrir uma linha de comando e digitar vncserver: 1. Isto irá lançar um novo servidor que será anexado ao segundo (: 1) console gráfico na máquina.

O primeiro seria : 0, mas esta será a exibição atual nessa máquina, a menos que esteja sendo executada no modo de console puro. Qualquer outra máquina em execução na rede local poderá se conectar ao servidor VNC usando o endereço IP do servidor seguido por : 5901.

Como o VNC usa apenas uma porta (5901), você pode tunelar essa porta facilmente para uma conexão remota através do SSH.

Esta é uma ótima solução se você quiser acessar sua caixa Linux do nada, pois isso significa que você só precisa deixar a porta SSH relativamente segura aberta (porta 22), com apenas o servidor SSH voltado para a Internet. O servidor VNC é guardado com segurança por trás do firewall.

Um túnel SSH é um pouco como um buraco de minhoca. Ele pega os dados da porta 5901 no servidor, por exemplo, encapsula isso através da conexão de dados SSH padrão na porta 22 e reconstitui os dados no cliente na porta local 5901.

Tudo o que você precisa fazer é usar um cliente VNC para se conectar ao host local: 5901 em vez do endereço IP remoto.