De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


KVM via software com o Synergy

Colaboração: Carlos E. Morimoto

Data de Publicação: 13 de Dezembro de 2005

Aproveitando a dica do César B. Silveira publicada aqui no Dicas-L a poucos dias, escrevi este artigo, dando mais detalhes sobre a configuração do Synergy e do Quicksynergy, além de apresentar o Kurumin-Synergy, uma interface que desenvolvi usando o Kommander, que pode ser instalada de forma mais simples.

Um KVM é um adaptador que permite ligar dois ou mais micros no mesmo teclado, mouse e monitor. Você pode chavear entre eles pressionando uma combinação de teclas, como "Scroll Lock, Scroll Lock, seta pra cima", o que passa não apenas o controle do mouse e teclado, mas troca também a imagem mostrada no monitor.

O Synergy permite fazer algo semelhante via software, "anexando" telas de outros micros, de forma a usar todos simultaneamente, com um único teclado e mouse. Imagine que você tem um desktop e um notebook, onde o notebook fica na mesa bem ao do monitor do desktop e você precisa se contorcer todo quando precisa fazer alguma coisa no notebook.

Usando o Synergy você pode anexar a tela do notebook ao seu desktop, fazendo com que ao mover o mouse para a direita (ou esquerda, de acordo com a configuração) ele mude automaticamente para a tela do notebook. Junto com o mouse, muda o foco do teclado e até mesmo a área de transferência é unificada, permitindo que você copie texto de um micro para o outro. Tudo é feito via rede, com uma baixa utilização do processador e um excelente desempenho.

No Linux, o Synergy pode tanto ser configurado manualmente, através do arquivo ".synergy.conf" (dentro do seu diretório de usuário), ou do arquivo "/etc/synergy.conf" (que vale para todos os usuários), quanto através do Quicksynergy, um configurador gráfico. Vamos começar aprendendo como fazer a configuração manualmente.

O primeiro passo é, naturalmente, instalar o Synergy nas duas máquinas. Ele é um programa comum, incluído em muitas distribuições. Nos derivados do Debian, instale-o via apt-get:

  # apt-get install synergy

Caso você não encontre um pacote para a sua distribuição, você pode baixar um pacote .rpm genérico, ou mesmo o pacote com o código fonte no: http://synergy2.sourceforge.net/.

Imagine que você quer controlar o notebook a partir do desktop e que o desktop está à esquerda e o notebook à direita. O nome do desktop na rede é "semprao" e o nome do notebook é "kurumin", onde o endereço IP do desktop é "192.168.0.10" e o do notebook é "192.168.0.48".

  		Desktop		Notebook
  nome:		semprao		kurumin
  ip:		192.168.0.10	192.168.0.48
  posição:	à esquerda		à direita 

Estas informações precisam ser especificadas no arquivo de configuração, ".synergy.conf" ou "/etc/synergy.conf". Ele é um arquivo simples com três seções, onde são especificados os nomes das máquinas (conforme definido na configuração da rede, ou no arquivo "/etc/hostname" e "/etc/hosts"), a posição de cada uma e os respectivos endereços IP. Em caso de dúvida sobre o nome de cada máquina, cheque com o comando "hostname".

Este arquivo é criado no PC que controlará os outros, o desktop no nosso caso. No nosso exemplo o arquivo ficaria:

  section: screens
  	semprao:
  	kurumin:
  end
  section: links
  	semprao:
  		right = kurumin
  	kurumin:
  		left = semprao
  end
  section: aliases
  	kurumin:
  		192.168.0.48
  end

Note que eu usei tabs para formatar o arquivo de forma que ele ficasse mais organizado, mas elas não influenciam a configuração. Como em outros arquivos, você pode usar tabs, espaços e quebras de linha extras para formatar o arquivo da forma que quiser. Use este arquivo como exemplo, alterando apenas os nomes e endereços IP dos micros.

Na seção "screens" vão os nomes das duas máquinas, na seção "links" é especificado quem fica à direita e quem fica a esquerda. No caso estou dizendo que o kurumin está à direita do semprao e vice-versa.

Finalmente, na seção "aliases" você relaciona o nome da máquina que será acessada a seu endereço IP.

Com o arquivo criado nas duas máquinas, falta apenas efetuar a conexão. Uma particularidade do Synergy é que o micro principal (o desktop no nosso exemplo) é o servidor, enquanto o micro que vai ser controlado por ele (o notebook) é o cliente. É por isso que a configuração é feita no desktop e não no notebook.

Para ativar o "servidor" Synergy no desktop, permitindo que o notebook se conecte a ele, usamos o comando:

  $ synergys -f

Para que o notebook se conecte e seja controlado por ele, usamos o comando:

  $ synergyc -f 192.168.0.10

...onde o 192.168.0.10 é o endereço IP do desktop. Ambos os comandos devem ser sempre executados usando seu login de usuário, não como root.

Se o notebook estiver em outra posição, à esquerda, acima ou abaixo da tela principal, use os parâmetros "left =", "up =" e "down =" na configuração. É possível ainda conectar dois ou mais micros simultaneamente, especificando a posição de cada um na configuração. Se, por exemplo, além do notebook à direita, tivermos um segundo desktop chamado "fedora" com o IP "192.168.0.21" à esquerda, o arquivo de configuração ficaria:

  section: screens
  	semprao:
  	kurumin:
  	fedora:
  end
  section: links
  	semprao:
  		right = kurumin
  		left  = fedora
  	kurumin:
  		left  = semprao
  	fedora:
  		right = semprao
  end
  section: aliases
  	kurumin:
  		192.168.0.48
  	fedora:
  		192.168.0.21
  end

Ao usar um firewall no "servidor", mantenha aberta a porta "24800", usada pelo Synergy.

Se você começar a usar o Synergy regularmente, a melhor forma de simplificar o processo é criar dos ícones no desktop do KDE (um no desktop, outro no notebook), que executam os comandos para estabelescer o link. Outra opção, é colocar o ícone com o comando na pasta ".kde/Autostart" (dentro do seu diretório home) de cada um, assim o Synergy passa a ser ativado automaticamente durante o boot.

Depois de feita a conexão, experimente passear com o mouse entre os dois desktops e abrir programas. Você pode também colar texto e até mesmo imagens de um desktop para o outro, usando o Ctrl+C, Ctrl+V, ou usando o botão do meio do mouse. Para transferir arquivos, você pode usar o SSH, ou criar um compartilhamento de rede, usando o NFS ou o Samba.

Uma das vantagens do Synergy é que ele é multiplataforma. Na página de download você encontra também uma versão Windows, que pode ser usada em conjunto com a versão Linux. Você pode controlar uma máquina Windows a partir de um desktop Linux e vice-versa.

A versão Windows apresenta inclusive uma vantagem, que é o fato de ser configurada através de uma interface gráfica, ao invés do arquivo de configuração. Uma opção de interface gráfica para a versão Linux é o Quicksynergy, que você pode baixar no: http://quicksynergy.sourceforge.net/.

O principal problema com o Quicksynergy é que, apesar de ser um programa bastante simples, ele está disponível apenas em código fonte e tem uma longa lista de dependências. Isso faz com que você acabe tendo que baixar 30 MB de compiladores e bibliotecas para instalar um programa de 500 KB.

Se estiver disposto a encarar a encrenca, use o comando abaixo para baixar tudo via apt-get (debian Sid). Note que os nomes dos pacotes podem mudar sutilmente em outras distribuições:

  # apt-get install automake gcc g++ ibglade2-dev libgtk2.0-dev libgnomeui-dev 

Com as dependências satisfeitas, você pode compilar e instalar o Quicksynergy descompactando o pacote baixado, acessando a pasta criada e rodando os comandos "./configure", "make" e "make install", este último como root, como em:

  $ tar -zxvf quicksynergy_0.1.tar.gz
  $ cd quicksynergy-0.1/ 
  $ ./configure
  $ make
  $ su <senha>
  # make install 

O Quicksynergy possui duas abas, umas para fazer a configuração no servidor e outra para se conectar a ele no cliente:

Note que a aba com a configuração do servidor permite especificar apenas os nomes dos clientes, não seus endereços IP. Para que ele funcione, você deve configurar o arquivo "/etc/hosts" (no servidor), cadastrando os endereços e nomes de cada cliente. Esse arquivo possui uma sintaxe bem simples, contendo o nome e IP de cada máquina, uma por linha, como em:

  127.0.0.1 		semprao localhost
  192.168.0.48 	kurumin
  192.168.0.21	fedora

Outra opção é usar o Kurumin-Synergy, a interface que desenvolvi para uso no Kurumin. Ele é um painel desenvolvido no Kommander, por isso pode ser executado diretamente através do "kmdr-executor", sem precisar ser compilado. Ele está incluído no Kurumin, a partir do 5.1 (Iniciar > Redes e acesso remoto > Acesso Remoto) e você pode também baixá-lo no: http://www.guiadohardware.net/kurumin/painel/kurumin-synergy.kmdr

Para executar, você precisa ter o pacote "kommander" instalado. Execute-o usando o comando:

  $ kmdr-executor kurumin-synergy.kmdr

A interface é bem similar à do Quicksynergy, com uma aba para ativar o servidor e outra para conectar os clientes. As diferenças são que ele permite especificar diretamente os endereços IP dos clientes (sem precisar editar o "/etc/hosts") e que ele oferece a opção de criar um ícone no desktop, para reativar a conexão de forma rápida depois.

Lembre-se que ele é apenas a interface, de qualquer forma, você precisa ter o pacote "synergy" instalado. Ao estabelescer a conexão, é aberta uma janela de terminal, onde você pode acompanhar as mensagens. Para fechar a conexão, pressione "Ctrl+C" no terminal.

Error: No site found with the domain 's2.dicas-l.com.br' (Learn more)