Lorsque vous utilisez la synergie, il est parfois en retard

9

Mise à jour: Ils ont corrigé le décalage wifi macOS sur Synergy 1.9.0! https://symless.com/forums/topic/2587-download-synergy-190-to-fix-the-wifi-macos-bug/

J'utilise synergy. Mon bureau Linux agit comme serveur et mon macbook se connecte en tant que client. Tout en utilisant la synergie, ils sont tous deux connectés à un routeur linksys WRT-45GL, les deux utilisant une connexion filaire.

Parfois, lorsque je passe la souris sur mon macbook pour la première fois, la connexion est en retard. Par exemple, je déplacerai la souris mais le curseur ne bougera pas pendant 2 ou 3 secondes. Ou je tape quelque chose, ça n'apparaîtra pas un instant. Cela arrive sporadiquement. Généralement uniquement pendant la première minute de passage au mac, mais pas nécessairement.

Que puis-je faire pour résoudre ce problème?

J'ai essayé de vérifier l'utilisation du processeur sur les deux machines, et je n'ai pas vu de pic correspondant au décalage. Je suppose que le goulot d'étranglement est dans le trafic réseau, mais je ne sais pas comment le confirmer ou comment le corriger.

David Oneill
la source
2
Avez-vous essayé d'inverser les rôles des machines pour voir si cela reproduit le comportement? Ensuite, vous excluez au moins quelques options.
Je ne l'ai pas, bien que ce ne soit pas une option: utiliser le mac comme client rend les clés visqueuses sur le bureau (qui est ma machine principale), je vais essayer quand j'en aurai l'occasion, cependant ...
David Oneill
Avez-vous résolu cela? La réponse acceptée est simplement des conseils de dépannage. Quelle a été la cause / solution pour vous?
Albert Bori
@AlbertBori wow - c'était il y a 4 ans. Cela ne se produit pas à ce stade pour moi, mais j'ai de nouvelles installations de système d'exploitation et un ordinateur de bureau différent depuis lors ... Je ne me souviens pas du problème. Désolé
David Oneill
1
Pas de soucis, David. C'était le seul message que j'ai pu trouver qui discutait du problème que j'avais. Il s'avère qu'une certaine forme de redémarrage des services / ordinateurs impliqués résout généralement le problème.
Albert Bori

Réponses:

3

Eh bien, vous savez que ce ne peut pas être la couche 2 si seulement deux appareils sont connectés (la table mac NE PEUT PAS se remplir). Si vous avez des mappages d'hôtes statiques, il ne peut pas s'agir de la couche trois. Cela laisse de la bande passante, des collisions et des logiciels. Wireshark peut vous renseigner sur la bande passante et peut parfois indiquer des collisions. Je laisserais tomber un morceau de matériel bon marché au milieu qui a la journalisation des collisions disponible pour vérifier cela. Ensuite, vous en êtes à l'application.

RobotHumains
la source
1
Cela a été corrigé! Nous avons corrigé le décalage wifi macOS sur Synergy 1.9.0! symless.com/forums/topic/…
Nick Bolton
@NickBolton Ce n'est pas résolu pour beaucoup d'utilisateurs, voir symless.com/forums/topic/… De plus, la version 1.9.0 se bloque au démarrage pour moi et pour d'autres personnes.
PabloC
3

J'ai eu le même problème il y a juste une seconde, j'ai essayé toutes les autres corrections (autres que Ethernet pour mon mac).

Sur le PC hôte (Windows), allez au Gestionnaire des tâches (Ctrl + Maj + Echap), puis cliquez sur l'onglet Détails sur le dessus, puis recherchez synergy.exe, synergyd.exe, synergys.exepuis faites un clic droit sur eux et dans le sous - menu prioritaire set choisir High.

Dylan Larsen
la source
n'a pas fonctionné :( D'autres idées?
DrCord
3

Contexte et aperçu de la solution

C'est un peu long, mais le but est d'éduquer via la section Instructions détaillées. Si vous êtes déjà éduqué, lisez simplement cette section et éventuellement la conclusion ;-)

J'utilise Synergy sous Linux et Windows sous ses diverses formes depuis les années 1990, et cette question revient souvent. Il y a deux causes communes, et je ne traite ici que de la première.

C'est généralement un problème au niveau du système d'exploitation, étant la priorité du planificateur du client, la solution consiste donc simplement à augmenter la priorité du client. Cela améliorera les choses, mais l'expérience globale sera toujours basée sur les vues du planificateur sur l'importance de mettre à jour l'écran, etc. Voir à la fin pour plus d'informations.

Parfois, il y a une autre raison: l'un ou les deux processus serveur ou client meurent et sont redémarrés, auquel cas vous devez activer la journalisation au niveau du débogage sur le serveur et le client Synergy, et la reprendre à partir de là. Une fois que vous avez résolu cela , implémentez ce qui précède.

Des instructions détaillées

Augmentation de la priorité du planificateur client Windows

Sous Windows 7, je ne connais pas les raccourcis des versions plus récentes.

  1. Ouvrez le Gestionnaire des tâches (Ctrl-Alt-Esc) et cliquez sur l'onglet Processus.

  2. Cliquez avec le bouton droit sur synergy.exe, cliquez sur "Définir la priorité", puis choisissez Élevé ou Temps réel.

  3. Répétez l'opération pour synergyc.exe.

  4. Si le serveur Synergy est trop lent, son processus est synergys.exe.

Augmentation de la priorité du planificateur client Linux

Quelque chose de similaire devrait fonctionner sur Mac. Vous savez peut-être comment faire cela dans l'interface graphique, mais j'utilise la ligne de commande. À moins que vous ne fassiez ce qui suit en tant que root ( sudo su -), vous devrez jouer (en tant que root) avec visudoet configurer les droits appropriés à utiliser 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

Vous pouvez copier et coller ce qui précède, ou le mettre sur une seule ligne en supprimant tous les caractères \et les sauts de ligne. Si vous voulez voir ce qui sera exécuté sans le faire, remplacez la dernière commande par xargs echo renice -19.

Comme indiqué ci-dessus, c'est toujours à la demande de l'ordonnanceur sur l'importance de beaucoup d'autres processus. Si vous voulez en apprendre un peu, vous pouvez procéder comme suit.

Voir les processus Windows

Ouvrez le Gestionnaire des tâches. Dans l'onglet Processus, cliquez sur le bouton "Afficher les processus de tous les utilisateurs". Cliquez ensuite sur le menu Affichage, puis sur "Sélectionner les colonnes ...". Assurez-vous que seuls les éléments suivants sont cochés: nom d'utilisateur, utilisation du processeur, temps du processeur, priorité de base, ligne de commande. Vous pouvez également cliquer sur Description si vous le souhaitez.

Vous pouvez faire glisser la fenêtre ainsi que des colonnes plus grandes pour faciliter la lecture. Cliquez sur un en-tête de colonne pour le trier. Vous pouvez également cliquer avec le bouton droit sur un nom d'image et, par exemple, accéder aux services associés. Ceci est utile pour des noms d'images fades tels que svchost.exe. Si vous voulez jouer avec un outil vraiment puissant (attention!), Essayez ProcessHacker .

Voir les processus Linux

Exécutez ps -eo pid,ni,cmd | lesspour voir tous les processus en cours d'exécution. Chaque ligne représente un état de processus, et les colonnes sont: l'ID de processus, sa priorité et la ligne de commande en question. Un piège est que sous Unix, plus la valeur de Nice est basse, plus la priorité est élevée.

Conclusion

Le fait est que Synergy dépend de beaucoup d'autres processus pour effectuer une partie de son travail (comme le traitement du SSL dans Pro), et chacun de ces processus a une priorité qui lui est attribuée par le planificateur du système d'exploitation. Il n'y a donc vraiment pas de solution simple.

Même après avoir appliqué le «correctif» mentionné ci-dessus, les choses sont souvent lentes après être entrées dans un écran client où vous ne l'avez pas été depuis un certain temps, et cela est dû à toute cette famille de processus mis sur le brûleur arrière du planificateur, donc pour parler. La plupart des planificateurs de nos jours sont adaptatifs et diminuent la priorité des processus utilisateur qui sont inactifs depuis un certain temps. Pour que l'ordonnanceur les considère à nouveau comme importants, il faut continuer à les utiliser pendant un certain temps, par exemple en déplaçant beaucoup la souris après avoir ouvert l'écran. C'est une douleur, mais c'est ainsi que les planificateurs de système d'exploitation fonctionnent dans les systèmes d'exploitation en temps non réel.

Il existe des moyens de modifier cela, mais il est très spécifique à chaque système d'exploitation (même les différentes versions) et fragile (lire: casse facilement lors des correctifs du système d'exploitation). Sans regarder le code, je m'attends à ce que Nick et l'équipe ne résolvent vraiment cela qu'en poussant Synergy au niveau du pilote du noyau, ce qui le rendrait beaucoup plus fragile et provoquerait une augmentation de prix significative.

b3ta
la source