Usando o VNCserver

O VNC permite acessar remotamente uma máquina rodando o Windows, Linux, MacOS ou praticamente qualquer outro sistema a partir de outro PC, ou até mesmo de um palmtop. Ele é uma ferramenta essencial que ajuda a resolver a falta de conectividade entre os vários sistemas operacionais que temos em uso.

Um dos problemas mais comuns, que qualquer um se depara ao tentar ajudar um cliente, ou amigo pelo telefone, a resolver problemas do tipo “meu PC está travando”, é que nem sempre o usuário saberá lhe dizer exatamente o que está se passando. Frases do tipo “apareceu uma janelinha piscando” nem sempre ajudam muito :-). Outro caso comum é alguém que trabalha em trânsito, ou viaja muito, e precisa acessar arquivos ou programas que estão no PC de casa.

O VNC é até semelhante a programas como o PC Anyware, mas traz a vantagem de ser aberto e gratuito. Além disso, ele é bem simples de usar e tem versões para Linux, Windows, Solaris, BeOS, Amiga e até mesmo para palmtops Pocket PC ou Palm. Ele pode ser usado tanto para acessar PCs ligados em uma rede local, quanto via internet.

O VNC se divide em dois módulos: o módulo servidor e o módulo cliente. O módulo servidor deve ser instalado no micro que ficará acessível, bastando usar o módulo cliente para acessá-lo de qualquer outro. O mais interessante é que os módulos são intercompatíveis, ou seja, você pode acessar uma máquina rodando Linux a partir de outra que roda Windows, ou mesmo acessar ambas a partir de um Pocket PC com rede wireless.

O programa exibe uma janela com o mesmo conteúdo da área de trabalho do micro que está sendo acessado, permitindo que você o utilize como se estivesse de frente para ele. Isso é perfeito para quem trabalha com suporte, pois basta pedir para o usuário abrir o programa ao invés de ficar perguntando pelo telefone, o que torna o atendimento bem mais rápido.

O servidor VNC pode ser encontrado na maior parte das distribuições na forma do pacote “vncserver” ou “tightvncserver“. Você pode também baixar o pacote disponível no http://www.tightvnc.com/download.html que, embora antigo e compilado para o Red Hat 7, ainda funciona na maioria das distribuições.

Para abrir o servidor VNC, basta usar (como usuário, não como root) o comando:

$ vncserver
(ou tightvncserver)

Da primeira vez que é executado, ele pede para definir uma senha de acesso, que deve ser fornecida pelos clientes. O VNCserver abre uma sessão separada do servidor X, independente da tela :0 que você vê no monitor. Isso permite que outras pessoas acessem o mesmo PC ou servidor sem atrapalhar quem está trabalhando nele.

O servidor VNC abre o desktop do usuário que o chamou, com as mesmas permissões de acesso. Justamente por isso, você nunca deve abri-lo como root, salvo tarefas de manutenção em que isso seja realmente necessário. Ao dar acesso à sua máquina para outra pessoa, o ideal é criar um novo usuário e usá-lo para abrir o VNC. Assim, você não corre o risco do seu amigo sair deletando seus arquivos e alterando suas configurações.

É possível abrir várias sessões independentes executando o comando VNCserver várias vezes. As sessões do VNC são numeradas de :1 em diante. Cada vez que o comando VNCserver é executado, você recebe uma mensagem avisando sobre o número da sessão aberta:

New ‘X’ desktop is kurumin:1
Starting applications specified in /home/kurumin/.vnc/xstartup
Log file is /home/kurumin/.vnc/kurumin:1.log

Para acessar a partir de outra máquina Linux, use o comando:

$ vncviewer 192.168.0.1:1

… onde o “192.168.0.1” é o IP da máquina que está sendo acessada e o “:1” é o número da sessão. Você pode utilizar também o krdc (Conexões com Ambiente de Trabalho Remoto), um aplicativo que faz parte do KDE. Ele pode ser utilizado tanto como cliente do VNC, quanto fazer par com o krfb, que permite compartilhar a área de trabalho (a tela :0, local) através de uma sessão do VNC, uma possibilidade interessante para fins de suporte.

O VNCserver do Debian vem configurado para abrir uma tela de 1024×768 com 8 bits de cor (no Kurumin o padrão é 1012×704 com 16 bits de cor, para ocupar quase toda a tela, mas sem cobrir a barra de tarefas do KDE ou do Windows). Para alterar a configuração padrão, abra o arquivo “/etc/vnc.conf” e procure pelas linhas:

$geometry =”1012×704″;
$depth = “16”;

Você pode alterá-las para o valor desejado. O VNC pode ser aberto em qualquer resolução (como os 1012×704 do Kurumin), não é necessário usar uma das resoluções padrão. Uma opção para abrir diversas sessões do VNC, com resoluções diferentes, é usar o comando VNCserver com os parâmetros “-depth” e “-geometry“, como em:

$ vncserver -depth 16 -geometry 800×600

Em geral, o VNCserver vem configurado nas distribuições para usar o KDE ou Gnome como gerenciador de janelas padrão nas sessões abertas. Dependendo da versão do VNC, você pode alterar esta configuração dentro do arquivo “.xsession” ou “.vnc/xstartup“, dentro do diretório home. Substitua o “startkde” ou “gnome-desktop” pelo comando que inicializa o gerenciador de janelas desejado, como, por exemplo, “wmaker” ou “fluxbox”.

Uma vez abertas, as sessões do VNC ficam abertas até que o servidor seja reiniciado. Isso é bom em muitas situações, pois você pode se conectar a partir de diferentes micros da rede e sempre continuar exatamente de onde parou, sem precisar ficar abrindo e fechando a sessão. Mas, por outro lado, isso é ruim, pois sempre acabam sobrando sessões “esquecidas”. Para fechar as sessões, use a opção “-kill”, seguida pelo número da sessão, como em:

$ vncserver -kill :1

Outra possibilidade interessante é acessar o cliente usando um browser com suporte a Java. O VNC inclui um mini-servidor http, que permite que as sessões compartilhadas sejam acessadas a partir de qualquer navegador com o suporte a Java instalado. Na maioria das distribuições, o módulo vem incluído no pacote do VNC ou TightVNC, enquanto em outras é necessário instalar o pacote “vnc-java”. Com o módulo instalado, não é necessário fazer nenhuma configuração adicional para ativá-lo; ele fica automaticamente disponível sempre que uma sessão do VNC for aberta.

No cliente, basta abrir o navegador e acessar o endereço “http://192.168.0.1:5801“, onde o “192.168.0.1” é o IP do servidor e o “5801” indica o número da sessão. A sessão :1 é acessada pela porta 5801, a sessão :2 pela 5802, e assim por diante. No VNC Server for Windows, onde é compartilhada a tela local, acesse a porta 5800.

O applet Java é uma versão simplificada do cliente VNC e pode ser acessado tanto a partir do Firefox e IE, quanto a partir de outros navegadores com suporte a Java. Ele é uma opção útil em máquinas onde o cliente VNC não esteja instalado, mas tem a desvantagem de ser perceptivelmente mais lento.

Note que a porta usada pelo Applet Java (5800 + o número de tela) é diferente da porta usada pelo servidor VNC propriamente dito (acessado pelo cliente VNC), que precisa ser aberta no firewall do servidor. O servidor regular utiliza a porta 5900 em diante: 5901 para a sessão :1, 5902 para a sessão :2, e assim por diante.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X