9

Обновление: они исправили Wi-Fi macOS на Synergy 1.9.0! https://symless.com/forums/topic/2587-download-synergy-190-to-fix-the-wifi-macos-bug/

Я использую synergy . Мой рабочий стол linux действует как сервер, а мой macbook подключается как клиент. Используя синергию, они оба подключены к маршрутизатору linksys WRT-45GL, оба используют проводное соединение.

Иногда, когда я впервые наведу курсор мыши на свой MacBook, соединение будет отставать. Например, я буду двигать мышь, но курсор не будет двигаться в течение 2 или 3 секунд. Или я что-то напишу, немного не покажется. Это случается время от времени. Обычно только в течение первой минуты или около того переключения на Mac, но не обязательно.

Что я могу сделать, чтобы это исправить?

Я попытался проверить загрузку процессора на обеих машинах и не видел всплеска, который бы соответствовал задержке. Я предполагаю, что узкое место находится в сетевом трафике, но я не знаю, как подтвердить это или как это исправить.

3 ответа3

3

У меня была такая же проблема всего секунду назад, я попробовал все другие исправления (кроме Ethernet для моего Mac).

На главном компьютере (Windows), откройте Диспетчер задач (Ctrl+Shift+Esc), а затем нажмите на вкладке Сведения в верхней, а затем искать synergy.exe synergyd.exe synergys.exe , а затем щелкните правой кнопкой мыши на них и в подменю с установленным приоритетом выберите High .

3

Ну, вы знаете, что это не может быть уровень 2, если подключены только два устройства (таблица Mac НЕ МОЖЕТ заполниться). Если у вас есть статические отображения хостов, это не может быть третий уровень. Это оставляет пропускную способность, коллизии и программное обеспечение. Wireshark может рассказать вам о пропускной способности и иногда может указывать на коллизии. Я бы бросил какой-нибудь дешевый аппаратный блок посередине, в котором есть журналы для обнаружения коллизий, чтобы проверить это. Тогда вы до приложения.

3

Предпосылки и план решения

Это немного долго, но смысл в том, чтобы обучаться через раздел «Подробные инструкции». Если вы уже образованы, просто прочитайте этот раздел и, возможно, заключение ;-)

Я использую Synergy для Linux и Windows в различных формах с 1990-х годов, и этот вопрос часто возникает. Есть две общие причины, и я имею дело только с первой.

Как правило, это проблема уровня ОС, являющаяся приоритетом планировщика клиента, поэтому решение состоит в том, чтобы просто повысить приоритет клиента. Это улучшит ситуацию, но общий опыт будет по-прежнему основываться на представлениях планировщика о том, насколько важно обновить экран и т.д. Более подробную информацию см. В конце.

Иногда есть другая причина: один или оба серверных или клиентских процесса умирают и перезапускаются, и в этом случае вы должны включить ведение журнала уровня отладки на сервере и клиенте Synergy и забрать его оттуда. После того, как вы решите это, реализуйте вышеизложенное.

Подробные инструкции

Увеличение приоритета планировщика клиента Windows

Используя Windows 7, я не знаю ярлыков в более новых версиях.

  1. Откройте диспетчер задач (Ctrl-Alt-Esc) и щелкните вкладку "Процессы".

  2. Щелкните правой кнопкой мыши файл synergy.exe, выберите "Установить приоритет" и выберите "Высокий" или "В реальном времени".

  3. Повторите для synergyc.exe.

  4. Если сервер Synergy работает слишком медленно, его процесс - synergys.exe.

Увеличение приоритета планировщика клиента Linux

Нечто подобное должно работать на Mac. Вы можете знать, как это сделать в графическом интерфейсе, но я использую командную строку. Если вы не выполните следующие действия в качестве пользователя root (sudo su -), вам придется поиграться (как пользователь root) с visudo и настроить соответствующие права на использование 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

Вы можете скопировать и вставить вышеупомянутое, или поместить его в одну строку, удалив все символы \ и разрыва строки. Если вы хотите увидеть, что будет запущено без фактического выполнения, измените последнюю команду на xargs echo renice -19 .

Как указывалось выше, это все еще остается за мнением планировщика о важности множества других процессов. Если вы хотите немного узнать, вы можете сделать следующее.

Видя процессы Windows

Откройте диспетчер задач. На вкладке "Процессы" нажмите кнопку "Показать процессы всех пользователей". Затем нажмите в меню "Вид" и выберите «Выбрать столбцы ...». Убедитесь, что отмечены только следующие параметры: имя пользователя, загрузка ЦП, время ЦП, базовый приоритет, командная строка. Вы также можете нажать на Описание, если хотите.

Вы можете перетащить окно, а также столбцы больше, чтобы облегчить чтение. Нажмите на заголовок столбца, чтобы отсортировать его. Вы также можете щелкнуть правой кнопкой мыши на имени изображения и, например, перейти к связанным службам. Это полезно для таких простых имен изображений, как svchost.exe. Если вам нужен действительно мощный инструмент для игры (будьте осторожны!), Попробуйте ProcessHacker.

Видя процессы Linux

Выполнить ps -eo pid,ni,cmd | less чтобы увидеть все запущенные процессы. Каждая строка представляет состояние процесса, а столбцы: идентификатор процесса, его приоритет и рассматриваемая командная строка. Суть в том, что в Unix чем ниже значение nice, тем выше приоритет.

Заключение

Дело в том, что Synergy зависит от множества других процессов, выполняющих часть своей работы (например, работа с SSL в Pro), и каждый из этих процессов имеет приоритет, назначенный ему планировщиком ОС. Таким образом, на самом деле не существует простого решения.

Даже после применения "исправления", о котором говорилось выше, после входа на экран клиента, на котором вы давно не работали, дела идут медленно, и это происходит из-за того, что все это семейство процессов перенесено на задний план планировщика, так что говорить. В наши дни большинство планировщиков являются адаптивными и уменьшают приоритет пользовательских процессов, которые некоторое время простаивали. Чтобы планировщик снова увидел их важными, необходимо некоторое время продолжать их использование, например, много раз перемещать мышь после выхода на экран. Это боль, но именно так работают планировщики ОС в операционных системах не реального времени.

Есть способы настроить это, но это очень специфично для каждой ОС (даже разных выпусков) и хрупко (читай: легко ломается при исправлениях ОС). Не глядя на код, я ожидаю, что Nick & team действительно решит эту проблему, только опустив Synergy до уровня драйвера ядра, что сделает его более хрупким и приведет к значительному скачку цен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .