Synergy — программный IP-KVM, который смог

Вступление


В первую очередь надо сказать, что этот продукт уже фигурировал на ресурсах ТМ в этой статье от 2008 года. Однако по прошествии примерно 7 лет картинки потерялись и материал кажется несколько устаревшим.

Этой же публикацией я постараюсь обновить краткий мануал, раскрыть некоторые моменты, оставшиеся «за кадром», да и просто популяризовать отличное решение, которое незаслуженно страдает от недостатка внимания.

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

В 1996 году инженеры Cosmo Software Ричард Ли и Адам Федер решают проблему одновременной работы со станциями Irix и Windows, но руководство отказывается выделять внутреннюю разработку в отдельный продукт. Такая недальновидность оказалась симптоматичной и через некоторое время компания закрылась.

Но удачное решение продолжило свою жизнь, хотя к 2006 году оказалось в замороженном состоянии. С целью устранения багов и дальнейшего развития, в 2009 году Сорин Сбарнэ форкнул проект в Synergy+, куда позже влился Ник Болтон, который провел слияние Synergy+ с материнской веткой и в данный момент является CEO Synergy Si, занимаясь проектом уже на постоянной основе.


Что это такое?


Итак, Synergy — это программный KVM (network-based), который позволяет объединить управление двумя и более ПК в одном комплекте мышь-клавиатура. Предельно просто принцип работы отражен на заглавной картинке офицального сайта:

image

Пользователь просто передвигает мышь к краю экрана (либо углу, либо жмет на заданную комбинацию клавиш) и курсор чудесным образом появляется на другом мониторе, подключенном к совершенно другому ПК. Курсор можно не только перемещать, но еще и перетягивать файлы с одного ПК на другой. Круто, да?

Естественно, это требует от ПО определенного уровня отзывчивости и совместимости, поэтому для разработки используется C/C++.

Есть версии для Windows, Linux, Mac OS X, на GitHub есть даже порты для Android, Haiku и иных ОС.

Где взять?


Повторюсь, ПО готово к использованию в любой распространенной ОС, я же буду продолжать знакомство в контексте использования debian-like дистрибутива. Итак, сегодня в репозиториях Debian находится несколько устаревшая версия 1.4.16, которую не удастся использовать с актуальными на сегодняшний день 1.7.x / 1.8.x из-за смены протокола, потому воспользуемся одним из вариантов:

— Скачать (купив лицензию) с официального сайта — synergy-project.org

— Скачать доступные без регистрации ночные сборки — synergy-project.org/nightly

— Скачать и собрать своим руками, взяв код на GitHub — github.com/synergy

Для ознакомления удобней всего взять одну из ночных сборок ветки «stable». Шаг установки позволю себе пропустить, так как никаких подводных камней здесь нет.

Как пользоваться


Все достаточно просто, окно приветствия при первом запуске сразу предложит нам выбрать роль текущего ПК — сервер (с клавиатурой и мышью) или клиент (без оных):

Окно приветствия

Далее предложено будет настроить шифрование и пароль, но для домашней сети я отключил его.

И, наконец, определяем расположение ПК друг относительно друга в пространстве, например:

Настройка расположения

Все готово! Теперь остается только нажать «Start» и сервер войдет в режим ожидания подключений:

Все готово к использованию

Для клиента, скорее всего, никаких настроек производить не потребуется, достаточно будет в таком же окне указать IP сервера и нажать на «Start».

А еще для настройки можно воспользоваться утилитой QuickSynergy, которая предельно проста и вполне достаточна для начальной настройки.

Хорошо, как это будет выглядеть?


Вот наиболее наглядная демонстрация использования Synergy, что мне довелось наблюдать:



… но и оно несколько неполное, ведь есть еще drag-n-drop перемещение файлов!

Надо ли платить?


Не обязательно. Продукт выпускается под GPL второй редакции, так что пользоваться им «как есть» вы можете совершенно бесплатно, а для желающих помочь разработке или получить некоторый дополнительный сервис предусмотрены следующие варианты лицензирования:

— Базовая лицензия (10$ на момент написания статьи) подразумевает поддержку со стороны разработчиков, если речь идет о каком-то сильно индивидуальном баге.

— Профессиональная лицензия (29$ на момент написания статьи) включает в себя SSL и прямую телефонную поддержку от разработчиков.

Есть еще Enterprise-версия, которая включает в себя работу разработчиков над фичами, которые запросит именно Ваша компания, она начинается для тех, кто разворачивает Synergy на парке из 100 и более машин.

Личные впечатления


— Воткнув мышь и клавиатуру в Raspberry Pi 2, работающий круглосуточно, я полностью отказался от них на основном ПК и медиа-приставке. А это 1 комплект устройств ввода вместо 3, что очень экономит место.

— Удивительная отзывчивость! Играть на ПК-клиенте в заведомо требовательные к скорости реакции игры (CS, Dota) вполне комфортно, какую-либо задержку ввода мне уловить не удалось.

— Возможность использовать на любой ОС «большой тройки». Лично мне не довелось испробовать Synergy на Mac, но связка Linux — Windows в любом порядке работала без нареканий.

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

Благодарю за внимание.
Ads
AdBlock has stolen the banner, but banners are not teeth — they will be back

More

Comments 19

    0
    Завалялись у меня 10 промо-кодов для этой чудесной программки, пишите в личку, может они ещё активные.
      0
      Я не совсем понимаю для чего нужны промо-коды раз она бесплатная?
        0
        В процессе перевода наблюдал такой абзац:

        To say thanks to those who have donated, we came up with Synergy Premium, which gives you the right to vote on what we work on next, as well as a sneak peek at the next experimental features, and access to phone and email troubleshooting. Thats right, you can call us and speak to us for a dollar… no we're not crazy.

        То есть, если я верно понял, о каких промо-кодах говорит madhead, то Вы сможете бесплатно рассчитывать на полную техническую поддержку от разработчиков.
      0
      У меня давно работает связка OSX, WIn, Linux. Никаких проблем.
        0
        Пользуюсь synergy давно в связке Linux\Windows очень удобно, единственное есть один баг, может кто сталкивался и решал: Сервер на Linux, клиент Windows при этом на клиенте есть зажав правую кнопку мышь вращать камеру в 3D редакторах, то происходит какая-то инверсия и вращение происходит в другие стороны.
        Знает ли кто можно ли для synergys писать макросы, чтобы на определенные кнопки выполнялись нужные комбинации клавиатуры на клиенте?
          0
          Сталкивался только с не вполне понятным поведением мыши в Dota при вызове колеса с быстрыми репликами (двигается, куда надо, но потом вроде как отцентровывается), но списал на конкретную реализацию фичи в игре.

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

          Не стесняйтесь репортить о багах и предлагать новые фичи прямо на github или форуме. Из подобных запросов нашел обратную передачу — #4505, с клиента на сервер. Попробуйте отметиться в issue, уточнив свое пожелание.
            0
            Спасибо отписал в issue в поддержку этого функционала!
          0
          Экономия мышей и клавиатур — это плюс, большой. Но вот отсутствии экономии мониторов — это жирный минус. Поэтому лично я использую аппаратную KVM-ку.
            0
            У Synergy и обычным KVM совсем разные задачи. Лично для меня Synergy мало применим, т.к. сижу за одним кампом на нескольких мониторах, разворачивая терминалы там и там. При том к одному из дисплев как раз подключен обычный KVM для ремонта компов.
            0
            Вот Спасибо! Все пытался найти-вспомнить, что за продукт, который позволяет мышь с монитора на монитор, на разных компьютерах двигать. )
              0
              Ночная сборка если имеет баги, куда писать?
              У меня на 2х x64 win (Сервер 8.1 — клиент 7) буквы не печатаются. Цифры — да. Буквы — нет.
              synergy-v1.7.4-stable-rc3-8da1b4f-Windows-x64.msi
              July 28, 2015 21:55
                0
                А пробовали другую версию? У меня одна из nightly вообще не собиралась, хотя тоже была из стейбл ветки. На другой версии все было хорошо.

                Все баги можно репортить прямо на github: github.com/synergy/synergy/issues
                Ничего похожего найти не удалось, так что можно сразу создавать новую issue, полагаю.
                  0
                  Другую версию еще не пробовал. Спасибо за ссылку и мысль
                  0
                  Нашел!!! Дело в раскладке клавиатуры на стороне машины Сервер!
                  То есть сначала надо на ней язык переключить, а потом можно на Клиенте делать…
                  Во как!!!
                  Правда сейчас обе машины Win 7 x64, а версия synergy-v1.7.6-rc3-51705f7-Windows-x64.msi от 4 января 2016
                0
                Раньше в автозапуске стояла… Но сейчас отказался. Причина проста:
                «Дальше — больше. Сделал управление вертолётом и оказалось, что при нажатии на кнопку и движении мышью Qt начинает адски тормозить.

                Я, как любой разумный программист, грешил на себя… Переписал внутреннюю систему обработки сообщений. Сделал проверку на дублирование сообщений… И это не помогло.

                Ладно, я отказался от обычной системы сообщений и сделал считывание состояния клавиатуры и мышки… И это не помогло.

                Я полностью отключил систему ввода в своём движке… И всё равно получил фризы. Сделал хук WH_GETMESSAGE на все сообщения, касающиеся ввода, с перехватом и отменой всех сообщений… Это не помогло. Ничего не осталось, кроме как исследовать систему вне моей среды разработки.

                Разгадка оказалась простой… Я потратил три часа, исправляя баг, которого нет… Это Synergy тормозила, если зажимать несколько кнопок одновременно. Убрал Synergy и всё стало плавненько и аккуратненько.»
                habrahabr.ru/post/252267
                  0
                  Synergy тормозила, если зажимать несколько кнопок одновременно

                  Попробовал зажимать разные клавиши и двигать мышью — воспрозвести не получилось. Если поделитесь точными версиями ОС и Synergy — попробую еще.

                  К слову, не уточните, для каких задач использовали и на какую альтернативу перешли?
                    0
                    Это проявилось только в моем проекте. Наверно если какую нибудь другую игру запустить — тоже будет видно, но я не проверял. Точными данными по версии не поделюсь — это было несколько месяцев назад. Windows 8.1
                    Использовал не постоянно, если вдруг надо какой-нибудь ноут настраивать или компьютер, то подрубал Synergy чтобы не плодить мышки с клавами.
                    Альтернативу не искал и не планирую. Synergy вполне устраивает. Просто убрал ее из автозагрузки.
                  0
                  Обычно IP-KVM подразумевает возможность ООВ-управления. Я правильно понимаю, что Synergy, по сути своей, сильно от прочих терминальных решений не отличается? То есть это просто ещё одна софтина, которая умеет стримить ввод-вывод по сети?
                    0
                    Да, рулить упавшим сервером в удаленном ДЦ не получится. В целом само ПО позиционируется в первую очередь для использования в рамках рабочего места.

                    Спасибо за замечание. Очевидно, мой косяк, в процессе написания статьи потерял важное в этом контексте словосочетание «network-based». Добавил уточнение в текст.

                  Only users with full accounts can post comments. Log in, please.