Assine a Lista Dicas-L
Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.
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.
Veja a relação completa dos artigos de Carlos E. Morimoto
Referências Adicionais
Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.
Avalie esta dica
Opinião dos Leitores
16 Nov 2007, 19:15
Nota Dez pela dica
18 Jun 2007, 11:10












