Controlando o PC Remotamente Com o VNC
26/08/1999 às 2h54min por Fernando Lozano em Redes

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:.

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:

 

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.cl.cam.ac.uk/research/dtg/attarchive/vnc/index.html 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:

 Controlando o PC Remotamente Com o VNC
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.

 Controlando o PC Remotamente Com o VNC
Figura 2: Pasta do VNC no Menu Iniciar do Windows.

 Controlando o PC Remotamente Com o VNC
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):

 Controlando o PC Remotamente Com o VNC
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.

 Controlando o PC Remotamente Com o VNC
Figura 5: Visualizador do VNC aguardando pela senha do desktop remoto.

Controlando o PC Remotamente Com o VNC
.
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.

 Controlando o PC Remotamente Com o VNC
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.

 Controlando o PC Remotamente Com o VNC
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:

 Controlando o PC Remotamente Com o VNC
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).

 Controlando o PC Remotamente Com o VNC
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:

 Controlando o PC Remotamente Com o VNC
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!).

 Controlando o PC Remotamente Com o VNC
Figura 12: Desktop de um serividor RISC da Sun.

 Controlando o PC Remotamente Com o VNC
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.

 

Originalmente em http://www.clubedohardware.com.br/artigos/Controlando-o-PC-Remotamente-Com-o-VNC/885

© 1996-2013, Clube do Hardware - Todos os direitos reservados.

É expressamente proibida a reprodução total ou parcial do conteúdo e dos textos disponíveis no site principal (http://www.clubedohardware.com.br), no fórum de discussões (http://forum.clubedohardware.com.br), no boletim de notícias enviado por e-mail e em nas nossas páginas em redes sociais (Facebook, Twitter, YouTube etc.), seja através de mídia eletrônica, impressa ou qualquer outra forma de distribuição, mesmo citando a fonte e colocando link para o artigo original. Os infratores serão indiciados e punidos com base nas leis nº 9.610 de 19/02/1998 (Brasil), Digital Millenium Copyright Act (DMCA) (EUA) e diretiva 2001/29/EC (União Européia).

Não nos responsabilizamos por danos materiais e/ou morais de qualquer espécie promovidos pelo uso das informações contidas em nosso site, em nosso fórum de discussões, em nosso boletim de notícias ou em publicações feitas em redes sociais (Facebook, Twitter, YouTube etc.).

Opiniões emitidas por usuários e moderadores não necessariamente refletem a opinião do Clube do Hardware e de sua direção.

Ao acessar o nosso site ou nossa página em redes sociais, você está ciente e concorda com os termos acima.