Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Aprenda inglês de uma vez por todas

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

x2vnc - Dois PCs, um único teclado e mouse

Colaboração: Carlos E. Morimoto

Data de Publicação: 25 de Junho de 2005

O uso de dois monitores é um recurso já bastante conhecido e cada vez mais popular. É possível também usar um segundo micro remotamente, usando o VNC, SSH ou mesmo se conectando a ele via XDMCP, o protocolo de compartilhamento nativo do X.

Que tal então juntar as duas coisas? Ter ao mesmo tempo dois PCs, com a possibilidade de rodar dois sistemas operacionais diferentes e, ao mesmo tempo, toda a praticidade de um sistema dual monitor, onde basta arrastar o mouse para o canto da tela para que o cursor e o teclado passem a atuar sobre o monitor do segundo micro?

Você pode ter dois PCs rodando Linux, dois PCs com o Windows ou ainda um PC com o Linux com um Mac ao lado. É possível ainda ter três ou até quatro PCs, para literalmente ser "envolvido" pelos monitores :-)

Muita gente usa o VMWare ou o Win4lin para rodar dois sistemas operacionais ao mesmo tempo, mesmo que sacrificando parte do desempenho. Este recurso é um passo adiante por permite ter ao mesmo tempo dois sistemas operacionais completos, sem nenhum tipo de limitação e ao mesmo tempo um aumento de desempenho, já que cada um tem seu próprio PC e você pode distribuir seus aplicativos entre eles.

Gnu Linux + Windows

O primeiro passo é ligar os dois PCs em rede e colocar seus monitores lado a lado. Vamos começar pelo uso mais comum, que é ter um PC com o Linux como principal e um PC com o Windows (ou Mac) como secundário.

O primeiro passo é instalar o servidor VNC no PC com o Windows (ou Mac). Tanto faz utilizar o VNC original, quanto o Tight VNC. Não é preciso fazer nenhuma configuração, apenas manter o servidor ativo.

Você pode baixar o VNC para Windows no: http://www.tightvnc.com/

Esta versão é bem simples de usar. Depois de instalar o programa é criada uma seção dentro do iniciar, com ícones para ativar o servidor ou abrir o cliente VNC. Ao ativar o servidor ele fica residente na forma de um ícone ao lado do relógio. Você é obrigado a definir uma senha de acesso para evitar acessos não autorizados.

Neste caso o VNC não servirá para permitir o acesso remoto, mas sim como uma ponte para que o cursor do mouse chegue à segunda máquina.

Chegamos então à parte B, que é a configuração da máquina Linux, que será usada como PC primário. Tudo o que você precisa fazer é instalar um pequeno programa, o x2vnc, que cuida da parte pesada. Você pode baixa-lo no:

http://fredrik.hubbe.net/x2vnc.html

O programa tem apenas 56 kb, só mais um exemplo de que tamanho não é documento :-). Para instala-lo use os comandos:

  $ tar -zxvf x2vnc-1.4.tar.gz (descompacta o pacote)
  $ cd x2vnc-1.4.tar.gz (acessa o diretório criado)
  $ ./configure (roda o script de configuração)
  $ make (gere o executável)
  $ su <senha> (para virar root)
  # mkdir /usr/local/man/man1/
  # make install (finalmente instala o programa)

Algumas distribuições já incluem este pacote. No Debian por exemplo você pode instala-lo com um: "apt-get install x2vnc"

Feito isso basta acessar (a partir do micro Linux) o servidor VNC ativo na máquina Windows, usando o comando:

  $ x2vnc 192.168.0.3:0

Substituindo naturalmente o 192.168.0.3 pelo endereço IP correto. O ":0" indica que o programa acessará a tela principal do VNC, que é justamente o que queremos.

Pronto, estabelecida a conexão, basta levar o cursor do mouse até o canto direito da tela e ele automaticamente passa para a tela do micro Windows, e levando-o de volta para a esquerda ele volta ao micro Linux. Naturalmente, o teclado acompanha o rastro do mouse, atuando sobre o PC onde estiver o mouse. É exatamente como ter um PC com dois monitores, mas desta vez com dois PCs.

O que o x2vnc faz é criar uma janela invisível, com um único pixel de largura, posicionada no canto esquerdo da tela. Esta janela captura o rastro do mouse, enviando-o para o servidor VNC ativo no segundo micro que se encarrega de controlar o rastro do mouse na máquina Windows.

Se por acaso o segundo monitor for colocado à esquerda do primeiro, basta incluir a opção "-west" no comando e o mouse mudará de PC ao ser levado para o canto esquerdo da tela:

  $ x2vnc -west 192.168.0.3:0

Você pode usar também as opções "-north" e "-south" que capturam o cursor respectivamente no canto superior e inferior da tela. Não é necessário que os dois PCs usem a mesma resolução de tela. Você pode ter um usando 1024x768 e outro usando 800x600, por exemplo, sem problemas. Até a rodinha do mouse funciona normalmente.

Já que você controlará o PC Windows através da outra máquina, não há necessidade de manter nem teclado nem mouse instalados. No caso do teclado basta configurar a opção "halt on" do setup com a opção "no errors" e o BIOS deixará de exibir a mensagem de falta do teclado. No caso do mouse existe um pequeno problema no Windows 2000 e XP que faz com que a seta do mouse suma caso não haja um mouse instalado na máquina. O cursor funciona normalmente, mas sem a setinha fica difícil de controlá-lo. Nestes casos você precisa manter um mouse baratinho qualquer conectado para evitar o problema.

Mais alguns parâmetros que podem ser incluídos no comando são:

-shared : permite que o mesmo PC secundário seja usado por mais de um PC. Serviria por exemplo para ter dois PCs, cada um com o seu operador e um terceiro PC entre os dois para uso comum. Lembre-se também que o servidor VNC na máquina Windows também pode aceitar conexões remotas, exibindo a mesma tela. Isto pode ser usado com uma ferramenta de trabalho em grupo.

-hotkey : se você acha incômodo o mouse ir sozinho para o outro monitor ao chegar ao canto da tela, você pode ativar um atalho de teclado para fazer a mudança. O default é ctrl+F12, mas você pode criar um atalho personalizado, incluindo as teclas desejadas no comando, como em: "-hotkey shift-ctrl-F1".

-scrolllines : serve para ajustar a sensibilidade da roda do mouse. A opção "-scrolllines 5" faz com que a tela role 5 linhas a cada passo e assim por diante.

A partir destas opções, você pode criar um comando personalizado que se ajuste melhor às suas necessidades. Pode ser por exemplo:

  $ x2vnc -west scrolllines 5 shared 192.168.0.3:0

Infelizmente, você precisa repetir o comando a cada vez que reiniciar os PCs, mas você pode criar um atalho para facilitar as coisas. No KDE clique sobre a barra de tarefas e em "Adicionar > Botão especial > Aplicação Não-KDE". Na linha do comando escreva "/usr/local/bin/x2vnc". Na tela de configuração do atalho Marque a opção "roda no terminal" e escreva o restante do comando, incluindo as opções e o endereço da máquina que será contactada. Aproveite para escolher um ícone.

Agora ao clicar sobre o atalho abre-se uma janela de terminal com o comando e você precisa apenas digitar sua senha para se conectar ao segundo micro.

Um aviso importante é que as últimas versões, a partir do 1.4.1, incorporaram alguns recursos que a tornaram incompatíveis com algumas distribuições Linux e algumas combinações de servidores X e versões do Kernel. Se ao tentar ativar o x2vnc você receber uma mensagem de erro qualquer, não esquente a cabeça. Simplesmente baixe a versão 1.3.1 (ou outra anterior) e tente novamente. Por mais azarado que você possa ser, pode ter certeza que uma das versões disponíveis na página irá funcionar com você :-)

Apesar da idéia soar um pouco estranha para muitos, o funcionamento do programa é quase perfeito. A sensibilidade do mouse fica praticamente inalterada e a velocidade em ambos os micros não é prejudicada.

O único grande problema é que a acentuação só funciona no segundo micro caso você esteja utilizando um teclado US Internacional. Ao utilizar um teclado ABNT2 a acentuação não funciona no segundo micro. Isto já foi incluído na lista de bugs em aberto e deve ser corrigido nas próximas versões.

Gnu Linux + Linux

Vamos então à segunda possibilidade, que é ter lado a lado duas máquinas Linux. Neste caso a única mudança é que ao invés de instalar o VNC Server na máquina secundária, você usará o o krfb (Compartilhamento do Desktop), um programa do pacote KDE originalmente destinado a permitir que o desktop principal seja acessado remotamente, seja para usar seu micro a distância, seja para dar suporte remoto.

Este programa faz parte do pacote kdenetwork, que você pode instalar com o comando "urpmi kdenetwork" (no Mandrake), "apt-get install kdenetwork" (Debian e Conectiva), etc. O Kurumin já vem com ele funcionando direto do CD

Este programa emula a funcionalidade do compartilhamento de desktop do Windows XP, permitindo que outra pessoa se conecte na sua máquina e veja o seu desktop usando um cliente VNC. A única diferença entre o vncserver for Linux e o krfb é que ele compartilha a tela :0, a que você está vendo no monitor ao invés de criar uma seção do X separada.

Basta abrir o programa e clicar no "Criar Convite pessoal". Ele abrirá uma tela dando o IP da máquina (do servidor), que o cliente usará para se conectar e uma senha:

Feito isso você já poderá se conectar usando o x2vnc normalmente, da mesma forma que faria ao usar uma segunda máquina com o Windows.

O problema desta configuração default do krfb é que é utilizada uma configuração "segura" e por isso os convites são válidos por apenas uma hora. Não seria muito prático ficar reconectando o x2vnc oito vezes por dia, mas existe uma solução fácil para isso.

Na tela principal do programa, clique no "Configurar". Na tela seguinte, marque as opções "Permite conexões sem convite" e "Permite conexões sem convite para controlar o ambiente de trabalho". Defina uma senha de acesso.

Mesmo configurado desta maneira, o krfb ainda é seguro, pois além da senha de acesso, toda vez que alguém tenta se conectar à sua máquina, ele exibe um aviso, informando o IP da máquina e pedindo sua confirmação.

Para poder se conectar remotamente, é preciso manter o krfb aberto na segunda máquina. Se você quiser que ele seja ativado automaticamente durante o boot, basta arrastar o ícone para dentro da pasta .kde/Autostart dentro do seu diretório home.

Versões antigas do krfb, até o KDE 3.1 ainda não possuíam esta opção. Nelas era preciso fazer uma pequena adaptação para que não fosse necessário ficar gerando convites e os renovando toda hora:

Crie um convite e estabeleça a conexão normalmente. Depois, acesse a pasta ".kde/share/config/" (dentro do home do usuário que estiver utilizando) e abra o arquivo krfbrc.

Aqui ficam a configuração dos convites, incluindo a data de duração em texto puro. Apenas a senha está encriptada e por isso não pode ser alterada:

  [invitations]
  creation0=2005,4,19,12,12,41
  expiration0=2005,4,19,13,12,41
  invitation_num=0
  password0=ï¿ï¿¦ï¾µï¿²ï¾¥ï¿ï¾²

Tudo o que você precisa fazer é alterar o campo "expiration" que indica quando o convite expira. Se você alterar o ano, de 2005 para 2006 por exemplo, o convite poderá ser usado por um bom tempo :-) A única limitação é que o convite é eliminado quando o micro é desligado, por isso você ainda terá o trabalho de abrir o krfb uma vez por dia, a menos que deixe seus micros sempre ligados.

Windows + Windows

Finalmente, caso você queira utilizar duas máquinas Windows, precisará utilizar o Win2VNC. Este programa tem exatamente a mesma função do x2vnc, com a diferença que roda sobre o Windows. Você só precisa instala-lo no PC Windows primário e usá-lo para acessar o VNC Server no PC Windows secundário. Você pode baixa-lo em:

http://fredrik.hubbe.net/win2vnc.html

Windows + Linux

A última possibilidade seria ter um PC Windows como primário e um PC Linux como secundário. Neste caso você utilizaria o Win2VNC no PC primário, com o Windows e o krfb no PC secundário com o Linux.


Gostou da dica? Veja a agenda de cursos presenciais com Carlos E. Morimoto em Porto Alegre e São Paulo

  • Curso: Redes e Servidores Linux (com Carlos E. Morimoto) Em Porto Alegre, início dia 04/07

  • Curso: Programando em Shell Script (com Júlio Cezar Neves) Em Porto Alegre, início dia 11/07

Veja a relação completa dos artigos de Carlos E. Morimoto

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.96/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1813 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

SEM e SEO - 2ª Edição