Фон та контур рішення
Це небагато часу, але справа в тому, щоб дізнатися через розділ "Детальні інструкції". Якщо ви вже отримали освіту, просто прочитайте цей розділ і, можливо, висновок ;-)
Я використовую Synergy на Linux і Windows у різних її формах з 1990-х, і це питання виникає часто. Є дві загальні причини, і я тут маю справу лише з першою.
Як правило, це проблема на рівні ОС, яка є пріоритетом для планувальника клієнта, тому рішення - просто збільшити пріоритет клієнта. Це поліпшить питання, але загальний досвід все ще базуватиметься на поглядах планувальника на те, як важливо оновити екран тощо. Більше про це див. У кінці.
Іноді є й інша причина: один або обидва сервери чи клієнтські процеси вмирають і перезапускаються, і в цьому випадку вам слід включити реєстрацію рівня налагодження на сервері Synergy та клієнті та взяти його звідти. Як тільки ви вирішите це , виконайте вищесказане.
Детальні інструкції
Збільшення пріоритету клієнтського планувальника Windows
Використовуючи Windows 7, я не знаю ярликів у нових версіях.
Відкрийте диспетчер завдань (Ctrl-Alt-Esc) і натисніть на вкладку Процеси.
Клацніть правою кнопкою миші на synergy.exe, натисніть «Встановити пріоритет» та виберіть «Високий» або «Реальний час».
Повторіть для synergyc.exe.
Якщо сервер 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 & Real дійсно вирішить це лише натиснувши Synergy до рівня драйвера ядра, що зробить її більш крихкою та спричинить значний стрибок цін.