You are on page 1of 10

Controlando o PC Remotamente Com o VNC

Introdução
VNC significa Virtual Network Computing e é um programa que permite visualizar e
interagir com o desktop de um computador em qualquer parte do mundo. Muito
semelhante a programas já conhecidos como o Carbon Copy ou o PC Anywhere,
entretanto com algunas vantagens importantes:

• O VNC é completamente gratuito!


• Múltiplos usuários podem se conectar ao mesmo desktop, ideal para
treinamento (você pode dar aos alunos acesso "read only" ao seu desktop).
• Se a sua conexão cair, você não perde a sessão do VNC. Basta reconectar e as
aplicações remotas estarão exatamente do mesmo jeito que estavam antes da
conexão cair.
• O visualizador do VNC é um programa de menos de 160Kb roda em Windows,
OS/2, Linux, Unix, Amiga, Mac e até no Palm Pilot (embora eu acho que seja
necessário muita rolagem para ver o desktop de um PC na tela do Pilot...). Não
há necessidade de se instalar o visualizador, que pode ser executado
diretamente de um diskete. Na verdade você não necessita de visualizador
nenhum, qualquer browser com suporte a Java pode ser utilizado como
visualizador.
• O "servidor" do VNC hoje roda em Windows e em Unix (incluindo Linux) e está
em desenvolvimento a versão Mac. O Windows pode controlar um desktop
Linux e vice-versa, ou um Amiga pode controlar o seu Windows NT Server. O
VNC é independente de plataforma.
• O VNC utiliza TCP/IP, portanto você pode controlar outro computador via
Internet.

Nem tudo são flores, entretanto. Se você está acostumado a utilizar programas de
controle remoto para DOS e Windows, sentirá falta de alguns recursos no VNC:

• O VNC não é capaz de discar ou de aceitar conexões via modem por si só. Ele
funciona via TCP/IP exclusivamente.
• O VNC não inclui recursos de impressão ou de cópia de arquivos do micro
remoto para o micro local.

Entretanto, essas deficiências podem ser compensadas pelo próprio TCP/IP. Existem na
internet dezenas de servidores e clientes TCP/IP que podem ser utilizados para a cópia
de arquivos, ou se você estiver em Linux, OS/2 ou Windows o sistema pode ser
configurado para compartilhar arquivos pela conexão TCP/IP sem necessidade de
software extra. E os servidores PPP disponíveis no Windows NT, Windows 98 (para o
Windows 95 é necessário o Plus!), OS/2 e Linux podem permitir a máquia atender
chamadas telefônicas e ser controlada via modem.Por fim, a falta de impressão
também pode ser contornada pelos recursos de rede nativos do Windows, OS/2 e
Linux, ou configurando um servidor LPD (também existem disponíveis na Internet).
O VNC surgiu como um projeto de pesquisa da Olivetti Research Laboratories, hoje
propriedade da AT&T, cujo objetivo era criar um "terminal gráfico" de rede
extremamente leve. O endereço atual da home-page do VNC é
http://www.uk.research.att.com/vnc e neste local você encontra todas as versões do
VNC para diversas plataformas, além de documentação e informações sobre como
contribuir para o projeto.

Como funciona o VNC


O VNC utiliza dois componentes independentes, o servidor e o visualizador (cliente). O
servidor fornece o desktop ao qual os clientes podem se conectar. Portanto, o
computador a ser controlado remotamente tem que ter o VNC instalado e o servidor
deve estar executando. Já o cliente necessita somente do visualizador do VNC (VNC
Viewer) ou de um browser que suporte Java (Netscape 2.0 em diante, Internet
Explorer 3.0 ou superior, Opera 3.0 e outros).

Múltiplos clientes (visualizadores) podem se conectar ao mesmo servidor, e no


Windows isto significa que eles todos irão interagir com o mesmo desktop. Mas se o
servidor for Unix (sempre que falarmos de Unix o Linux está incluído) há a opção de se
conectar a um deskop já existente, compartilhado com outros usuários, ou de se
conectar a um desktop exclusivo. Como o Unix é um sistema multiusuário podem
haver vários desktops independentes sendo utilizados ao mesmo tempo por diferentes
usuários. Já o Windows, mesmo o NT Server, é monousuário, e pode ter somente um
único desktop ativo em um dado momento.

Note que neste ponto o VNC é diferente de produtos como o WinFrame da Citrix ou o
Windows NT Terminal Server Edition, que teoricamente permitem a existência de
diversos desktops simultâneos em um NT Server. Estes produtos modificam o kernel do
NT na tentativa de torna-lo um sistema multiusuário, mas o resultado é instabilidade e
incompatibilidade com diversas aplicações. Ocasionalmente você pode corromper o
Registry do NT com um produto desses.

Por outro lado, o VNC permite que você administre remotamente um servidor NT sem
necessidade de estar fisicamente presente. Se o servidor do VNC estiver rodando como
um serviço, você pode assumir a tela de logon do console do servidor NT, realizar
qualquer tarefa necessária, e depois dar um logoff. Desta forma o seu servidor pode
ficar isolado em uma sala trancada, ou em uma bancada ou rack de servidores sem
necessidade de um monitor SVGA e de um mouse.

Instalando o VNC
É muito fácil instalar o VNC: basta baixar a versão Windows na home-page do VNC,
que vem em formato ZIP. Descompacte o arquivo em um diretório temporário e
execute o programa SETUP.EXE presente neste diretório. Após as perguntas
tradicionais sobre nome do diretório e nome da pasta no menu iniciar, o VNC estará
pronto para uso. Na primeira vez que você executar o WinVNC deverá aparecer uma
janela como esta:

Figura 1: Opções do servidor do VNC.

Você não poderá executar o servidor sem que seja fornecida uma senha para os
clientes se conectarem. A senha será gravada em um arquivo de configuração do
WinVNC e das próximas vezes o servidor VNC será iniciado sem exibir a janela de
opções. Entretanto, você pode abrir esta janela a qualquer momento pelo menu iniciar
(Figura 2) ou pelo ícone do VNC no System Tray do Windows (Figura 3).

A maioria das opções nesta janela se referem a otimizações de baixo nível ou para
resolver problemas com aplicações mal-comportadas, em geral aplicações DOS. Na
grande maioria das situações você irá modificar somente a opção Disable remote
keyboard and pointer. que permite aos clientes visualizarem tudo o que acontece no
desktop do servidor mas ignora toda a entrada via teclado ou mouse dos clientes.

clique para ampliar


Figura 2: Pasta do VNC no Menu Iniciar do Windows.
Figura 3: Ícone do VNC no System Tray do Windows. Os ícones presentes na figura
são, da esquerda para a direita, o Personal Web Server da Microsoft, o 20/20 (editor
de imagens freeware, utilizado para as capturas de telas deste artigo) e o WinVNC, que
é o servidor do VNC.

Depois que tudo estiver ok com o VNC, você irá desejar executa-lo como um serviço de
modo que o servidor esteja sempre disponível para conexões remotas. Instruções
passo a passo para esta configuração podem ser obtidas no site do VNC em
http://www.uk.research.att.com/vnc/winvnc.html.

Basicamente, para rodar o VNC com um serviço no Windows NT basta rodar o WinVNC
com a opção -install. Você pode então Selecionar a opção Executar... do Menu Iniciar
do Windwos NT e digitar o comando: winvnc -install.

O serviço estará instalado, mas não iniciado. Para inicia-lo basta selecionar o serviço
no ícone de Serviços do Painel de Controle e clicar no botão Iniciar.

No Windows 95/98, basta criar um atalho para o WinVNC.exe na pasta Iniciar.

Conectando a um desktop remoto


Estando o servidor do VNC rodando no PC que você deseja controlar remotamente, e
havendo uma conexão TCP/IP entre você e ele, iniciar a sessão de controle remoto é
muito fácil. Basta rodar o arquivo VNCVIEWER.EXE (ou executar o atalho
correspondente no menu do VNC, se você também tem o servidor instalado na
máquina cliente). O cliente do VNC irá iniciar exibindo a seguinte janela (Figura 4):

Figura 4: Janela de Conexão do cliente (ou visualizador) do VNC.

Você deverá fornecer o nome ou o endereço IP do computador a ser controlado,


seguindo por um sinal de dois pontos e pelo número zero. Se você estiver se
conectando a um servidor VNC em Unix, o número indica qual dos desktops (no Unix é
utilizado o termo display) será utilizado, mas em servidores Windows temos um único
desktop que é o número zero.

O visualizador do VNC irá requisitar a senha do desktop que será acessado (Figura 5) e
então ele estará disponível para uso, como mostra a Figura 6.
Figura 5: Visualizador do VNC aguardando pela senha do desktop remoto.

clique para ampliar.


Figura 6: Desktop remoto sendo controlado pelo cliente do VNC.

Na Figura 5 o desktop remoto estava configurado para uma resolução menor do que o
PC onde rodava o visualizador, entretanto isto não é necessário. Caso o desktop
remoto tenha resolução maior do que o PC local (que roda o visualizador) aparecerão
barras de rolagem na janela do VNC. Também é possível colocar o visualizador em
modo full screen através da janela de opções do cliente (Figura 7), para permitir uma
melhor visualização do desktop remoto.

clique para ampliar


Figura 7: Janela de opções do visualizador do VNC.

A janela de opções do cliente (Figura 7) pode ser acessada pelo botão Options... na
janela de conexão ou pelo menu de sistema no canto superior esquedo da janela do
visualizador. O menu de sistema também pode ser acessado pela barra de tarefas do
Windows.
Se o visualizador estiver em modo full screen, Você deve teclar [Ctrl] + [Esc] para
exibir a barra de tarefas, e com a barra de tarefas visível você deve clicar em um
espaço vazio da barra de tarefas para que ela receba o foco, caso contrário o VNC
Viewer em full screen não permitirá que a barra de tarefas receba o click do botão
direito do mouse e você não poderá acessar o menu de sistema das janelas. A Figura 8
mostra o menu de sistema do visualizador do VNC, com a opção full screen
selecionada.

Figura 8: Menu de sistema do visualizador do VNC.

Dentre as opções do cliente, as únicas que você vai querer modificar em situações
normais são Emulate 3 buttons (necessária caso o desktop remoto esteja seja Unix) e
Request shared session (para compartilhar um desktop com outros clientes). Se esta
opção não estiver ligada e você se conectar a um desktop Windows que já esteja
sendo acessado por outro cliente, ele será desconectado sem dó nem piedade.

É possível criar vários atalhos pré-configurados no Windows para chamar o VNC viewer
com as opções desjeadas. Basta criar um atalho para o VNCVIEWER.EXE e nas
propriedades do atalho inserir como "alvo" as opções desejadas, por exemplo:
C:utilvncviewer.exe -shared -viewonly -fullscreen sun:2.

Estas opções se conectam a um desktop compartilhado em sun:2 (segundo desktop


remoto de um host Unix; o zero é o monitor da estação e não pode ser acessado via
VNC, ao contrário do que ocorre no servidor Windows) apenas para visualização. Este
seria um atalho para uso em sala de aula ou em uma demonstração de produto.

Controlando remotamente um PC via browser


Com a mesma facilidade podemos controlar um PC utilizando apenas um browser web,
e o que é surpreendente, com praticamente a mesma velocidade do visualizador
Windows nativo. Basta passar para o browser a URL contendo o nome ou o endereço
IP do PC a ser controlado e indicar como número de porta o número 5800 + o número
do desktop a ser conectado. Por exemplo, para se conectar o primeiro e único desktop
do PC cujo nome é NT_1 a URL seria: http:NT_1:5800 .

Ou para se conectar ao segundo desktop do servidor Unix cujo endereço IP é


172.16.2.30 a URL seria: http:172.16.2.30:5802.

O resultado é uma página HTML contendo somente um Applet Java, como mostra a
Figura 9:

clique para ampliar


Figura 9: Conecando-se a um PC utilizando o Netscape Communicator.

Você pode então digitar a senha do desktop remoto, ou clicar no botão Options para
ver a janela de opções do applet (Figura 10).

Figura 10: Janela de opções do visualizador do VNC dentro do Netscape


Communicator.

O desktop remoto aparece dentro do applet, como mostra a Figura 11:


clique para ampliar
Figura 11: Desktop remoto via Netscape Communicator.

Observe na Figura 11 a URL digitada. Desta vez eu escolhi propositadamente um PC


com resolução maior do que do meu PC, só para demonstrar que isso não é problema
para o VNC.

Considerações finais
Muitas vezes você não sabe o endereço IP do desktop ao qual você deseja se conectar,
principalmente se ele será utilizado via Internet. A maneira mais fácil de descobrir o IP
é, no PC remoto, abrir uma janela do MS-DOS e executar o programa winipcfg
(Windows 95/98) ou ipconfig (Windows NT).

O WinVNC não prevê criptografia por si só. Isto significa que a senha de conexão ou as
telas podem ser alvo de "escuta" pela Internet. Entretanto o VNC pode ser utilizado via
SSH (em Unix, pelo menos) ou via algum software de VPN. O RAS do Windows NT
Server é capaz de estabelecer conexões de VPN. Tanto o SSH quanto o VPN fornecem
conexões seguras, criptografadas.

Várias vezes neste artigo falamos da possibilidade de utilizar o VNC também com Unix
e outras plataformas, entretanto demonstramos somente a instalação e a configuração
do programa somente em plataforma Windows. Não existe grande diferença na
utilização do VNC em Unix ou outras plataformas, e só para dar um "gostinho" da coisa
a Figura 12 nmostra o desktop de um servidor Sun SPARC rodando Solaris 2.5 (O Unix
da Sun), e a Figura 13 mostra o desktop de um Red Hat Linux 5.2 sendo controlado
pelo visualizador do VNC rodando em Windows (o oposto também funciona!).
clique para ampliar
Figura 12: Desktop de um serividor RISC da Sun.

clique para ampliar


Figura 13: Desktop padrão do Red Hat Linux 5.2 via VNC.

Os "pontilhados" nas figs. 12 e 13 acontecem porque o palete padrão do Netscape e do


Explorer para imagens GIF não contém algumas das cores utilizadas pelo Solaris e pelo
Linux..

Se você achou o Red Hat muito parecido com o Windows 95, é proposital: o Red Hat
Linux procura fornecer uma interface semelhante ao Windows para facilitar o usuário
que está iniciando em Linux. Existem outras opções de desktop para o Linux como o
KDE e o Gnome, que tem visual completamente diferente.

Se você for instalar o VNC no Red Hat Linux uma supresa lhe aguarda: o script padrão
de inicialização do servidor (vncserver) tem que ser editado para funcionar
corretamente no Linux. Clique aqui para baixar o arquivo vncserver.rhl que contém as
alterações necessárias para o Red Hat Linux 5 e 6. (Dica: clique com o botão direito do
mouse sobre o link acima e escolha a opção "salvar como" ou similar).

VNC e Internet Banda Larga (ADSL, Cable, etc)


Configurei o VNC na rede local e funcionou perfeitamente, mas não funciona
via Internet. Tenho uma conexão ADSL (Velox, Speedy) ou Cable Modem.

A maioria dos serviços de acesso a Internet de banda disponíveis fornecem apenas


endereços IP privativos, que não podem ser endereçados pela Internet, por isso não é
possível a conexão ao VNC, pois não há como endereçar o servidor.

Alguns modems ADSL e cable modens possuem o recurso de redirecionamento de


portas (que pode ser definido como um NAT invertido). Com este recurso seria possível
a conexão ao um VNC na rede interna com IP privativo, pois seria utilizado o endereço
IP válido para a Internet do modem.

Entretanto, em alguns provedores o modem também utiliza um IP privativo, e o NAT é


feito nas instalações do provedor e não pelo modem. Neste caso, não há como fazer a
conexão ao VNC, a solução seria mudar para outro plano de acesso, que foneça um IP
válido.

Muitos leitores se esquecem de tentar fazer um "ping" do micro com o VNCviewer para
o VNCserver. Se o ping não funcionar, não existe conectividade de rede, portanto não
há como fazer a conexão VNC.

O VNC não é diferente, para a rede, de um servidor web ou de e-mail. E a maioria dos
provedores tem contratos diferenciados para empresas que pretendem hospedar
servidores internet utilizando o link de banda larga.

You might also like