Resumo de plano de fundo e solução
Isso é um pouco longo, mas o objetivo é educar através da seção Instruções detalhadas. Se você já é educado, basta ler esta seção e possivelmente a conclusão ;-)
Uso Synergy no Linux e Windows em suas várias formas desde os anos 90, e essa pergunta aparece com frequência. Existem duas causas comuns, e eu trato aqui apenas da primeira.
Geralmente, é um problema no nível do sistema operacional, sendo a prioridade do agendador do cliente; portanto, a solução é simplesmente aumentar a prioridade do cliente. Isso melhorará as coisas, mas a experiência geral ainda será baseada nas visões do agendador sobre a importância de atualizar a tela etc. Veja no final mais informações sobre isso.
Às vezes, há outro motivo: um ou ambos os processos do servidor ou cliente morrem e são reiniciados; nesse caso, você deve ativar o log no nível de depuração no servidor e no cliente Synergy e levá-lo a partir daí. Depois de resolver isso , implemente o acima.
Instruções detalhadas
Aumentando a prioridade do agendador do cliente Windows
Usando o Windows 7, não conheço os atalhos nas versões mais recentes.
Abra o Gerenciador de tarefas (Ctrl-Alt-Esc) e clique na guia Processos.
Clique com o botão direito do mouse em synergy.exe, clique em "Definir prioridade" e escolha Alto ou Realtime.
Repita o procedimento para synergyc.exe.
Se o servidor Synergy estiver muito lento, seu processo será synergys.exe.
Aumentando a prioridade do planejador de cliente Linux
Algo semelhante deve funcionar no Mac. Você pode saber como fazer isso na GUI, mas eu uso a linha de comando. A menos que você faça o seguinte como root ( sudo su -
), terá que brincar (como root) visudo
e configurar os direitos relevantes de uso renice
.
ps -eo pid,ni,cmd |\
grep synergy |\
grep -v grep |\
cut -d" " -f2 |\
while read pid; do echo -n $pid" "; done |\
xargs renice -19
Você pode copiar e colar o texto acima ou colocá-lo em uma linha removendo todos os \
caracteres e quebras de linha. Se você quiser ver o que será executado sem realmente fazê-lo, altere o último comando para xargs echo renice -19
.
Como afirmado acima, isso ainda está sob a visão do planejador sobre a importância de muitos outros processos. Se você quiser aprender um pouco, faça o seguinte.
Vendo processos do Windows
Abra o Gerenciador de tarefas. Na guia Processos, clique no botão "Mostrar processos de todos os usuários". Em seguida, clique no menu Exibir e em "Selecionar colunas ...". Verifique se apenas o seguinte está marcado: Nome do usuário, Uso da CPU, Tempo da CPU, Prioridade da base, Linha de comando. Você pode clicar em Descrição também, se desejar.
Você pode arrastar a janela e as colunas maiores para facilitar a leitura. Clique no cabeçalho de uma coluna para classificá-lo. Você também pode clicar com o botão direito do mouse no nome de uma imagem e, por exemplo, acessar os serviços associados. Isso é útil para nomes de imagens sem graça como svchost.exe. Se você deseja usar uma ferramenta realmente poderosa (tenha cuidado!), Tente o ProcessHacker .
Vendo processos Linux
Execute ps -eo pid,ni,cmd | less
para ver todos os processos em execução. Cada linha representa um status do processo e as colunas são: o ID do processo, sua prioridade e a linha de comando em questão. Um problema é que, no Unix, quanto menor o bom valor, maior a prioridade.
Conclusão
O fato é que o Synergy depende de muitos outros processos para fazer parte de seu trabalho (como lidar com o SSL no Pro), e cada um desses processos tem uma prioridade atribuída a ele pelo agendador do SO. Portanto, não há realmente uma solução simples.
Mesmo depois de aplicar a "correção" mencionada acima, muitas vezes as coisas ficam lentas depois de entrar na tela do cliente em que você não está há um tempo, e isso se deve a toda essa família de processos ser colocada em segundo plano, de modo a falar. Atualmente, a maioria dos agendadores é adaptável e diminui a prioridade dos processos do usuário que estão ociosos há algum tempo. Para o agendador vê-los como importantes novamente, é necessário um uso continuado por um tempo, como mover o mouse muito depois que você entra na tela. É uma dor, mas é assim que os agendadores de SO funcionam em sistemas operacionais não em tempo real.
Existem maneiras de ajustar isso, mas é muito específico para cada sistema operacional (mesmo versões diferentes) e frágil (leia-se: quebra facilmente nos patches do sistema operacional). Sem olhar para o código, espero que a Nick & team realmente resolva isso empurrando o Synergy para o nível do driver do kernel, o que tornaria o modo mais frágil e causaria um aumento significativo nos preços.